[
  {
    "path": ".gitignore",
    "content": "*.obj\n*.o\n*.d\n*.lib\n*.a\n*.elf\n*.err\n*.hex\n*.exe\n*.EXE\n*.map\n*.dep\n*.pdf\n*.PDF\n*.Hbp\n*.nav\n*.tps\n*.tws\n*.tmp\n*.log\n*.chm\n*.zip\n*.pdb\n*.ncb\n*.suo\n*.chw\n*.sfr\n*.ewt\n*.user\n*.avrsuo\n*.Debug\n*.Release\nlint*.txt\n*.Miro\n*.bak\n*.qlc\nJLink*.*\nversion-*\nmetrics.dox\n\nhtml/\ntest_priv/\ndbg/\nrel/\nspy/\nbuild/\nbuild_rel/\nbuild_spy/\nsettings/\n.settings/\ntargetConfigs/\n\nDebug/\nRelease/\n\nlib/\nobj/\noutput/\n"
  },
  {
    "path": ".gitmodules",
    "content": "[submodule \"3rd_party\"]\n\tpath = 3rd_party\n\turl = https://github.com/QuantumLeaps/3rd_party-qpn.git\n"
  },
  {
    "path": "GPLv3.txt",
    "content": "                    GNU GENERAL PUBLIC LICENSE\n                       Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n                            Preamble\n\n  The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n  The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works.  By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users.  We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors.  You can apply it to\nyour programs, too.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n  To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights.  Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n  For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received.  You must make sure that they, too, receive\nor can get the source code.  And you must show them these terms so they\nknow their rights.\n\n  Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n  For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software.  For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n  Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so.  This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software.  The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable.  Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts.  If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n  Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary.  To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n                       TERMS AND CONDITIONS\n\n  0. Definitions.\n\n  \"This License\" refers to version 3 of the GNU General Public License.\n\n  \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n  \"The Program\" refers to any copyrightable work licensed under this\nLicense.  Each licensee is addressed as \"you\".  \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n  To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy.  The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n  A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n  To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy.  Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n  To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies.  Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n  An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License.  If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n  1. Source Code.\n\n  The \"source code\" for a work means the preferred form of the work\nfor making modifications to it.  \"Object code\" means any non-source\nform of a work.\n\n  A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n  The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form.  A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n  The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities.  However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work.  For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n  The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n  The Corresponding Source for a work in source code form is that\nsame work.\n\n  2. Basic Permissions.\n\n  All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met.  This License explicitly affirms your unlimited\npermission to run the unmodified Program.  The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work.  This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n  You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force.  You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright.  Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n  Conveying under any other circumstances is permitted solely under\nthe conditions stated below.  Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n  3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n  No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n  When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n  4. Conveying Verbatim Copies.\n\n  You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n  You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n  5. Conveying Modified Source Versions.\n\n  You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n    a) The work must carry prominent notices stating that you modified\n    it, and giving a relevant date.\n\n    b) The work must carry prominent notices stating that it is\n    released under this License and any conditions added under section\n    7.  This requirement modifies the requirement in section 4 to\n    \"keep intact all notices\".\n\n    c) You must license the entire work, as a whole, under this\n    License to anyone who comes into possession of a copy.  This\n    License will therefore apply, along with any applicable section 7\n    additional terms, to the whole of the work, and all its parts,\n    regardless of how they are packaged.  This License gives no\n    permission to license the work in any other way, but it does not\n    invalidate such permission if you have separately received it.\n\n    d) If the work has interactive user interfaces, each must display\n    Appropriate Legal Notices; however, if the Program has interactive\n    interfaces that do not display Appropriate Legal Notices, your\n    work need not make them do so.\n\n  A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit.  Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n  6. Conveying Non-Source Forms.\n\n  You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n    a) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by the\n    Corresponding Source fixed on a durable physical medium\n    customarily used for software interchange.\n\n    b) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by a\n    written offer, valid for at least three years and valid for as\n    long as you offer spare parts or customer support for that product\n    model, to give anyone who possesses the object code either (1) a\n    copy of the Corresponding Source for all the software in the\n    product that is covered by this License, on a durable physical\n    medium customarily used for software interchange, for a price no\n    more than your reasonable cost of physically performing this\n    conveying of source, or (2) access to copy the\n    Corresponding Source from a network server at no charge.\n\n    c) Convey individual copies of the object code with a copy of the\n    written offer to provide the Corresponding Source.  This\n    alternative is allowed only occasionally and noncommercially, and\n    only if you received the object code with such an offer, in accord\n    with subsection 6b.\n\n    d) Convey the object code by offering access from a designated\n    place (gratis or for a charge), and offer equivalent access to the\n    Corresponding Source in the same way through the same place at no\n    further charge.  You need not require recipients to copy the\n    Corresponding Source along with the object code.  If the place to\n    copy the object code is a network server, the Corresponding Source\n    may be on a different server (operated by you or a third party)\n    that supports equivalent copying facilities, provided you maintain\n    clear directions next to the object code saying where to find the\n    Corresponding Source.  Regardless of what server hosts the\n    Corresponding Source, you remain obligated to ensure that it is\n    available for as long as needed to satisfy these requirements.\n\n    e) Convey the object code using peer-to-peer transmission, provided\n    you inform other peers where the object code and Corresponding\n    Source of the work are being offered to the general public at no\n    charge under subsection 6d.\n\n  A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n  A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling.  In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage.  For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product.  A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n  \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source.  The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n  If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information.  But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n  The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed.  Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n  Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n  7. Additional Terms.\n\n  \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law.  If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n  When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit.  (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.)  You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n  Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n    a) Disclaiming warranty or limiting liability differently from the\n    terms of sections 15 and 16 of this License; or\n\n    b) Requiring preservation of specified reasonable legal notices or\n    author attributions in that material or in the Appropriate Legal\n    Notices displayed by works containing it; or\n\n    c) Prohibiting misrepresentation of the origin of that material, or\n    requiring that modified versions of such material be marked in\n    reasonable ways as different from the original version; or\n\n    d) Limiting the use for publicity purposes of names of licensors or\n    authors of the material; or\n\n    e) Declining to grant rights under trademark law for use of some\n    trade names, trademarks, or service marks; or\n\n    f) Requiring indemnification of licensors and authors of that\n    material by anyone who conveys the material (or modified versions of\n    it) with contractual assumptions of liability to the recipient, for\n    any liability that these contractual assumptions directly impose on\n    those licensors and authors.\n\n  All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10.  If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term.  If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n  If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n  Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n  8. Termination.\n\n  You may not propagate or modify a covered work except as expressly\nprovided under this License.  Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n  However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n  Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n  Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License.  If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n  9. Acceptance Not Required for Having Copies.\n\n  You are not required to accept this License in order to receive or\nrun a copy of the Program.  Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance.  However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work.  These actions infringe copyright if you do\nnot accept this License.  Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n  10. Automatic Licensing of Downstream Recipients.\n\n  Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License.  You are not responsible\nfor enforcing compliance by third parties with this License.\n\n  An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations.  If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n  You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License.  For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n  11. Patents.\n\n  A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based.  The\nwork thus licensed is called the contributor's \"contributor version\".\n\n  A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version.  For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n  Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n  In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement).  To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n  If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients.  \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n  If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n  A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License.  You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n  Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n  12. No Surrender of Others' Freedom.\n\n  If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all.  For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n  13. Use with the GNU Affero General Public License.\n\n  Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work.  The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n  14. Revised Versions of this License.\n\n  The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time.  Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n  Each version is given a distinguishing version number.  If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation.  If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n  If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n  Later license versions may give you additional or different\npermissions.  However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n  15. Disclaimer of Warranty.\n\n  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n  16. Limitation of Liability.\n\n  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n  17. Interpretation of Sections 15 and 16.\n\n  If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n                     END OF TERMS AND CONDITIONS\n\n            How to Apply These Terms to Your New Programs\n\n  If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n  To do so, attach the following notices to the program.  It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n    <one line to give the program's name and a brief idea of what it does.>\n    Copyright (C) <year>  <name of author>\n\n    This program is free software: you can redistribute it and/or modify\n    it under the terms of the GNU General Public License as published by\n    the Free Software Foundation, either version 3 of the License, or\n    (at your option) any later version.\n\n    This program is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU General Public License for more details.\n\n    You should have received a copy of the GNU General Public License\n    along with this program.  If not, see <http://www.gnu.org/licenses/>.\n\nAlso add information on how to contact you by electronic and paper mail.\n\n  If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n    <program>  Copyright (C) <year>  <name of author>\n    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n    This is free software, and you are welcome to redistribute it\n    under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License.  Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n  You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n<http://www.gnu.org/licenses/>.\n\n  The GNU General Public License does not permit incorporating your program\ninto proprietary programs.  If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library.  If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License.  But first, please read\n<http://www.gnu.org/philosophy/why-not-lgpl.html>.\n"
  },
  {
    "path": "LICENSE.txt",
    "content": "The QP-nano Real-Time Embedded Framework (RTEF) is licensed under the\ndual-licensing model, in which both the open source and traditional\nclosed source software distribution models are combined. For more\ninformation, please see:\n\nhttps://www.state-machine.com/licensing\n\n****\nNOTE: If your company has a policy forbidding open source in your\nproduct, all QP frameworks can be licensed commercially, in which\ncase you don't use any open source license and you do not violate\nyour policy.\n****\n\nContact Information:\n====================\n- https://www.state-machine.com\n- mailto:info@state-machine.com\n"
  },
  {
    "path": "README.md",
    "content": "![QP-nano framework](https://www.state-machine.com/img/qpn_banner.jpg)\n\n---------------------------------------------------------------------------\n# What's New?\n\n**NOTE:** QP-nano has been **discontinued** from active development\nand support and is **not recommended** for new designs. This QP-nano\nrepository is preserved for the existing user base.\n\n\n**LICENSING:** If you are interested in commercial licensing QP-nano,\nplease refer to section [QP-nano Licensing](#qp-nano-licensing).\n\n\n**QM Tool Compatibility:** The last QM version that supports code\ngeneration for QP-nano is\n[QM 5.2.3 released on 2022-11-18](https://www.state-machine.com/qm/history.html#qm_5_2_3).\nNewer QM versions no longer support QP-nano.\n\n\n# Documentation\nThe offline HTML documentation for **this** particular version of QP-nano\nis located in the folder html/. To view the offline documentation, open\nthe file html/index.html in your web browser.\n\nThe online HTML documention for the **latest** version of QP-nano is located\nat: https://www.state-machine.com/qpn/\n\n\n# About QP-nano\nQP-nano (Quantum Platform Nano) is an ultra-lightweight, open source\n[Real-Time Embedded Framework (RTEF)][RTEF] for building modern embedded\nsoftware as systems of asynchronous, event-driven [active objects][Active]\n(actors). The [QP-nano] framework is a member of a larger [QP] family\nconsisting of [QP/C], [QP/C++], and [QP-nano] frameworks, which are all\nstrictly quality controlled, thoroughly documented, and [commercially\nlicensable][Lic].\n\n## Safer Model of Concurrency\nThe [QP] framework family is based on the [Active Object][Active] (**actor**)\ndesign pattern, which inherently supports and automatically enforces the\nfollowing best practices of concurrent programming:\n\n- Keep data isolated and bound to active objects' threads. Threads should\nhide (**encapsulate**) their private data and other resources, and not\nshare them with the rest of the system.\n\n- Communicate among active object threads **asynchronously** via event\nobjects. Using asynchronous events keeps the threads running truly\nindependently, **without blocking** on each other.\n\n- Active object threads should spend their lifetime responding to incoming\nevents, so their mainline should consist of an **event-loop** that handles\nevents one at a time (to completion), thus avoiding any concurrency hazards\nwithin an active object thread itself.\n\nThis architecture is generally **safer**, more responsive and easier to\nunderstand and maintain than the shared-state concurrency of a conventional\nRTOS. It also provides higher level of abstraction and the *correct*\nabstractions to effectively apply **modeling** and **code generation** to\ndeeply embedded real-time systems.\n\n## Hierarchical State Machines\nThe behavior of active objects is specified in QP-nano by means of\n[Hierarchical State Machines][HSM] (UML statecharts). The framework\nsupports manual coding of UML state machines in C as well as automatic\n**code generation** by means of the free [QM modeling tool][QM].\n\n## Built-in Real-Time Kernels\nThe QP-nano framework can run on bare-metal single-chip microcontrollers,\ncompletely replacing a traditional \"superloop\" or an RTOS. The framework\ncontains a selection of **built-in real-time kernels**, such as the\ncooperative QV-nano kernel and the preemptive non-blocking QK-nano kernel.\nNative QP-nano ports and ready-to-use examples are provided for such CPUs\nMSP430, AVRmega, and ARM Cortex-M (M0/M0+/M3/M4).\n\n## Maturity\nWith 60,000 downloads a year, the [QP] family is the most popular such\nsolution on the embedded software market. It provides a modern, reusable\narchitecture for embedded applications, which combines the active-object\nmodel of concurrency with hierarchical state machines.\n\n\n# Getting Started with QP-nano\nThe [QP-nano Reference Manual](https://www.state-machine.com/qpn/) provides\ninstructions on how to download, install, and get started with QP-nano quickly.\n\nThe [AppNote: \"Getting Started with QP-nano\"][AN] contains also a tutorial,\nin which you build a simple \"Blinky\" application.\n\n\n# QP-nano Licensing\nQP-nano is licensed under the\n[dual licensing model](https://www.state-machine.com/licensing),\nin which both the open source software distribution mechanism and\ntraditional closed source software distribution models are combined.\n\n> **NOTE:** Even though QP-nano has been discontinued, Quantum Leaps will\ncontinue to provide commercial licenses for QP-nano to customers still\ninterested in deploying QP-nano in closed-source products. These commercial\nlicenses will NOT provide technical support and will be discounted accordingly.\n\n\n# QP-nano Documentation\nThe **QP-nano Manual** is located online at: https://www.state-machine.com/qpn\n\n\n# 3rd-Party QP-nano Ports/Adaptations\n\n[<b>QPN-PIC16</b>](https://github.com/aschatte/qpn) is an adaptation of the\n QP-nano framework to the\n[Microchip PIC16](https://www.microchip.com/en-us/products/microcontrollers-and-microprocessors/8-bit-mcus/pic-mcus)\narchitecture as compiled by the MPALB-X IDE using the XC8 compiler (C90/C99).\nIt allows QP-nano models developed using the QM modeling tool to be integrated\nwith the QV-nano kernel to build\n[Active Object](https://www.state-machine.com/active-object) applications.\nThe very limited resources of the PIC16 family of MCUs, primarily the hardware\nstack, required a special version of QP-nano and a QM-Modeler editing\npost-processor, `QM2HSM.exe`, to effect.\n\n\n# How to get help?\n- [Free Support Forum](https://sourceforge.net/p/qpc/discussion/668726)\n- [Bug Reports](https://sourceforge.net/p/qpc/bugs/)\n- [Feature Requests](https://sourceforge.net/p/qpc/feature-requests/)\n- [Quantum Leaps website](https://www.state-machine.com)\n- [Quantum Leaps licensing](https://www.state-machine.com/licensing)\n- [info@state-machine.com](mailto:info@state-machine.com)\n\n   [RTEF]: <https://www.state-machine.com/doc/concepts#RTEF>\n   [QP]: <https://www.state-machine.com/products/#QP>\n   [QP/C]: <https://www.state-machine.com/qpc>\n   [QP/C++]: <https://www.state-machine.com/qpcpp>\n   [QP-nano]: <https://www.state-machine.com/qpn>\n   [QM]: <https://www.state-machine.com/qm>\n   [Active]: <https://www.state-machine.com/doc/concepts#Active>\n   [HSM]: <https://www.state-machine.com/doc/concepts#HSM>\n   [Lic]: <https://www.state-machine.com/licensing>\n   [AN]: <https://www.state-machine.com/doc/AN_Getting_Started_with_QP-nano.pdf>\n"
  },
  {
    "path": "doxygen/Doxyfile",
    "content": "# Doxyfile 1.9.4\n\n@INCLUDE = ../../ql-doxygen/ql-doxyfile\n\n#---------------------------------------------------------------------------\n# Project related configuration options\n#---------------------------------------------------------------------------\nDOXYFILE_ENCODING      = UTF-8\nPROJECT_NAME           = \"QP-nano\"\nPROJECT_NUMBER         = \"6.9.0\"\nPROJECT_BRIEF          = \"Real-Time Embedded Framework\"\nPROJECT_LOGO           = ../../ql-doxygen/images/logo_ql.png\nOUTPUT_DIRECTORY       =\nCREATE_SUBDIRS         = NO\nCREATE_SUBDIRS_LEVEL   = 6\nALLOW_UNICODE_NAMES    = NO\nOUTPUT_LANGUAGE        = English\nBRIEF_MEMBER_DESC      = YES\nREPEAT_BRIEF           = NO\nABBREVIATE_BRIEF       = \"The $name class\" \\\n                         \"The $name widget\" \\\n                         \"The $name file\" \\\n                         is \\\n                         provides \\\n                         specifies \\\n                         contains \\\n                         represents \\\n                         a \\\n                         an \\\n                         the\nALWAYS_DETAILED_SEC    = NO\nINLINE_INHERITED_MEMB  = NO\nFULL_PATH_NAMES        = NO\nSTRIP_FROM_PATH        =\nSTRIP_FROM_INC_PATH    =\nSHORT_NAMES            = NO\nJAVADOC_AUTOBRIEF      = YES\nJAVADOC_BANNER         = NO\nQT_AUTOBRIEF           = NO\nMULTILINE_CPP_IS_BRIEF = NO\nPYTHON_DOCSTRING       = YES\nINHERIT_DOCS           = YES\nSEPARATE_MEMBER_PAGES  = NO\nTAB_SIZE               = 4\nOPTIMIZE_OUTPUT_FOR_C  = YES\nOPTIMIZE_OUTPUT_JAVA   = NO\nOPTIMIZE_FOR_FORTRAN   = NO\nOPTIMIZE_OUTPUT_VHDL   = NO\nOPTIMIZE_OUTPUT_SLICE  = NO\nEXTENSION_MAPPING      = lnt=Objective-C\nMARKDOWN_SUPPORT       = YES\nTOC_INCLUDE_HEADINGS   = 4\nAUTOLINK_SUPPORT       = YES\nBUILTIN_STL_SUPPORT    = NO\nCPP_CLI_SUPPORT        = NO\nSIP_SUPPORT            = NO\nIDL_PROPERTY_SUPPORT   = YES\nDISTRIBUTE_GROUP_DOC   = NO\nGROUP_NESTED_COMPOUNDS = NO\nSUBGROUPING            = YES\nINLINE_GROUPED_CLASSES = YES\nINLINE_SIMPLE_STRUCTS  = YES\nTYPEDEF_HIDES_STRUCT   = YES\nLOOKUP_CACHE_SIZE      = 0\nNUM_PROC_THREADS       = 1\n#---------------------------------------------------------------------------\n# Build related configuration options\n#---------------------------------------------------------------------------\nEXTRACT_ALL            = YES\nEXTRACT_PRIVATE        = YES\nEXTRACT_PRIV_VIRTUAL   = NO\nEXTRACT_PACKAGE        = YES\nEXTRACT_STATIC         = YES\nEXTRACT_LOCAL_CLASSES  = YES\nEXTRACT_LOCAL_METHODS  = NO\nEXTRACT_ANON_NSPACES   = NO\nRESOLVE_UNNAMED_PARAMS = YES\nHIDE_UNDOC_MEMBERS     = NO\nHIDE_UNDOC_CLASSES     = NO\nHIDE_FRIEND_COMPOUNDS  = NO\nHIDE_IN_BODY_DOCS      = NO\nINTERNAL_DOCS          = NO\nCASE_SENSE_NAMES       = NO\nHIDE_SCOPE_NAMES       = YES\nHIDE_COMPOUND_REFERENCE= NO\nSHOW_HEADERFILE        = YES\nSHOW_INCLUDE_FILES     = YES\nSHOW_GROUPED_MEMB_INC  = NO\nFORCE_LOCAL_INCLUDES   = NO\nINLINE_INFO            = YES\nSORT_MEMBER_DOCS       = NO\nSORT_BRIEF_DOCS        = NO\nSORT_MEMBERS_CTORS_1ST = NO\nSORT_GROUP_NAMES       = NO\nSORT_BY_SCOPE_NAME     = NO\nSTRICT_PROTO_MATCHING  = NO\nGENERATE_TODOLIST      = YES\nGENERATE_TESTLIST      = YES\nGENERATE_BUGLIST       = YES\nGENERATE_DEPRECATEDLIST= YES\nENABLED_SECTIONS       = QPN\nMAX_INITIALIZER_LINES  = 30\nSHOW_USED_FILES        = YES\nSHOW_FILES             = YES\nSHOW_NAMESPACES        = YES\nFILE_VERSION_FILTER    =\nLAYOUT_FILE            =\nCITE_BIB_FILES         =\n#---------------------------------------------------------------------------\n# Configuration options related to warning and progress messages\n#---------------------------------------------------------------------------\nQUIET                  = NO\nWARNINGS               = YES\nWARN_IF_UNDOCUMENTED   = YES\nWARN_IF_DOC_ERROR      = YES\nWARN_IF_INCOMPLETE_DOC = YES\nWARN_NO_PARAMDOC       = NO\nWARN_AS_ERROR          = NO\nWARN_FORMAT            = \"$file:$line: $text\"\nWARN_LINE_FORMAT       = \"at line $line of file $file\"\nWARN_LOGFILE           =\n#---------------------------------------------------------------------------\n# Configuration options related to the input files\n#---------------------------------------------------------------------------\nINPUT                  = main.dox \\\n                         gs.dox \\\n                         struct.dox \\\n                         api.dox \\\n                         exa.dox \\\n                         exa_apps.dox \\\n                         exa_native.dox \\\n                         exa_os.dox \\\n                         ports.dox \\\n                         ports_native.dox \\\n                         ports_arm-cm.dox \\\n                         ports_os.dox \\\n                         history.dox \\\n                         macros.h \\\n                         ../../ql-doxygen/help.dox \\\n                         metrics.dox \\\n                         modules.dox \\\n                         ../include \\\n                         ../src\n\nINPUT_ENCODING         = UTF-8\nFILE_PATTERNS          = *.dox \\\n                         *.h \\\n                         *.hpp \\\n                         *.c \\\n                         *.cpp \\\n                         *.s \\\n                         *.asm \\\n                         *.lnt\n\nRECURSIVE              = YES\nEXCLUDE                =\nEXCLUDE_SYMLINKS       = NO\nEXCLUDE_PATTERNS       =\nEXCLUDE_SYMBOLS        = QP_IMPL\nEXAMPLE_PATH           = snippets \\\n                         ../include \\\n                         ../src \\\n                         ../ports \\\n                         ../examples\nEXAMPLE_PATTERNS       = *\nEXAMPLE_RECURSIVE      = NO\nIMAGE_PATH             = images \\\n                         ../../ql-doxygen/images\nINPUT_FILTER           =\nFILTER_PATTERNS        =\nFILTER_SOURCE_FILES    = NO\nFILTER_SOURCE_PATTERNS =\nUSE_MDFILE_AS_MAINPAGE =\n#---------------------------------------------------------------------------\n# Configuration options related to source browsing\n#---------------------------------------------------------------------------\nSOURCE_BROWSER         = YES\nINLINE_SOURCES         = NO\nSTRIP_CODE_COMMENTS    = YES\nREFERENCED_BY_RELATION = NO\nREFERENCES_RELATION    = NO\nREFERENCES_LINK_SOURCE = YES\nSOURCE_TOOLTIPS        = YES\nUSE_HTAGS              = NO\nVERBATIM_HEADERS       = YES\nCLANG_ASSISTED_PARSING = NO\nCLANG_ADD_INC_PATHS    = YES\nCLANG_OPTIONS          =\nCLANG_DATABASE_PATH    =\n#---------------------------------------------------------------------------\n# Configuration options related to the alphabetical class index\n#---------------------------------------------------------------------------\nALPHABETICAL_INDEX     = YES\nIGNORE_PREFIX          =\n#---------------------------------------------------------------------------\n# Configuration options related to the HTML output\n#---------------------------------------------------------------------------\nGENERATE_HTML          = YES\nHTML_OUTPUT            = ../html\nHTML_FILE_EXTENSION    = .html\nHTML_HEADER            = ../../ql-doxygen/ql-header-awesome.html\nHTML_FOOTER            = ../../ql-doxygen/ql-footer-awesome.html\nHTML_STYLESHEET        =\nHTML_EXTRA_STYLESHEET  = ../../ql-doxygen/doxygen-awesome.css \\\n                         ../../ql-doxygen/doxygen-awesome-sidebar-only.css \\\n                         ../../ql-doxygen/doxygen-awesome-sidebar-only-darkmode-toggle.css \\\n                         ../../ql-doxygen/ql-awesome.css\n\nHTML_EXTRA_FILES       = ../../ql-doxygen/doxygen-awesome-darkmode-toggle.js \\\n                         ../../ql-doxygen/doxygen-awesome-fragment-copy-button.js \\\n                         ../../ql-doxygen/doxygen-awesome-paragraph-link.js \\\n                         ../../ql-doxygen/ql-preview.js\n\nHTML_COLORSTYLE_HUE    = 209\nHTML_COLORSTYLE_SAT    = 255\nHTML_COLORSTYLE_GAMMA  = 113\nHTML_TIMESTAMP         = NO\nHTML_DYNAMIC_MENUS     = YES\nHTML_DYNAMIC_SECTIONS  = NO\nHTML_INDEX_NUM_ENTRIES = 100\nGENERATE_DOCSET        = NO\nDOCSET_FEEDNAME        = \"Doxygen generated docs\"\nDOCSET_FEEDURL         =\nDOCSET_BUNDLE_ID       = com.state-machine.doc\nDOCSET_PUBLISHER_ID    = com.state-machine.doc\nDOCSET_PUBLISHER_NAME  = QuantumLeaps\nGENERATE_HTMLHELP      = NO\nCHM_FILE               = ../qpn.chm\nHHC_LOCATION           =\nGENERATE_CHI           = NO\nCHM_INDEX_ENCODING     =\nBINARY_TOC             = YES\nTOC_EXPAND             = NO\nGENERATE_QHP           = NO\nQCH_FILE               =\nQHP_NAMESPACE          = com.state-machine.qp\nQHP_VIRTUAL_FOLDER     = doc\nQHP_CUST_FILTER_NAME   =\nQHP_CUST_FILTER_ATTRS  =\nQHP_SECT_FILTER_ATTRS  =\nQHG_LOCATION           =\nGENERATE_ECLIPSEHELP   = NO\nECLIPSE_DOC_ID         = com.state-machine.qp\nDISABLE_INDEX          = NO\nGENERATE_TREEVIEW      = YES\nFULL_SIDEBAR           = NO\nENUM_VALUES_PER_LINE   = 4\nTREEVIEW_WIDTH         = 335\nEXT_LINKS_IN_WINDOW    = NO\nOBFUSCATE_EMAILS       = NO\nHTML_FORMULA_FORMAT    = png\nFORMULA_FONTSIZE       = 10\nFORMULA_TRANSPARENT    = YES\nFORMULA_MACROFILE      =\nUSE_MATHJAX            = NO\nMATHJAX_VERSION        = MathJax_2\nMATHJAX_FORMAT         = HTML-CSS\nMATHJAX_RELPATH        = https://cdn.jsdelivr.net/npm/mathjax@2\nMATHJAX_EXTENSIONS     =\nMATHJAX_CODEFILE       =\nSEARCHENGINE           = YES\nSERVER_BASED_SEARCH    = NO\nEXTERNAL_SEARCH        = NO\nSEARCHENGINE_URL       =\nSEARCHDATA_FILE        = searchdata.xml\nEXTERNAL_SEARCH_ID     = QPN\nEXTRA_SEARCH_MAPPINGS  =\n#---------------------------------------------------------------------------\n# Configuration options related to the preprocessor\n#---------------------------------------------------------------------------\nENABLE_PREPROCESSING   = YES\nMACRO_EXPANSION        = NO\nEXPAND_ONLY_PREDEF     = NO\nSEARCH_INCLUDES        = YES\nINCLUDE_PATH           =\nINCLUDE_FILE_PATTERNS  =\nPREDEFINED             = Q_PARAM_SIZE=2 \\\n                         QF_TIMEEVT_CTR_SIZE=2 \\\n                         QF_TIMEEVT_PERIODIC \\\n                         QF_TIMEEVT_USAGE \\\n                         QK_SCHED_LOCK \\\n                         QK_ON_CONTEXT_SW\n\nEXPAND_AS_DEFINED      =\nSKIP_FUNCTION_MACROS   = YES\n"
  },
  {
    "path": "doxygen/Doxyfile-CHM",
    "content": "# Doxyfile 1.9.2\n\n@INCLUDE = Doxyfile\n\n#---------------------------------------------------------------------------\n# Configuration options related to the HTML output\n#---------------------------------------------------------------------------\nHTML_OUTPUT            = tmp\nHTML_HEADER            = ../../ql-doxygen/header.html\nHTML_FOOTER            = ../../ql-doxygen/footer.html\nHTML_EXTRA_STYLESHEET  = ../../ql-doxygen/ql.css \\\n                         ../../ql-doxygen/preview.js\nHTML_EXTRA_FILES       =\nGENERATE_HTMLHELP      = YES\n"
  },
  {
    "path": "doxygen/api.dox",
    "content": "/*! @page api API Reference\n\n@tableofcontents\n\n@section api_qepn QEP-nano (Hierarchical State Machines)\nQEP is a universal, UML-compliant event processor that enables developers to code UML state machines in highly readable ANSI-C, in which every state machine element is mapped to code precisely, unambiguously, and exactly once (traceability). QEP fully supports hierarchical state nesting, which is the fundamental mechanism for reusing behavior across many states instead of repeating the same actions and transitions over and over again.\n\n\n@subsection api_qep_hsm Hierarchical State Machines\n- ::QHsm class\n- QHsm_ctor()\n- QHSM_INIT()\n- QHSM_DISPATCH()\n- QHsm_state()\n- QHsm_top()\n\n\n@section api_qfn QF-nano (Active Object Framework)\nQF is a portable, event-driven, real-time framework for execution of active objects (concurrent state machines) specifically designed for real-time embedded (RTE) systems.\n\n\n@subsection api_qfn_act Active Objects\n- ::QActive class\n- QActive_ctor()\n- QACTIVE_POST()\n- QACTIVE_POST_X()\n\n\n@subsection api_qfn_time Time Events\n- QF_tickXISR()\n- QActive_armX()\n- QActive_disarmX()\n\n\n@section api_qvn QV-nano (Cooperative Kernel)\nQV is a simple **cooperative** kernel (previously called \"Vanilla\" kernel). This kernel executes active objects one at a time, with priority-based scheduling performed before processing of each event. Due to naturally short duration of event processing in state machines, the simple QV kernel is often adequate for many real-time systems.\n\nThe QV scheduler is engaged after every RTC step of any @termref{active object} to choose the next active object to execute. The QV scheduler always chooses the highest-priority active object that has any events in its event queue. The QV scheduler then extracts the next event from this queue and dispatches it to the state machine associated with the active object. The state machine runs to completion, after which the QV scheduler runs and the cycle repeats.\n\nPlease note that because the state machines always return to the QV scheduler after each RTC step, a single stack can be used to process all state machines (memory-friendly architecture).\n\nThe QV scheduler can also very easily detect when all event queues are empty, at which point it can call the idle callback to let the application put the CPU and peripherals to a low-power sleep mode (power-friendly architecture).\n\nGiven the simplicity, portability, and low-resource consumption, the QV scheduler is very attractive. It allows you to partition the problem into active objects and execute these active objects orderly. The task-level response of this scheduler is the longest RTC step in the whole system, but because event-driven active objects don’t block, the RTC steps tend to be very short (typically just a few microseconds). Also, often you can break up longer RTC steps into shorter pieces, by posting an event to self and returning (“Reminder” state pattern). The self-posted event then triggers the continuation of longer processing.\n\n\n@subsection api_qv_init Kernel Initialization and Control\n- QV_INIT()\n- <a href=\"qv_8c.html#a779a1bc9482e2d489dc87751cd100fdb\"><b>QF_run()</b></a>\n- QV_onIdle()\n- QV_CPU_SLEEP()\n\n\n@section api_qkn QK-nano (Preemptive Run-to-Completion Kernel)\nQK is a tiny **preemptive**, priority-based, non-blocking kernel designed specifically for executing active objects. QK runs active objects in the same way as prioritized interrupt controller (such as NVIC in ARM Cortex-M) runs interrupts using the single stack. Active objects process their events in run-to-completion (RTC) fashion and remove themselves from the call stack, the same way as nested interrupts remove themselves from the stack upon completion. At the same time high-priority active objects can preempt lower-priority active objects, just like interrupts can preempt each other under a prioritized interrupt controller. QK meets all the requirement of the Rate Monotonic Scheduling (a.k.a. Rate Monotonic Analysis RMA) and can be used in hard real-time systems.\n\n\n\n@subsection api_qkn_ctrl Kernel Initialization and Control\n- QK_INIT()\n- <a href=\"qk_8c.html#a779a1bc9482e2d489dc87751cd100fdb\"><b>QF_run()</b></a>\n- QK_onIdle()\n- QK_schedLock()\n- QK_schedUnlock()\n\n\n\n@subsection api_qkn_isr Interrupt Management\n- QK_ISR_ENTRY()\n- QK_ISR_EXIT()\n\n*/\n"
  },
  {
    "path": "doxygen/exa.dox",
    "content": "/*! @page exa Examples\n\n@tableofcontents\n\n@section exa_gen General Comments\nThe QP-nano distribution contains many @subpage exa_ref \"example projects\" to demonstrate various QP-nano features. Each example project is described on its own dedicated page that you can find using several criteria (see @ref exa_ref). The example projects have the following main goals:\n\n- **to help you learn how to use QP-nano** &mdash; the examples show the intended way of using QP-nano features and structuring QP-nano applications.\n\n- **to provide you with a starting point for your own projects** &mdash; the examples are complete working projects, with correctly pre-configured tools, such as compiler options, linker script, debugger setup, etc.\n\n@note\nIt is highly recommended that you create your own projects by **copying and modifying** existing example projects rather than starting your QP-nano projects from scratch.\n\n\n@subsection exa_code Example Code Structure\nStarting with QP-nano release 5.4.0, **all** examples are bundled into the QP-nano download, as opposed to being distributed as separate QP Development Kits (QDKs). The main benefit is of this approach is that it greatly reduces chances of mistakes in combining the mainline QP-nano code with various QDKs. The downside is that the QP-nano distribution becomes quite large and that examples can't be added or updated independently from the QP-nano baseline code.\n\nAll examples are located in sub-directories of the <span class=\"img folder\">examples</span> @ref qpn_files \"top-level folder\", with the hierarchical organization outlined below:\n\n<ul class=\"tag\">\n  <li><span class=\"img folder\">examples</span>\n  </li>\n  <ul class=\"tag\">\n    <li><span class=\"img folder\">arm-cm</span> &mdash; Native examples for ARM-Cortex-M (bare-metal) [A]\n    </li>\n    <ul class=\"tag\">\n      <li><span class=\"img folder\">blinky_ek-tm4c123gxl</span> &mdash; Blinky example for EK-TM4C123GXL board\n      </li>\n      <ul class=\"tag\">\n        <li><span class=\"img folder\">qk</span> &mdash; Version for the @ref comp_qk \"preemptive QK kernel\"\n        </li>\n        <ul class=\"tag\">\n          <li><span class=\"img folder\">arm</span> &mdash; build with ARM toolset\n          </li>\n          <ul class=\"tag\">\n            <li><span class=\"img folder\">dbg</span> &mdash; Debug @ref exa_sec_conf \"build configuration\"\n            </li>\n            <li><span class=\"img folder\">rel</span> &mdash; Release build configuration\n            </li>\n          </ul>\n          <li><span class=\"img folder\">gnu</span> &mdash; build with GNU toolset\n          </li>\n          <li><span class=\"img folder\">iar</span> &mdash; build with IAR toolset\n          </li>\n        </ul>\n        <li><span class=\"img folder\">qv</span> &mdash;  Version for the @ref comp_qv \"cooperative QV kernel\"\n        </li>\n        <ul class=\"tag\">\n          <li><span class=\"img folder\">arm</span> &mdash; build with ARM toolset\n          </li>\n          <ul class=\"tag\">\n            <li><span class=\"img folder\">dbg</span> &mdash; Debug @ref exa_sec_conf \"build configuration\"\n            </li>\n            <li><span class=\"img folder\">rel</span> &mdash; Release build configuration\n            </li>\n          </ul>\n          <li><span class=\"img folder\">gnu</span> &mdash; build with GNU toolset\n          </li>\n          <li><span class=\"img folder\">iar</span> &mdash; build with IAR toolset\n          </li>\n        </ul>\n        <li><span class=\"img file_c\">...</span> &mdash; source code independent on the toolset\n        </li>\n      </ul>\n    </ul>\n\n    <li><span class=\"img folder\">workstation</span> &mdash; Examples for Workstations [B]\n    </li>\n    <ul class=\"tag\">\n      <li><span class=\"img folder\">blinky</span> &mdash; Blinky example for workstations (console app)</li>\n      <li><span class=\"img folder\">dpp</span> &mdash; DPP example for workstations (console app)</li>\n      <li><span class=\"img folder\">. . .</span> &mdash; Other examples for workstations (console app)</li>\n    </ul>\n\n  </ul>\n</ul>\n\n<ul class=\"tag\">\n  <li><span class=\"tag\">A</span> @subpage exa_native \"Native examples\" are located in sub-directories named after the CPU architecture, such as <span class=\"img folder\">arm-cm</span> for ARM Cortex-M. Under that directory, the sub-directories <span class=\"img folder\">blinky_ek-tm4c123gxl</span> contain the specific example on the specified board, such as \"Blinky\" on the EK-TM4C123GXL board here. In the specific example folder, you find sub-folders for the @ref comp_qk \"QK\" and @ref comp_qv \"QV\" kernels, respectively.\n  </li>\n\n  <li><span class=\"tag\">B</span> @subpage exa_os \"Examples for Workstations\" are located in sub-directory <span class=\"img folder\">workstation</span>. These examples can be built on Windows, Linux and MacOS.\n  </li>\n\n</ul>\n\n@note\nBecause the QP-nano distribution contains *all* examples, the number of sub-directories and files in the <span class=\"img folder\">examples</span> folder may seem daunting. However, knowing the structure of the <span class=\"img folder\">examples</span> folder, you can simply **delete** the sub-directories that are not interesting to you.\n\n\n@subsection exa_sec_apps Example Applications\nTo demonstrate QP-nano features on an embedded board, you need to create an application that does \"something interesting\". Instead of inventing this \"something interesting\" for each and every example, the example projects implement one of the three @subpage exa_apps \"example applications\", which are described on the separate pages:\n\n- @ref blinky\n- @ref dpp\n- @ref pelican\n- @ref game\n\nWith the exception of the game application, all other example applications can be implemented on a board with just a couple of LEDs. The @ref game application is a bit more involved and requires a small graphic display on the board.\n\nBeyond these basic applications for demonstrating and testing the various @ref ports \"QP-nano ports\", the QP-nano distribution contains all examples described in the book <a class=\"extern\" target=\"_blank\" href=\"https://www.state-machine.com/psicc2\" >Practical UML Statecharts in C/C++, 2nd Edition</a>\n\n@sa\n@ref exa_os\n\n\n\n@subsection exa_sec_boards Development Boards\nWhile some provided examples can run on your @ref exa_os \"desktop computer\", most embedded example projects require special hardware in form of @ref exa_sec_boards, which you need to acquire to be able to run the examples. The boards chosen for the examples are generally inexpensive and self-contained with no need for external hardware (such as external JTAG debuggers or power supplies).\n\n\n\n@subsection exa_sec_tools Development Tools\nMost provided examples require special embedded cross-development tools, such as embedded compilers, linkers, debuggers and IDEs, which you need to acquire independently from the QP-nano distribution. Generally, the examples work with the free (size limited) evaluation versions of the commercial tools. The examples list the versions of tools they were developed and tested with. Please refer to the @ref exa_ref \"cross-reference section\" @ref exa_sec_tools to see which embedded toolsets are used.\n\n\n\n@subsection exa_sec_conf Build Configurations\nQP examples @ref ports \"QP ports\" are provided in the following three **build configurations**:\n\n- **Debug** &mdash; this configuration is built with full debugging information and minimal optimization. When the QP framework finds no events to process, the framework busy-idles until there are new events to process.\n\n- **Release** &mdash; this configuration is built with no debugging information and high optimization. Single-stepping and debugging at the source-code level is effectively impossible due to the lack of debugging information and optimized code, but the debugger can be used to download and start the executable. When the QP framework finds no events to process, the framework puts the CPU to sleep until there are new events to process.\n\n@remark\n<strong>Why do you need multiple build configurations?</strong>@n\nThe different phases of embedded software life cycle pose different challenges. During the development and maintenance phase, for example, the emphasis is on the ease of debugging and verifying the correctness of the code, which require lower levels of optimization and special scaffolding code. In contrast, for releasing the code in the final product, the emphasis is on small memory footprint and CPU time efficiency, which require high-level of optimization and removal of any scaffolding code. To address these conflicting needs, the same source code is compiled into multiple **build configurations** that differ in the use of compiler options and activation of the scaffolding code.\n\n\n\n@subsection exa_sec_qm QM Models\nMany example projects contain code auto-generated by the <a class=\"extern\" target=\"_blank\" href=\"https://www.state-machine.com/qm/help\"><strong>QM modeling tool</strong></a>. Such projects always contain the corresponding **QM model** file, which you can open in QM, modify, and re-generate the code.\n\n@note\nThe auto-generated files are saved as **read-only**. This protects them from inadvertent modifications, which will get lost when the files are re-generated by QM (or QMC). All modifications to the auto-generated code should be done in the QM model, not in the code.\n\n\n\n@subsection exa_sec_3rd Third-Party Code\nThe QP-nano example projects often need to use various additional code, such as MCU register definition files, startup code, device drivers, etc., which are provided by Third-Party vendors. All such code is located in the <span class=\"img folder\">3rd_party</span> @ref qpn_files \"top-level folder\".\n\n@note\nAs far as possible, the code in the <span class=\"img folder\">3rd_party</span> folder has been left unchanged from the original source. (Any modified code is clearly identified by top-level comments that detail the applied changes.) For that reason, the Third-Party code might produce **compilation warnings** in your builds.\n\nThe code in the <span class=\"img folder\">3rd_party</span> folder comes from various sources, and Quantum\nLeaps, LLC expressly makes **no claims of ownership** to any of this code, even though some of the code might be customized or modified by Quantum Leaps.\n\n@attention\nThe Third-Party software components included in the <span class=\"img folder\">3rd_party</span> folder are licensed under a variety of different licensing terms that are defined by the respective owners of this software and are spelled out in the `README.txt` or `LICENSE.txt` files included in the respective\nsub-folders.\n\n\n\n@section exa_own Creating your Own QP-nano Projects\n\nPerhaps the most important fact of life to remember is that in embedded systems nothing works until everything works. This means that you should always start with a <strong>working system</strong> and gradually evolve it, changing one thing at a time and making sure that it keeps working every step of the way.\n\nKeeping this in mind, the provided QP-nano application examples, such as the super-simple Blinky, or a bit more advanced @ref dpp or @ref game, allow you to get started with a working project rather than starting from scratch. You should also always try one of the provided example projects on the same evaluation board that it was designed for, before making any changes.\n\nOnly after convincing yourself that the example project works \"as is\", you can think about creating your own projects. At this point, the easiest and recommended way is to copy the existing working example project folder (such as the Blinky example) and rename it.\n\nAfter copying the project folder, you still need to change the name of the project/workspace. The easiest and safest way to do this is to open the project/workspace in the corresponding IDE and use the Save As... option to save the project under a different name. You can do this also with the QM model file, which you can open in QM and \"Save As\" a different model.\n\n@note\nBy copying and re-naming an existing, working project, as opposed to creating a new one from scratch, you inherit the correct compiler and linker options an other project settings, which will help you get started much faster.\n\n\n\n@section exa_doc Next Steps and Further Reading About QP and QM\n\nTo work with QP-nano effectively, you need to learn a bit more about active objects and state machines. Below is a list of links to enable you to further your knowledge:\n\n1. The book “Practical UML Statecharts in C/C++, 2nd Edition” [PSiCC2] and the companion web-page to the book (https://www.state-machine.com/psicc2/\n2. Free Support Forum for QP/QM (https://sourceforge.net/p/qpc/discussion/668726 )\n3. QP Code Downloads summary (https://www.state-machine.com/downloads )\n4. QP Application Notes (https://www.state-machine.com/doc/an )\n5. \"State Space\" Blog (http://embeddedgurus.com/state-space/ )\n\n@next{exa_ref}\n*/\n\n/*##########################################################################*/\n/*! @page exa_ref Cross-Reference\n\n@tableofcontents\n\n@section exa_ref_native Native Examples (by Built-in Kernel)\n- @ref exa_qv\n- @ref exa_qk\n\n\n@section exa_ref_native Native Examples (by Processor)\n- @ref exa_arm-cm (Cortex-M0/M0+/M3/M4/M4F)\n- @ref exa_arm7-9 (\"classic ARM\")\n- @ref exa_msp430 (\"classic\" MSP430 and \"extended\" MSP430x)\n- @ref exa_avr (8-bit megaAVR)\n\n\n\n@section exa_ref_os Examples for Third-Party OS\n- @subpage exa_os\n\n\n\n@section exa_ref_boards Examples by Development Board\nThe boards chosen for the examples are generally inexpensive and self-contained with minimal need for external hardware (such as external JTAG debuggers or power supplies). Also, all the selected boards provide a virtual COM port (ideally).\n\n@note\nYou can hover the mouse cursor over the <span class=\"board\"></span>&nbsp;&nbsp; icon in the list below to see the picture of the board.\n\n- ARM Cortex-M Boards:\n    - <a class=\"preview board\" href=\"bd_EK-TM4C123GXL.jpg\" title=\"EK-TM4C123GXL\">EK-TM4C123GXL</a> (TivaC LaunchPad)\n    - <a class=\"preview board\" href=\"bd_EFM32-SLSTK3401A.jpg\" title=\"EFM32-SLSTK3401A\">EFM32-SLSTK3401A</a>\n    - <a class=\"preview board\" href=\"bd_mbed-LPC1768.jpg\" title=\"mbed-LPC1768\">mbed-LPC1768</a>\n    - <a class=\"preview board\" href=\"bd_nucleo-l053r8.jpg\" title=\"NUCLEO-L053R8\">NUCLEO-L053R8</a>\n    - <a class=\"preview board\" href=\"bd_nucleo-l152re.jpg\" title=\"NUCLEO-L152RE\">NUCLEO-L152RE</a>\n    - <a class=\"preview board\" href=\"bd_EK-LM3S6965.jpg\" title=\"EK-LM3S6965\">EK-LM3S6965</a>\n    - <a class=\"preview board\" href=\"bd_STM32F4-Discovery.jpg\" title=\"STM32F4-Discovery\">STM32F4-Discovery</a>\n\n- ARM7 Boards:\n    - <a class=\"preview board\" href=\"bd_AT91SAM7S-EK.jpg\" title=\"AT91SAM7S-EK\">AT91SAM7S-EK</a>\n\n- MSP430 Boards:\n    - <a class=\"preview board\" href=\"bd_MSP-EXP430G2.jpg\" title=\"MSP-EXP430G2\">MSP-EXP430G2</a> (MSP430 LaunchPad)\n    - <a class=\"preview board\" href=\"bd_MSP-EXP430F5529LP.jpg\" title=\"MSP-EXP430F5529LP\">MSP-EXP430F5529LP</a> (MSP430X LaunchPad)\n\n- AVR (megaAVR) Boards:\n    - <a class=\"preview board\" href=\"bd_Arduino-UNO.jpg\" title=\"Arduino-UNO\">Arduino-UNO</a>\n\n\n\n@section exa_ref_mcu Native Examples by MCU Architecture\n- ARM Cortex-M0/M0+\n    - @ref arm-cm_dpp_nucleo-l053r8  <a class=\"preview board\" href=\"bd_nucleo-l053r8.jpg\" title=\"NUCLEO-L053R8\"></a>\n- ARM Cortex-M3\n    - @ref arm-cm_dpp_nucleo-l152re  <a class=\"preview board\" href=\"bd_nucleo-l152re.jpg\" title=\"NUCLEO-L152RE\"></a>\n    - @ref arm-cm_dpp_mbed-lpc1768  <a class=\"preview board\" href=\"bd_mbed-LPC1768.jpg\" title=\"mbed-LPC1768\"></a>\n- ARM Cortex-M4F (with hardware FPU)\n    - @ref arm-cm_blinky_ek-tm4c123gxl <a class=\"preview board\" href=\"bd_EK-TM4C123GXL.jpg\" title=\"EK-TM4C123GXL\"></a>\n    - @ref arm-cm_blinky_efm32-slstk3401a <a class=\"preview board\" href=\"bd_EFM32-SLSTK3401A.jpg\" title=\"EFM32-SLSTK3401A\"></a>\n    - @ref arm-cm_dpp_ek-tm4c123gxl <a class=\"preview board\" href=\"bd_EK-TM4C123GXL.jpg\" title=\"EK-TM4C123GXL\"></a>\n    - @ref arm-cm_dpp_efm32-slstk3401a <a class=\"preview board\" href=\"bd_EFM32-SLSTK3401A.jpg\" title=\"EFM32-SLSTK3401A\"></a>\n    - @ref arm-cm_game_efm32-slstk3401a  <a class=\"preview board\" href=\"bd_EFM32-SLSTK3401A.jpg\" title=\"EFM32-SLSTK3401A\"></a>\n- ARM7 / ARM9\n    - @ref arm7-9_dpp_at91sam7s-ek <a class=\"preview board\" href=\"bd_AT91SAM7S-EK.jpg\" title=\"AT91SAM7S-EK\"></a>\n\n- MSP430\n    - @ref msp430_blinky_msp-exp430g2 <a class=\"preview board\" href=\"bd_MSP-EXP430G2.jpg\" title=\"MSP-EXP430G2\"></a>\n    - @ref msp430_blinky_msp-exp430f5529lp <a class=\"preview board\" href=\"bd_MSP-EXP430F5529LP.jpg\" title=\"MSP-EXP430F5529LP\"></a>\n    - @ref msp430_dpp_msp-exp430g2 <a class=\"preview board\" href=\"bd_MSP-EXP430G2.jpg\" title=\"MSP-EXP430G2\"></a>\n- AVRmega\n    - @ref avr_blinky_arduino-uno <a class=\"preview board\" href=\"bd_Arduino-UNO.jpg\" title=\"Arduino-UNO\"></a>\n    - @ref avr_dpp_arduino-uno <a class=\"preview board\" href=\"bd_Arduino-UNO.jpg\" title=\"Arduino-UNO\"></a>\n\n- PIC24 /dsPIC (coming soon...)\n- PIC32 (coming soon...)\n- Renesas RX (coming soon...)\n- TI TMS320C28x (C28x) (coming soon...)\n- TI TMS320C55x (C55x) (coming soon...)\n\n\n\n@section exa_ref_tool Native Examples by Development Toolchain\n@n\n\n@subsection exa_ref_arm-clang ARM-Clang Toolchain (ARM Compiler 6)\n- @ref arm-cm_dpp_nucleo-l053r8  <a class=\"preview board\" href=\"bd_nucleo-l053r8.jpg\" title=\"NUCLEO-L053R8\"></a>\n- @ref arm-cm_dpp_ek-tm4c123gxl <a class=\"preview board\" href=\"bd_EK-TM4C123GXL.jpg\" title=\"EK-TM4C123GXL\"></a>\n\n\n\n@subsection exa_ref_arm-keil ARM-Keil Toolchain (ARM Compiler 5)\n- @ref arm-cm_blinky_ek-tm4c123gxl <a class=\"preview board\" href=\"bd_EK-TM4C123GXL.jpg\" title=\"EK-TM4C123GXL\"></a>\n- @ref arm-cm_blinky_efm32-slstk3401a <a class=\"preview board\" href=\"bd_EFM32-SLSTK3401A.jpg\" title=\"EFM32-SLSTK3401A\"></a>\n- @ref arm-cm_dpp_ek-tm4c123gxl <a class=\"preview board\" href=\"bd_EK-TM4C123GXL.jpg\" title=\"EK-TM4C123GXL\"></a>\n- @ref arm-cm_dpp_efm32-slstk3401a <a class=\"preview board\" href=\"bd_EFM32-SLSTK3401A.jpg\" title=\"EFM32-SLSTK3401A\"></a>\n- @ref arm-cm_dpp_nucleo-l053r8  <a class=\"preview board\" href=\"bd_nucleo-l053r8.jpg\" title=\"NUCLEO-L053R8\"></a>\n- @ref arm-cm_dpp_nucleo-l152re  <a class=\"preview board\" href=\"bd_nucleo-l152re.jpg\" title=\"NUCLEO-L152RE\"></a>\n- @ref arm-cm_game_efm32-slstk3401a  <a class=\"preview board\" href=\"bd_EFM32-SLSTK3401A.jpg\" title=\"EFM32-SLSTK3401A\"></a>\n\n\n\n@subsection exa_ref_gnu-arm GNU-ARM (command-line with Makefile, importable to Eclipse)\n- @ref arm-cm_blinky_ek-tm4c123gxl <a class=\"preview board\" href=\"bd_EK-TM4C123GXL.jpg\" title=\"EK-TM4C123GXL\"></a>\n- @ref arm-cm_blinky_efm32-slstk3401a <a class=\"preview board\" href=\"bd_EFM32-SLSTK3401A.jpg\" title=\"EFM32-SLSTK3401A\"></a>\n- @ref arm-cm_dpp_ek-tm4c123gxl <a class=\"preview board\" href=\"bd_EK-TM4C123GXL.jpg\" title=\"EK-TM4C123GXL\"></a>\n- @ref arm-cm_dpp_efm32-slstk3401a <a class=\"preview board\" href=\"bd_EFM32-SLSTK3401A.jpg\" title=\"EFM32-SLSTK3401A\"></a>\n- @ref arm-cm_dpp_mbed-lpc1768  <a class=\"preview board\" href=\"bd_mbed-LPC1768.jpg\" title=\"mbed-LPC1768\"></a>\n- @ref arm-cm_dpp_nucleo-l053r8  <a class=\"preview board\" href=\"bd_nucleo-l053r8.jpg\" title=\"NUCLEO-L053R8\"></a>\n- @ref arm-cm_dpp_nucleo-l152re  <a class=\"preview board\" href=\"bd_nucleo-l152re.jpg\" title=\"NUCLEO-L152RE\"></a>\n- @ref arm-cm_game_efm32-slstk3401a  <a class=\"preview board\" href=\"bd_EFM32-SLSTK3401A.jpg\" title=\"EFM32-SLSTK3401A\"></a>\n- @ref arm7-9_dpp_at91sam7s-ek <a class=\"preview board\" href=\"bd_AT91SAM7S-EK.jpg\" title=\"AT91SAM7S-EK\"></a>\n\n\n@subsection exa_ref_gnu-ccs GNU-ARM with TI CCS IDE\n- @ref arm-cm_dpp_ek-tm4c123gxl <a class=\"preview board\" href=\"bd_EK-TM4C123GXL.jpg\" title=\"EK-TM4C123GXL\"></a>\n\n\n\n@subsection exa_ref_iar-arm IAR EWARM\n- @ref arm-cm_blinky_ek-tm4c123gxl <a class=\"preview board\" href=\"bd_EK-TM4C123GXL.jpg\" title=\"EK-TM4C123GXL\"></a>\n- @ref arm-cm_blinky_efm32-slstk3401a <a class=\"preview board\" href=\"bd_EFM32-SLSTK3401A.jpg\" title=\"EFM32-SLSTK3401A\"></a>\n- @ref arm-cm_dpp_ek-tm4c123gxl <a class=\"preview board\" href=\"bd_EK-TM4C123GXL.jpg\" title=\"EK-TM4C123GXL\"></a>\n- @ref arm-cm_dpp_efm32-slstk3401a <a class=\"preview board\" href=\"bd_EFM32-SLSTK3401A.jpg\" title=\"EFM32-SLSTK3401A\"></a>\n- @ref arm-cm_dpp_mbed-lpc1768  <a class=\"preview board\" href=\"bd_mbed-LPC1768.jpg\" title=\"mbed-LPC1768\"></a>\n- @ref arm-cm_dpp_nucleo-l053r8  <a class=\"preview board\" href=\"bd_nucleo-l053r8.jpg\" title=\"NUCLEO-L053R8\"></a>\n- @ref arm-cm_dpp_nucleo-l152re  <a class=\"preview board\" href=\"bd_nucleo-l152re.jpg\" title=\"NUCLEO-L152RE\"></a>\n- @ref arm-cm_game_efm32-slstk3401a  <a class=\"preview board\" href=\"bd_EFM32-SLSTK3401A.jpg\" title=\"EFM32-SLSTK3401A\"></a>\n- @ref arm7-9_dpp_at91sam7s-ek <a class=\"preview board\" href=\"bd_AT91SAM7S-EK.jpg\" title=\"AT91SAM7S-EK\"></a>\n\n\n\n@subsection exa_ref_ti-arm TI ARM with CCS IDE\n- @ref arm-cm_dpp_ek-tm4c123gxl <a class=\"preview board\" href=\"bd_EK-TM4C123GXL.jpg\" title=\"EK-TM4C123GXL\"></a>\n\n\n\n@subsection exa_ref_ccs-430 CCS for MSP430\n- @ref msp430_blinky_msp-exp430g2 <a class=\"preview board\" href=\"bd_MSP-EXP430G2.jpg\" title=\"MSP-EXP430G2\"></a>\n- @ref msp430_blinky_msp-exp430f5529lp <a class=\"preview board\" href=\"bd_MSP-EXP430F5529LP.jpg\" title=\"MSP-EXP430F5529LP\"></a>\n- @ref msp430_dpp_msp-exp430g2 <a class=\"preview board\" href=\"bd_MSP-EXP430G2.jpg\" title=\"MSP-EXP430G2\"></a>\n\n\n\n@subsection exa_ref_iar-430 IAR EW430\n- @ref msp430_blinky_msp-exp430g2 <a class=\"preview board\" href=\"bd_MSP-EXP430G2.jpg\" title=\"MSP-EXP430G2\"></a>\n- @ref msp430_blinky_msp-exp430f5529lp <a class=\"preview board\" href=\"bd_MSP-EXP430F5529LP.jpg\" title=\"MSP-EXP430F5529LP\"></a>\n- @ref msp430_dpp_msp-exp430g2 <a class=\"preview board\" href=\"bd_MSP-EXP430G2.jpg\" title=\"MSP-EXP430G2\"></a>\n\n\n\n@subsection exa_ref_iar-avr GNU-AVR\n- @ref avr_blinky_arduino-uno <a class=\"preview board\" href=\"bd_Arduino-UNO.jpg\" title=\"Arduino-UNO\"></a>\n- @ref avr_dpp_arduino-uno <a class=\"preview board\" href=\"bd_Arduino-UNO.jpg\" title=\"Arduino-UNO\"></a>\n\n\n\n@subsection exa_ref_iar-avr IAR-AVR\n- @ref avr_blinky_arduino-uno <a class=\"preview board\" href=\"bd_Arduino-UNO.jpg\" title=\"Arduino-UNO\"></a>\n- @ref avr_dpp_arduino-uno <a class=\"preview board\" href=\"bd_Arduino-UNO.jpg\" title=\"Arduino-UNO\"></a>\n\n\n\n@section exa_ref_vendor Examples by MCU Vendor\n- Atmel\n    - @ref arm7-9_dpp_at91sam7s-ek <a class=\"preview board\" href=\"bd_AT91SAM7S-EK.jpg\" title=\"AT91SAM7S-EK\"></a>\n    - @ref avr_blinky_arduino-uno <a class=\"preview board\" href=\"bd_Arduino-UNO.jpg\" title=\"Arduino-UNO\"></a>\n    - @ref avr_dpp_arduino-uno <a class=\"preview board\" href=\"bd_Arduino-UNO.jpg\" title=\"Arduino-UNO\"></a>\n- NXP\n    - @ref arm-cm_dpp_mbed-lpc1768  <a class=\"preview board\" href=\"bd_mbed-LPC1768.jpg\" title=\"mbed-LPC1768\"></a>\n- Silicon Labs\n    - @ref arm-cm_blinky_efm32-slstk3401a <a class=\"preview board\" href=\"bd_EFM32-SLSTK3401A.jpg\" title=\"EFM32-SLSTK3401A\"></a>\n    - @ref arm-cm_dpp_efm32-slstk3401a <a class=\"preview board\" href=\"bd_EFM32-SLSTK3401A.jpg\" title=\"EFM32-SLSTK3401A\"></a>\n    - @ref arm-cm_game_efm32-slstk3401a <a class=\"preview board\" href=\"bd_EFM32-SLSTK3401A.jpg\" title=\"EFM32-SLSTK3401A\"></a>\n- STMicroelectronics\n    - @ref arm-cm_dpp_nucleo-l053r8  <a class=\"preview board\" href=\"bd_nucleo-l053r8.jpg\" title=\"NUCLEO-L053R8\"></a>\n    - @ref arm-cm_dpp_nucleo-l152re  <a class=\"preview board\" href=\"bd_nucleo-l152re.jpg\" title=\"NUCLEO-L152RE\"></a>\n- Texas Instruments\n    - @ref arm-cm_blinky_ek-tm4c123gxl <a class=\"preview board\" href=\"bd_EK-TM4C123GXL.jpg\" title=\"EK-TM4C123GXL\"></a>\n    - @ref arm-cm_dpp_ek-tm4c123gxl <a class=\"preview board\" href=\"bd_EK-TM4C123GXL.jpg\" title=\"EK-TM4C123GXL\"></a>\n    - @ref arm-cm_game_efm32-slstk3401a  <a class=\"preview board\" href=\"bd_EFM32-SLSTK3401A.jpg\" title=\"EFM32-SLSTK3401A\"></a>\n\n@next{exa_native}\n*/\n"
  },
  {
    "path": "doxygen/exa_apps.dox",
    "content": "/*##########################################################################*/\n/*! @page exa_apps Example Applications\n\n<p>To demonstrate QP-nano features, you need to create an application that does \"something interesting\". Instead of inventing this \"something interesting\" for each and every example, most of the example projects implement one of the three example applications, which are described on the separate pages:\n</p>\n\n- @subpage blinky\n- @subpage pelican\n- @subpage dpp\n- @subpage game\n\nAdditionally, the QP-nano distribution contains several application examples described in the <a class=\"extern\" target=\"_blank\" href=\"https://www.state-machine.com/psicc2\">PSiCC2</a> book.\n\n- Calculator\n- QHsmTst\n- PELICAN\n- ...\n*/\n\n/*##########################################################################*/\n/*! @page blinky Simple Blinky Application\n\n<p>The ultra-simple Blinky example is the embedded systems' equivalent of the venerable <i>\"Hello World!\"</i> program, that is, the simplest possible working QP application that does \"something\". In the case of Blinky, this \"something\" is blinking an LED at the rate of 1Hz, where an LED turns on and remains on for 0.5 seconds on then turns off and remains off for 0.5 seconds.\n</p>\n\n@image html blinky_ek-tm4c123gxl.gif Blinky on EK-TM4C123GLX (TivaC LaunchPad)\n\nThe ultra-simple Blinky application, which  consists of just one active object named `Blinky`, is intentionally kept small and illustrates only the most basic QP features, such as:\n\n- defining a simple Blinky active object (AO) @ref oop \"class\";\n- hand-coding the simple state machine of the Blinky AO;\n- using a periodic time event;\n- initializing the QP framework; and\n- starting an AO.\n\n\n\n@section blinky_sm State Machine\nThe very simple state machine of the Blinky AO is shown in the figure below:\n\n@image html SM_blinky.png \"State Machine of the Blinky AO\"\n\n<ul class=\"tag\">\n  <li><span class=\"tag\">1</span> The top-most initial transition in this state machine arms a QP time event (QTimeEvt_armX()) to deliver the `TIMEOUT` signal every half second, so that the LED can stay on for one half second and off for the other half.\n  </li>\n\n  <li><span class=\"tag\">2</span> The initial transition leads to state \"off\", which turns the LED off in the entry action  (`BSP_ledOff()`).\n  </li>\n\n  <li><span class=\"tag\">3</span> When the `TIMEOUT` event arrives in the \"off\" state, the \"off\" state transitions to the \"on\" state\n  </li>\n\n  <li><span class=\"tag\">4</span> The \"on\" state turns the LED on in the entry action (`BSP_ledOn()`).\n  </li>\n\n  <li><span class=\"tag\">5</span> When the `TIMEOUT` event arrives in the \"on\" state, the \"on\" state transitions back to \"off\", which cases execution of the entry action, in which the LED is turned off. From that point on the cycle repeats forever because the `TIMEOUT` events keep getting generated at the pre-determined rate.\n  </li>\n</ul>\n\n\n@section blinky_code State Machine Code\nThe Blinky state machine shown above is implemented in the blinky.c source file, as shown in the\nlisting below. The code has been specifically organized not to access target resources directly, but instead encapsulate all such access in the calls to the BSP (Board Support Package). So for example, instead of turning the LED on and off by writing to a specific GPIO register on an embedded board, the code calls the BSP functions `BSP_ledOn()` and `BSP_ledOff()`. These functions can then be defined differently for each Target board (or even a desktop workstation), without the need to change the state machine code.\n\n@note\nThe Blinky source code (blinky.c) is actually the same on all platforms, including Windows\nand the embedded boards. The only difference is in the Board Support Package (bsp.c), which is\nspecific for the target.\n\n@includelineno examples/arm-cm/blinky_ek-tm4c123gxl/blinky.c\n\nAs you can see, the structure of the state machine is very clearly recognizable in this code. Please refer to the Application Note <a class=\"extern\" target=\"_blank\" href=\"http://state-machine.com/doc/AN_Crash_Course_in_UML_State_Machines.pdf\">A Crash Course in UML State Machines</a> for exact explanation of the state machine coding techniques.\n\n\n@subsection blinky_ao Defining Active Object (AO) Class\n\n\n\n- hand-coding the simple state machine of the Blinky AO;\n- using a periodic time event;\n- initializing the QP framework; and\n- starting an AO.\n\n\n\n@next{dpp}\n*/\n\n/*##########################################################################*/\n/*! @page pelican PEdestrian LIght CONtrolled (PELICAN) Crossing\n\n@image html under_construction.jpg\n\n@next{game}\n*/\n\n/*##########################################################################*/\n/*! @page dpp Dining Philosophers Problem (DPP)\n\n@image html dpp_win32.jpg\n\n@image html under_construction.jpg\n\n@next{game}\n*/\n\n/*##########################################################################*/\n/*! @page game \"Fly 'n' Shoot\" Game\n\n@image html game_win32.jpg\n\n@image html under_construction.jpg\n\n*/\n\n\n"
  },
  {
    "path": "doxygen/exa_native.dox",
    "content": "/*##########################################################################*/\n/*! @page exa_native Native Examples (Built-in Kernels)\n\n<p>The QP-nano framework contains real-time kernels (@ref comp_qv and @ref comp_qk), so it can run natively (\"bare-metal\") on single-chip microcontrollers, completely replacing a traditional RTOS. Click on the following links to see examples for the specified built-in kernels:\n</p>\n\n- @subpage exa_qv\n- @subpage exa_qk\n\n\nClick on the following links to see examples for the specified CPU architectures:\n\n- @subpage exa_arm-cm\n- @subpage exa_arm7-9\n- @subpage exa_msp430\n- @subpage exa_avr\n\n*/\n/*##########################################################################*/\n/*! @page exa_qv QV-nano Kernel (Non-Preemptive, Priority-Based, Non-Blocking)\n\n@note\nYou can hover the mouse cursor over the <span class=\"board\"></span>&nbsp;&nbsp; icon in the list below to see the picture of the board.\n\n- @ref arm-cm_blinky_ek-tm4c123gxl <a class=\"preview board\" href=\"bd_EK-TM4C123GXL.jpg\" title=\"EK-TM4C123GXL\"></a>\n- @ref arm-cm_blinky_efm32-slstk3401a <a class=\"preview board\" href=\"bd_EFM32-SLSTK3401A.jpg\" title=\"EFM32-SLSTK3401A\"></a>\n- @ref arm-cm_dpp_ek-tm4c123gxl <a class=\"preview board\" href=\"bd_EK-TM4C123GXL.jpg\" title=\"EK-TM4C123GXL\"></a>\n- @ref arm-cm_dpp_efm32-slstk3401a <a class=\"preview board\" href=\"bd_EFM32-SLSTK3401A.jpg\" title=\"EFM32-SLSTK3401A\"></a>\n- @ref arm-cm_dpp_nucleo-l053r8 <a class=\"preview board\" href=\"bd_nucleo-l053r8.jpg\" title=\"NUCLEO-L053R8\"></a>\n- @ref arm-cm_dpp_nucleo-l152re <a class=\"preview board\" href=\"bd_nucleo-l152re.jpg\" title=\"NUCLEO-L152RE\"></a>\n- @ref arm-cm_game_efm32-slstk3401a <a class=\"preview board\" href=\"bd_EFM32-SLSTK3401A.jpg\" title=\"EFM32-SLSTK3401A\"></a>\n- @ref arm7-9_dpp_at91sam7s-ek <a class=\"preview board\" href=\"bd_AT91SAM7S-EK.jpg\" title=\"AT91SAM7S-EK\"></a>\n- @ref msp430_blinky_msp-exp430g2 <a class=\"preview board\" href=\"bd_MSP-EXP430G2.jpg\" title=\"MSP-EXP430G2\"></a>\n- @ref msp430_blinky_msp-exp430f5529lp <a class=\"preview board\" href=\"bd_MSP-EXP430F5529LP.jpg\" title=\"MSP-EXP430F5529LP\"></a>\n- @ref msp430_dpp_msp-exp430g2 <a class=\"preview board\" href=\"bd_MSP-EXP430G2.jpg\" title=\"MSP-EXP430G2\"></a>\n*/\n/*##########################################################################*/\n/*! @page exa_qk QK-nano Kernel (Preemptive, Priority-Based, Non-Blocking)\n\n@note\nYou can hover the mouse cursor over the <span class=\"board\"></span>&nbsp;&nbsp; icon in the list below to see the picture of the board.\n\n- @ref arm-cm_blinky_ek-tm4c123gxl <a class=\"preview board\" href=\"bd_EK-TM4C123GXL.jpg\" title=\"EK-TM4C123GXL\"></a>\n- @ref arm-cm_blinky_efm32-slstk3401a <a class=\"preview board\" href=\"bd_EFM32-SLSTK3401A.jpg\" title=\"EFM32-SLSTK3401A\"></a>\n- @ref arm-cm_dpp_ek-tm4c123gxl <a class=\"preview board\" href=\"bd_EK-TM4C123GXL.jpg\" title=\"EK-TM4C123GXL\"></a>\n- @ref arm-cm_dpp_efm32-slstk3401a <a class=\"preview board\" href=\"bd_EFM32-SLSTK3401A.jpg\" title=\"EFM32-SLSTK3401A\"></a>\n- @ref arm-cm_dpp_nucleo-l053r8 <a class=\"preview board\" href=\"bd_nucleo-l053r8.jpg\" title=\"NUCLEO-L053R8\"></a>\n- @ref arm-cm_dpp_nucleo-l152re <a class=\"preview board\" href=\"bd_nucleo-l152re.jpg\" title=\"NUCLEO-L152RE\"></a>\n- @ref arm-cm_game_efm32-slstk3401a <a class=\"preview board\" href=\"bd_EFM32-SLSTK3401A.jpg\" title=\"EFM32-SLSTK3401A\"></a>\n- @ref arm7-9_dpp_at91sam7s-ek <a class=\"preview board\" href=\"bd_AT91SAM7S-EK.jpg\" title=\"AT91SAM7S-EK\"></a>\n- @ref msp430_blinky_msp-exp430g2 <a class=\"preview board\" href=\"bd_MSP-EXP430G2.jpg\" title=\"MSP-EXP430G2\"></a>\n- @ref msp430_blinky_msp-exp430f5529lp <a class=\"preview board\" href=\"bd_MSP-EXP430F5529LP.jpg\" title=\"MSP-EXP430F5529LP\"></a>\n- @ref msp430_dpp_msp-exp430g2 <a class=\"preview board\" href=\"bd_MSP-EXP430G2.jpg\" title=\"MSP-EXP430G2\"></a>\n*/\n/*##########################################################################*/\n/*! @page exa_arm-cm ARM Cortex-M (Cortex-M0/M0+/M3/M4F)\n\n@note\nYou can hover the mouse cursor over the <span class=\"board\"></span>&nbsp;&nbsp; icon in the list below to see the picture of the board.\n\n- @subpage arm-cm_blinky_ek-tm4c123gxl <a class=\"preview board\" href=\"bd_EK-TM4C123GXL.jpg\" title=\"EK-TM4C123GXL\"></a>\n- @subpage arm-cm_blinky_efm32-slstk3401a <a class=\"preview board\" href=\"bd_EFM32-SLSTK3401A.jpg\" title=\"EFM32-SLSTK3401A\"></a>\n- @subpage arm-cm_dpp_ek-tm4c123gxl <a class=\"preview board\" href=\"bd_EK-TM4C123GXL.jpg\" title=\"EK-TM4C123GXL\"></a>\n- @subpage arm-cm_dpp_efm32-slstk3401a <a class=\"preview board\" href=\"bd_EFM32-SLSTK3401A.jpg\" title=\"EFM32-SLSTK3401A\"></a>\n- @subpage arm-cm_dpp_mbed-lpc1768  <a class=\"preview board\" href=\"bd_mbed-LPC1768.jpg\" title=\"mbed-LPC1768\"></a>\n- @subpage arm-cm_dpp_nucleo-l053r8  <a class=\"preview board\" href=\"bd_nucleo-l053r8.jpg\" title=\"NUCLEO-L053R8\"></a>\n- @subpage arm-cm_dpp_nucleo-l152re  <a class=\"preview board\" href=\"bd_nucleo-l152re.jpg\" title=\"NUCLEO-L152RE\"></a>\n- @subpage arm-cm_game_efm32-slstk3401a <a class=\"preview board\" href=\"bd_EFM32-SLSTK3401A.jpg\" title=\"EFM32-SLSTK3401A\"></a>\n*/\n/*##########################################################################*/\n/*! @page exa_arm7-9 ARM7/ARM9 (\"classic\" ARM)\n\n@note\nYou can hover the mouse cursor over the <span class=\"board\"></span>&nbsp;&nbsp; icon in the list below to see the picture of the board.\n\n- @subpage arm7-9_dpp_at91sam7s-ek <a class=\"preview board\" href=\"bd_AT91SAM7S-EK.jpg\" title=\"AT91SAM7S-EK\"></a>\n*/\n/*##########################################################################*/\n/*! @page exa_msp430 MSP430 (\"classic\" MSP430 and \"extended\" MSP430x)\n\n@note\nYou can hover the mouse cursor over the <span class=\"board\"></span>&nbsp;&nbsp; icon in the list below to see the picture of the board.\n\n- @subpage msp430_blinky_msp-exp430g2 <a class=\"preview board\" href=\"bd_MSP-EXP430G2.jpg\" title=\"MSP-EXP430G2\"></a>\n- @subpage msp430_blinky_msp-exp430f5529lp <a class=\"preview board\" href=\"bd_MSP-EXP430F5529LP.jpg\" title=\"MSP-EXP430F5529LP\"></a>\n- @subpage msp430_dpp_msp-exp430g2 <a class=\"preview board\" href=\"bd_MSP-EXP430G2.jpg\" title=\"MSP-EXP430G2\"></a>\n*/\n\n/*##########################################################################*/\n/*! @page arm-cm_blinky_ek-tm4c123gxl Blinky on EK-TM4C123GXL\n\n@tableofcontents\n\n<p>This example implements the @ref blinky \"Blinky sample application\" on the EK-TM4C123GLX board (ARM Cortex-M4F).\n</p>\n\n@image html bd_EK-TM4C123GXL.jpg EK-TM4C123GXL board\n\n\nThe Blinky example is located in the directory <span class=\"img folder\">qpc/examples/arm-cm/blinky_ek-tm4c123gxl</span>, which is organized as follows:\n\n@code{.x}\n qpn/                - QP-nano installation directory\n  +-examples/        - QP-nano examples directory (application)\n  | +-arm-cm/        - QP-nano examples for ARM Cortex-M\n  | | +-blinky_ek-tm4c123gxl/ - Blinky example on the EK-TM4C123GLX board\n  | | | +-qk/        - QK version\n  | | | | +-arm/     - ARM-KEIL toolchain\n  | | | | | +-blinky-qk.uvprojx - uVision project\n  | | | | +-gnu/     - GNU-ARM toolchain\n  | | | | | +-Makefile          - Makefile for building the project\n  | | | | +-iar/     - IAR-ARM toolchain\n  | | | | | +-blinky-qk.eww     - IAR EW-ARM workspace\n  | | | | +-bsp.c    - BSP for the QK-nano kernel\n  | | | +-qv/        - QV version\n  | | | | +-arm/     - ARM-KEIL toolchain\n  | | | | | +-blinky-qk.uvprojx - uVision project\n  | | | | +-gnu/     - GNU-ARM toolchain\n  | | | | | +-Makefile          - Makefile for building the project with GNU-ARM\n  | | | | +-iar/     - IAR-ARM toolchain\n  | | | | | +-blinky-qk.eww     - IAR EW-ARM workspace\n  | | | | +-bsp.c    - BSP for the QV-nano kernel\n  | | | +-win32-qv/  - Windows emulation (single thread)\n  | | | | +-Makefile          - Makefile for building the project with MinGW\n  | | | | +-bsp.c    - BSP for the Win32-QV\n@endcode\n\n\n\n@section arm-cm_blinky_ek-tm4c123gxl_feat Features Demonstrated\n- cooperative QV-nano kernel\n  + with ARM-KEIL toolchain\n  + with GNU-ARM toolchain\n  + with IAR-ARM toolchain\n- preemptive run-to-completion QK-nano kernel\n  + with ARM-KEIL toolchain\n  + with GNU-ARM toolchain\n  + with IAR-ARM toolchain\n- Windows emulation (console, single threaded: win32-qv)\n\n\n\n@section arm-cm_blinky_ek-tm4c123gxl_run Running the Example\nOnce programmed into the board, the example blinks the on-board LED about once a second.\n\n@image html blinky_ek-tm4c123gxl.gif Blinky on EK-TM4C123GLX (TivaC LaunchPad)\n\n\n\n@section arm-cm_blinky_ek-tm4c123gxl_win Windows Emulation\nThe Windows emulation is a simple console application that produces the following output:\n\n@image html blinky_win32.png Blinky emulation running in a Windows console\n\n@next{arm-cm_blinky_efm32-slstk3401a}\n*/\n/*##########################################################################*/\n/*! @page arm-cm_blinky_efm32-slstk3401a Blinky on EFM32-SLSTK3401A\n\n@tableofcontents\n\n<p>This example implements the @ref blinky \"Blinky sample application\" on the EFM32-SLSTK3401A board (ARM Cortex-M4F).\n</p>\n\n@image html bd_EFM32-SLSTK3401A.jpg EFM32-SLSTK3401A board\n\nThe Blinky example is located in the directory <span class=\"img folder\">qpc/examples/arm-cm/blinky_efm32-slstk3401a</span>, which is organized as follows:\n\n@code{.x}\n qpn/                - QP-nano installation directory\n  +-examples/        - QP-nano examples directory (application)\n  | +-arm-cm/        - QP-nano examples for ARM Cortex-M\n  | | +-blinky_efm32-slstk3401a/ - Blinky example on the EFM32-SLSTK3401A board\n  | | | +-qk/        - QK version\n  | | | | +-arm/     - ARM-KEIL toolchain\n  | | | | | +-blinky-qk.uvprojx - uVision project\n  | | | | +-gnu/     - GNU-ARM toolchain\n  | | | | | +-Makefile          - Makefile for building the project\n  | | | | +-iar/     - IAR-ARM toolchain\n  | | | | | +-blinky-qk.eww     - IAR EW-ARM workspace\n  | | | | +-bsp.c    - BSP for the QK-nano kernel\n  | | | +-qv/        - QV version\n  | | | | +-arm/     - ARM-KEIL toolchain\n  | | | | | +-blinky-qk.uvprojx - uVision project\n  | | | | +-gnu/     - GNU-ARM toolchain\n  | | | | | +-Makefile          - Makefile for building the project with GNU-ARM\n  | | | | +-iar/     - IAR-ARM toolchain\n  | | | | | +-blinky-qk.eww     - IAR EW-ARM workspace\n  | | | | +-bsp.c    - BSP for the QV-nano kernel\n  | | | +-workstation/ - Examples for workstations (Windows, Linux, MacOS)\n  | | | | +-Makefile   - Makefile for building the project with MinGW\n  | | | | +-bsp.c    - BSP for workstations\n@endcode\n\n\n\n@section arm-cm_blinky_efm32-slstk3401a_feat Features Demonstrated\n- cooperative QV-nano kernel\n  + with ARM-KEIL toolchain\n  + with GNU-ARM toolchain\n  + with IAR-ARM toolchain\n- preemptive run-to-completion QK-nano kernel\n  + with ARM-KEIL toolchain\n  + with GNU-ARM toolchain\n  + with IAR-ARM toolchain\n- Windows emulation (console, single threaded: win32-qv)\n\n\n\n@section arm-cm_blinky_efm32-slstk3401a_run Running the Example\nOnce programmed into the board, the example blinks the on-board LED about once a second.\n\n\n\n@section arm-cm_blinky_efm32-slstk3401a_win Windows Emulation\nThe Windows emulation is a simple console application that produces the following output:\n\n@image html blinky_win32.png Blinky emulation running in a Windows console\n\n@next{arm-cm_dpp_ek-tm4c123gxl}\n*/\n/*##########################################################################*/\n/*! @page arm-cm_dpp_ek-tm4c123gxl DPP on EK-TM4C123GXL\n\n@tableofcontents\n\n<p>This example implements the @ref dpp \"Dining Philosophers Problem\" sample application on the EK-TM4C123GLX board (ARM Cortex-M4F).\n</p>\n\n@image html bd_EK-TM4C123GXL.jpg EK-TM4C123GXL board\n\nThe DPP example is located in the directory <span class=\"img folder\">qpc/examples/arm-cm/dpp_ek-tm4c123gxl</span>, which is organized as follows:\n\n@code{.x}\n qpn/                - QP-nano installation directory\n  +-examples/        - QP-nano examples directory (applications)\n  | +-arm-cm/        - QP-nano examples for ARM Cortex-M\n  | | +-dpp_ek-tm4c123gxl/ - DPP example on the EK-TM4C123GLX board\n  | | | +-lint/      - PC-Lint version (static analysis of the application code)\n  | | | | +-lin.bat  - batch file for running the PC-Lint\n  | | | | +-options.lnt - PC-Lint options file for the DPP application code\n  | | | +-qk/        - QK version\n  | | | | +-arm/     - ARM-KEIL toolchain\n  | | | | | +-dpp-qk.uvprojx - uVision project\n  | | | | +-gnu/     - GNU-ARM toolchain\n  | | | | | +-Makefile          - Makefile for building the project\n  | | | | +-iar/     - IAR-ARM toolchain\n  | | | | | +-dpp-qk.eww     - IAR EW-ARM workspace\n  | | | | +-ti/      - TI-ARM toolchain (CCS)\n  | | | | | +-.ccsproject  - CCS project\n  | | | | | +-.cproject    - C Eclipse project\n  | | | | | +-.project     - Eclipse project\n  | | | | +-bsp.c    - BSP for the QK-nano kernel\n  | | | | +-main.c   - main() for the QK-nano kernel\n  | | | +-qv/        - QV version\n  | | | | +-arm/     - ARM-KEIL toolchain\n  | | | | | +-dpp-qk.uvprojx - uVision project\n  | | | | +-gnu/     - GNU-ARM toolchain\n  | | | | | +-Makefile          - Makefile for building the project with GNU-ARM\n  | | | | +-iar/     - IAR-ARM toolchain\n  | | | | | +-blinky-qk.eww     - IAR EW-ARM workspace\n  | | | | +-bsp.c    - BSP for the QV-nano kernel\n  | | | | +-main.c   - main() for the QV-nano kernel\n@endcode\n\n\n\n@section arm-cm_dpp_ek-tm4c123gxl_feat Features Demonstrated\n- cooperative QV-nano kernel\n  + with ARM-KEIL toolchain\n  + with GNU-ARM toolchain\n  + with IAR-ARM toolchain\n  + with TI-ARM toolchain (CCS)\n- preemptive run-to-completion QK-nano kernel\n  + with ARM-KEIL toolchain\n  + with GNU-ARM toolchain\n  + with IAR-ARM toolchain\n  + with TI-ARM toolchain (CCS)\n- Windows emulation with GUI (single threaded, win32-qv)\n\n\n\n@section arm-cm_dpp_ek-tm4c123gxl_run Running the Example\nOnce programmed into the board, the example rapidly toggles the Blue LED from the idle loop (blue LED glows) and toggles the Red and Green LEDs as the Philosophers change their state. Additionally, you can depress and hold the SW1 button (left) to PAUSE the application (Table transitions into the \"paused\" state). Releasing the SW1 button causes transition back to the \"serving\" state.\n\n*/\n/*##########################################################################*/\n/*! @page arm-cm_dpp_efm32-slstk3401a DPP on EFM32-SLSTK3401A\n\n@tableofcontents\n\n<p>This example implements the @ref dpp \"Dining Philosophers Problem\" sample application on the EFM32-SLSTK3401A board (ARM Cortex-M4F).\n</p>\n\n@image html bd_EFM32-SLSTK3401A.jpg EFM32-SLSTK3401A board\n\nThe DPP example is located in the directory <span class=\"img folder\">qpc/examples/arm-cm/dpp_efm32-slstk3401a</span> and includes versions for @ref qv \"cooperative QV-nano kernel\", the  @ref qk \"preemptive QK-nano kernel\", and the @ref qxk \"preemptive dual mode QXK RTOS kernel\"  each provided for the ARM-KEIL, GNU-ARM, and IAR-ARM. The following annotated directory listing describes the contents of the example folder:\n\n@code{.x}\n qpn/                - QP-nano installation directory\n  +-examples/        - QP-nano examples directory (application)\n  | +-arm-cm/        - QP-nano examples for ARM Cortex-M\n  | | +-dpp_efm32-slstk3401a/ - DPP example on the EK-TM4C123GLX board\n  | | | +-lint/      - PC-Lint version (static analysis of the application code)\n  | | | | +-lin.bat  - batch file for running the PC-Lint\n  | | | | +-options.lnt - PC-Lint options file for the DPP application code\n  | | | +-qk/        - QK version\n  | | | | +-arm/     - ARM-KEIL toolchain\n  | | | | | +-dpp-qk.uvprojx - uVision project\n  | | | | +-gnu/     - GNU-ARM toolchain\n  | | | | | +-Makefile          - Makefile for building the project\n  | | | | +-iar/     - IAR-ARM toolchain\n  | | | | | +-dpp-qk.eww     - IAR EW-ARM workspace\n  | | | | +-bsp.c    - BSP for the QK-nano kernel\n  | | | | +-main.c   - main() for the QK-nano kernel\n  | | | +-qv/        - QV version\n  | | | | +-arm/     - ARM-KEIL toolchain\n  | | | | | +-dpp-qk.uvprojx - uVision project\n  | | | | +-gnu/     - GNU-ARM toolchain\n  | | | | | +-Makefile          - Makefile for building the project with GNU-ARM\n  | | | | +-iar/     - IAR-ARM toolchain\n  | | | | | +-blinky-qk.eww     - IAR EW-ARM workspace\n  | | | | +-bsp.c    - BSP for the QV-nano kernel\n  | | | | +-main.c   - main() for the QV-nano kernel\n@endcode\n\n\n\n@section arm-cm_dpp_efm32-slstk3401a_feat Features Demonstrated\n- cooperative QV-nano kernel\n  + with ARM-KEIL toolchain\n  + with GNU-ARM toolchain\n  + with IAR-ARM toolchain\n- preemptive run-to-completion QK-nano kernel\n  + with ARM-KEIL toolchain\n  + with GNU-ARM toolchain\n  + with IAR-ARM toolchain\n- Windows emulation with GUI (single threaded, win32-qv)\n\n\n\n@section arm-cm_dpp_efm32-slstk3401a_run Running the Example\nOnce programmed into the board, the example rapidly toggles the LED1 from the idle loop (LED1 glows) and toggles LED0 as the Philosophers change their state. Additionally, you can depress and hold the BTN0 button (left) to PAUSE the application (Table transitions into the \"paused\" state). Releasing the BTN0 button causes transition back to the \"serving\" state.\n\n*/\n/*##########################################################################*/\n/*! @page arm-cm_dpp_mbed-lpc1768 DPP on mbed-LPC1768\n\n@image html bd_mbed-LPC1768.jpg mbed-LPC1768 board\n\nDining Philosophers Problem (DPP) example for  NXP LPC1768 MCU (Cortex-M3) with GNU-ARM toolchain.\n\n@image html mbed-LPC1768_button.jpg Adding External Button to mbed-LPC1768\n@n\n@n\n@image html under_construction.jpg\n*/\n/*##########################################################################*/\n/*! @page arm-cm_dpp_nucleo-l053r8 DPP on NUCLEO-L053R8\n\n@image html bd_nucleo-l053r8.jpg NUCLEO-L053R8 board\n\n@ref dpp \"Dining Philosophers Problem (DPP)\" example for NUCLEO-L053R8 MCU (Cortex-M0+).\n\nDemonstrated built-in kernels:\n- cooperative @ref qv with ARM-Clang, ARM-Keil, GNU-ARM (Makefile and Atollic TRUEstudio), and IAR-ARM toolchains\n- preemptive, run-to-completion @ref qk with ARM-Clang, ARM-Keil, GNU-ARM, and IAR-ARM toolchains\n\n\nFeatures:\n- multiple active objects, including 5 instances of the same AO class (Philo)\n- QK_onContextSw() callback function\n\n*/\n/*##########################################################################*/\n/*! @page arm-cm_dpp_nucleo-l152re DPP on NUCLEO-L152RE\n\n@image html bd_nucleo-l152re.jpg NUCLEO-L152RE board\n\n@ref dpp \"Dining Philosophers Problem (DPP)\" example for NUCLEO-L152RE MCU (Cortex-M3).\n\nDemonstrated built-in kernels:\n- cooperative @ref qv with ARM-Clang, ARM-Keil, GNU-ARM, and IAR-ARM toolchains\n- preemptive, run-to-completion @ref qk with ARM-Clang, ARM-Keil, GNU-ARM, and IAR-ARM toolchains\n\n\nFeatures:\n- multiple active objects, including 5 instances of the same AO class (Philo)\n\n*/\n/*##########################################################################*/\n/*! @page arm-cm_game_efm32-slstk3401a \"Fly 'n' Shoot\" Game on EFM32-SLSTK3401A\n\n@image html bd_EFM32-SLSTK3401A.jpg EFM32-SLSTK3401A board\n\n\"Fly 'n' Shoot\" game example for Silicon Labs Pearl Gecko MCU (Cortex-M4F), ARM (MDK-ARM), GNU-ARM, IAR EWARM toolsets.\n\n@image html game_win32.png Game emulation running in Windows GUI\n@n\n@n\n@image html under_construction.jpg\n*/\n\n/*##########################################################################*/\n/*! @page exa_arm7-9 ARM7 / ARM9\n\nThe native (bare-metal) QP-nano examples for the \"classic\" ARM7/ARM9 are as follows:\n\n- @subpage arm7-9_dpp_at91sam7s-ek <a class=\"preview board\" href=\"bd_AT91SAM7S-EK.jpg\" title=\"AT91SAM7S-EK\"></a>\n*/\n/*##########################################################################*/\n/*! @page arm7-9_dpp_at91sam7s-ek DPP on AT91SAM7S-EK\n\n@image html bd_AT91SAM7S-EK.jpg AT91SAM7S-EK board\n\nDining Philosophers Problem (DPP) example for Atmel AT91SAM7S MCU (ARM7) with GNU-ARM toolset.\n\n@image html under_construction.jpg\n*/\n\n/*##########################################################################*/\n/*! @page exa_avr AVR (AVRmega)\n\nThe native (bare-metal) QP-nano examples for the 8-bit AVRmega are as follows:\n\n- @subpage avr_blinky_arduino-uno <a class=\"preview board\" href=\"bd_Arduino-UNO.jpg\" title=\"Arduino-UNO\"></a>\n- @subpage avr_dpp_arduino-uno <a class=\"preview board\" href=\"bd_Arduino-UNO.jpg\" title=\"Arduino-UNO\"></a>\n*/\n/*##########################################################################*/\n/*! @page avr_blinky_arduino-uno Blinky on Arduino-UNO\n\n@image html bd_Arduino-UNO.jpg Arduino-UNO board\n\nSimple Blinky example for Arduino-UNO with GNU-AVR and IAR-AVR toolsets.\n\n@image html under_construction.jpg\n*/\n/*##########################################################################*/\n/*! @page avr_dpp_arduino-uno DPP on Arduino-UNO\n\n@image html bd_Arduino-UNO.jpg Arduino-UNO board\n\nDining Philosophers Problem (DPP) example for Arduino-UNO with GNU-AVR and IAR-AVR toolsets.\n\n@image html Arduino-UNO_button.jpg Adding External Button to Arduino-UNO\n@n\n@n\n@image html Arduino-UNO_button_schem.jpg External Button Schematics\n@n\n@n\n@image html under_construction.jpg\n*/\n\n/*##########################################################################*/\n/*! @page exa_msp430 MSP430\n\nThe native (bare-metal) QP-nano examples for MSP430 are as follows:\n\n- @subpage msp430_blinky_msp-exp430g2 <a class=\"preview board\" href=\"bd_MSP-EXP430G2.jpg\" title=\"MSP-EXP430G2\"></a>\n- @subpage msp430_blinky_msp-exp430f5529lp <a class=\"preview board\" href=\"bd_MSP-EXP430F5529LP.jpg\" title=\"MSP-EXP430F5529LP\"></a>\n- @subpage msp430_dpp_msp-exp430g2 <a class=\"preview board\" href=\"bd_MSP-EXP430G2.jpg\" title=\"MSP-EXP430G2\"></a>\n*/\n/*##########################################################################*/\n/*! @page msp430_blinky_msp-exp430g2 Blinky on MSP-EXP430G2\n\n@image html bd_MSP-EXP430G2.jpg MSP-EXP430G2 board\n\nSimple Blinky example for MSP-EXP430G2 with CCS-430 and IAR-430 toolsets.\n\n@image html under_construction.jpg\n*/\n/*##########################################################################*/\n/*! @page msp430_blinky_msp-exp430f5529lp Blinky on MSP-EXP430F5529LP\n\n@image html bd_MSP-EXP430F5529LP.jpg MSP-EXP430F5529LP board\n\nSimple Blinky example for MSP-EXP430F5529LP with CCS-430 and IAR-430 toolsets.\n\n@image html under_construction.jpg\n*/\n/*##########################################################################*/\n/*! @page msp430_dpp_msp-exp430g2 DPP on MSP-EXP430G2\n\n@image html bd_MSP-EXP430G2.jpg MSP-EXP430G2 board\n\nDPP example for MSP-EXP430G2 with CCS-430 and IAR-430 toolsets.\n\n@image html under_construction.jpg\n*/\n"
  },
  {
    "path": "doxygen/exa_os.dox",
    "content": "/*##########################################################################*/\n/*! @page exa_os Examples for Workstations (Windows/POSIX)\n\n<p>The <span class=\"img folder\">examples/workstation</span> folder contains all examples described in the book <a class=\"extern\" target=\"_blank\" href=\"https://www.state-machine.com/psicc2\" >Practical UML Statecharts in C/C++, 2nd Edition</a> and more. These examples include:\n</p>\n\n- <span class=\"img folder\">blinky</span> Simple \"Blinky\" for Windows (command line)\n- <span class=\"img folder\">calc</span> Calculator example from Chapter 2 of PSiCC2\n- <span class=\"img folder\">comp</span> Orthogonal Component design pattern\n- <span class=\"img folder\">comp_qm</span> Orthogonal Component with QM model design pattern\n- <span class=\"img folder\">defer</span> Deferred Event design pattern\n- <span class=\"img folder\">dpp</span> DPP (command-line)\n- <span class=\"img folder\">dpp-comp</span> DPP with the \"Orthogonal Component\" pattern (command-line)\n- <span class=\"img folder\">dpp-gui</span> DPP (with GUI on Windows)\n- <span class=\"img folder\">game-gui</span> \"Fly 'n' Shoot\" game from Chapter 1 of PSiCC2\n- <span class=\"img folder\">history</span> Transition-to-History design pattern (hand-coded)\n- <span class=\"img folder\">pelican</span> PEdestrian LIgth CONtrolled Crossing (command line)\n- <span class=\"img folder\">qhsmtst</span> Test State Machine based on ::QHsm with QM model\n- <span class=\"img folder\">reminder</span> Reminder design pattern from Chapter 5 of PSiCC2\n- <span class=\"img folder\">reminder2</span> Reminder design pattern different version\n\n@sa\n@ref win32-qv \"QP-nano Win32-QV Emulation\"\n*/\n"
  },
  {
    "path": "doxygen/gs.dox",
    "content": "/*! @page gs Getting Started\n\n@section gs_obtain Downloading &amp; Installing QP-nano&trade;\n@tableofcontents\n\n<p>The most recommended way of obtaining QP-nano&trade; is by downloading the <a class=\"extern\" target=\"_blank\" href=\"https://www.state-machine.com/#Downloads\"><b>QP-bundle&trade;</b></a>, which includes QP-nano&trade; as well as other QP frameworks and also the <a class=\"extern\" target=\"_blank\" href=\"https://www.state-machine.com/qm/\">QM&trade; modeling tool</a> and the <a class=\"extern\" target=\"_blank\" href=\"https://www.state-machine.com/products/\">QTools&trade; collection</a>. The main advantage of obtaining QP-nano&trade; bundled together like that is that you get all components, tools and examples ready to go.\n\n@note\n<a class=\"extern\" target=\"_blank\" href=\"https://www.state-machine.com/#Downloads\"><strong>QP-bundle&trade;</strong></a> is the **most recommended** way of downloading and installing QP-nano&trade;. However, if you are allergic to installers and GUIs or don't have administrator privileges you can also **download and install QP-nano&trade; separately** as described in the Application Note: \"Getting Started with QP-nano\" below.\n\n\n\n@section gs_an Getting Started with QP-nano App Note\nThe Quantum Leaps Application Note <a class=\"extern\" target=\"_blank\" href=\"https://www.state-machine.com/doc/AN_Getting_Started_with_QP-nano.pdf\"><strong>Getting Started with QP-nano</strong></a> provides step-by-step instructions on how to get started with QP-nano quickly.\n\n@htmlonly\n<div class=\"image\">\n<a target=\"_blank\" href=\"https://www.state-machine.com/doc/AN_Getting_Started_with_QP-nano.pdf\"><img border=\"0\" src=\"img/AN_Getting_Started_with_QP-nano.jpg\" title=\"Download PDF\"></a>\n<div class=\"caption\">\nApplication Note: Getting Started with QP-nano\n</div>\n</div>\n@endhtmlonly\n\n\n\n@section gs_files Directories and Files\n\nThe following annotated directory tree lists the top-level directories provided in the standard QP-nano distribution.\n\n<ul class=\"tag\">\n  <li><span class=\"img folder\">qpn</span>\n  </li>\n  <ul class=\"tag\">\n    <li><span class=\"img folder\">3rd_party</span> &mdash; Third-Party code used in the QP-nano @ref ports \"ports\" and @ref exa \"examples\"\n    </li>\n    <li><span class=\"img folder\">examples</span> &mdash; @ref exa \"QP-nano Examples\"\n    </li>\n    <li><span class=\"img folder\">ports</span> &mdash; @ref ports \"QP-nano Ports\"\n    </li>\n    <li><span class=\"img folder\">include</span> &mdash; Platform-independent QP-nano API (see <a href=\"dir_d44c64559bbebec7f509842c48db8b23.html\"><strong>include</strong></a>)\n    </li>\n    <li><span class=\"img folder\">source</span> &mdash; Platform-independent QP-nano source code (see @ref <a href=\"dir_b2f33c71d4aa5e7af42a1ca61ff5af1b.html\"><strong>source</strong></a>)\n    </li>\n  </ul>\n</ul>\n\n@note\nThe standard QP-nano distribution contains many @ref exa \"Example Projects\", which are specifically designed to help you learn to use QP-nano and to serve you as starting points for your own projects.\n\n@next{struct}\n*/\n"
  },
  {
    "path": "doxygen/history.dox",
    "content": "/**\n@page history Revision History\n\n@section qpn_6_9_0 Version 6.9.0, 2020-08-21\n\n- Applied the Doxygen commands `extends` and `memberof` to indicate inheritance and to explicitly specify base classes for all derived classes (e.g., QActive extends QHsm).\n- Fixed some errors in documentation comments in source code, etc.\n- Bumped version to 6.9.0 for compatibility with QM 5.1.3\n\n@attention\nThis is the last QP-nano release. The QP-nano framework is being __phased out__ and is not recommended for new product development.\n\n\n@section qpn_6_8_2 Version 6.8.2, 2020-06-30\n\n- Updated 3rd_party/CMSIS to version 5.7.0\n- Updated example projects for ARM Cortex-M with ARM/KEIL to use the startup in the odler ARM assembly (as opposed to ARMCLANG assembly)\n- Updated the doxygen styling\n\n\n@section qpn_6_8_1 Version 6.8.1, 2020-04-04\n\nFixedhe following bugs:\n\nThis release updates the QP-nano ports and examples for workstations (Windows and POSIX) by consistently applying the \"safe\" versions of services from `<stdio.h>` and `<string.h>`. The \"portable\" versions of these services are defined as macros in the `safe_std.h` header file and include the following services:\n\n- `MEMMOVE_S()` -> `memmove_s()`\n- `STRCPY_S()` -> `strcpy_s()`\n- `STRCPY_S()` -> `strcpy_s()`\n- `STRCAT_S()` -> `strcat_s()`\n- `SNPRINTF_S()` -> `_snprintf_s()`\n- `PRINTF_S()` -> `printf_s()`\n- `FPRINTF_S()` ->`fprintf_s()`\n- `FREAD_S()` -> `fread_s()`\n- `FOPEN_S()` -> `fopen_s()`\n- `LOCALTIME_S()` -> `localtime_s()`\n\nThese \"safe\" functions are mapped to the best approximation of these services available on a given platform. For example, `STRCPY_S()` is mapped to `strcpy_s()` on Windows and `strcpy()` on POSIX (Linux/MacOS/etc.).\n\nFinally, this release consistently applies the #Q_NORETURN macro to the Q_onAssert() implementations in the QP-nano examples.\n\n\n\n@section qpn_6_8_0 Version 6.8.0, 2020-03-21\n\nSource code changes:\n\n- Fixed inconsistencies between QP API declarations in the .h files and definitions in the .c files, such as different parameter names in declarations and definitions (MISRA-C:2012).\n\n- Removed a lot of excessive type casting of compile-time constants, such as `(uint8_t)0`, which is now coded simply as `0U`\n\n- Introduced #Q_NORETURN macro for Q_onAssert(), which can (if defined) inform the compiler that Q_onAssert() does not return. This can potentially improve the code generation and can improve diagnostics generated by the compiler as well as static code analysis tools.\n\n\nUpdated Examples:\n\nConverted most of the examples for ARM-MDK from the no-longer maintained compiler-5 (RVDS) to the new ARM Compiler-6 (ARM-clang). The examples for ARM Compiler-6 are located in the `armclang` sub-directories.\n\n@note\nThe older ARM Compiler-5 is still supported, but will be phased out in the future. The only examples for ARM Compiler-5 are for the EK-TM4C123GXL (TivaC LanuchPad) board. These examples are located in the `arm` sub-directories.\n\n\n\n@section qpn_6_7_0 Version 6.7.0, 2019-12-30\nThe main purpose of this release is providing improved compliance with MISRA-C:2012 (including  MISRA-C:2012-Amendment-1) and also to provide support for the [<b>PC-Lint-Plus</b>](https://www.gimpel.com/) static analysis tool (see also feature request [#169](https://sourceforge.net/p/qpc/feature-requests/169/)). Specifically, the QP-nano source code and some examples have been adjusted to comply with MISRA-C:2012-Amendment-1 rules, with all deviations captured in the PC-Lint-Plus configuration files. These PC-Lint-Plus configuration files have been provided in the new \"port\" to PC-Lint-Plus in the directory qpn/ports/lint-plus/.\n\n@note\nThe support for the older PC-Lint 9.x and the older MISRA-C:2004 has been dropped to avoid confusion and conflicts with the newer MISRA-C:2012 and the newer PC-Lint-Plus.\n\n\nThis release also includes the offline documentation for  **this** particular version of QP-nano (in the `html/` folder). To view the offline documentation, open the file `html/index.html` in your web browser. (The online HTML documention for the **latest** version of QP-nano remains located at: https://www.state-machine.com/qpc/ )\n\nAlso, this release drops (no longer supports) the following depricated facilities from the qpn.h header file:\n- Q_ROM_VAR  - just remove from your code\n- Q_RENTRANT - just remove from your code\n- QMSM_INIT() - use QHSM_INIT() instead\n- QMSM_DISPATCH() - use QHSM_DISPATCH() instead\n- QF_onIdle() - use QV_onIdle() instead\n- QMsm_ctor() - use QHsm_ctor() instead\n- QMsm_init() - use QHSM_INIT() instead\n- QMsm_dispatch() - use QHSM_DISPATCH() instead\n- QMActive_ctor() - use QActive_ctor() instead\n- QMsm_init() - use QHSM_INIT() instead\n- QActive_post() - use QACTIVE_POST() instead\n- QActive_postISR() - use QACTIVE_POST_ISR() instead\n- QActive_arm() - use QActive_armX() instead\n- QActive_disarm() - use QActive_disarmX() instead\n- Q_TIMERSET - define QF_TIMEEVT_USAGE instead\n\nAlso, this release updates the Windows-GUI examples with the QWIN Prototyping Toolkit to work with the latest Visual Studio 2019 and specifically with the Resource Editor now available. Specifically here, the Game-GUI example (qpn\\examples\\arm-cm\\game_efm32-slstk3401a\\win32-gui) and the DPP-GUI example (qpn\\examples\\arm-cm\\dpp_efm32-slstk3401a\\win32-gui) have been updated to build with the Visual Studio 2019.\n\nFinally, this release fixes the following bugs:\n- [bug#255 \"IAR-ARM \"Multi-file Compilation\" fails for QK and QXK applications\"](https://sourceforg/bugs/255/)\n\n\n\n@section qpn_6_6_0 Version 6.6.0, 2019-10-31\nThe main purpose of this release is the change in distribution of the QP-nano framework, which is now bundled together with the other QP frameworks (QP/C and QP/C++) as well as QM, and the QTools collection into \"QP-bundle\". This \"QP-bundle\" provides a single, streamlined and simplified download and installation of all QP frameworks and all the accompanying tools.\n\nThis release brings also the following changes:\n\n- removed \"//\" (double slash) from all comments for compliance with the MISRA-C:2012 required Rule 3.1. (The \"//\" sequence was used in the URLs, such as \"http://...\").\n- converted inclusion guards in header files to uppercase as per coding convention for macros.\n- replaced \"vtbl\" with \"vtable\" in QP-nano source code\n- extended the range of #Q_PARAM_SIZE to 8 (8 corresponding to uint64_t)\n- fixed [bug#252 qassert.h used as standalone in qpn](https://sourceforge.net/p/qpc/bugs/252/)\n\n\n\n@section qpn_6_5_1 Version 6.5.1, 2019-06-11\nThis release adds ports and examples for PIC24/dsPIC 16-bit MCUs with MPLAB-X and XC16 compiler toolchain.\n\n\n\n@section qpn_6_5_0 Version 6.5.0, 2019-03-30\nThis QP-nano release matches the [QM release 4.5.0](https://www.state-machine.com/qm/history.html#qm_4_5_0), which introduced new implementation for QP/C++. Even though this has no impact on the QP-nano state machine implementation with QM, this release is needed for compatibility checking between QP and QM. This release comes with several models for **QM 4.5.0**.\n\n\n\n@section qpn_6_4_0 Version 6.4.0, 2019-02-10\nThis release brings the following changes:\n\n- added assertion to QHSM_INIT() to make sure the the virtual-pinter (vptr) is initialized\n\n@note\nThese additional assertions require #Q_DEFINE_THIS_FILE or #Q_DEFINE_THIS_MODULE at the top of the .c file that calls QHSM_INIT().\n\n- modified qassert.h to work correctly when assertions are disabled with #Q_NASSERT and also updated the QP/C source code to build correctly without assertions\n- modified Makefiles for workstations (Windows and POSIX) to use compiler options -std=c99 for C and -std=c++11 for C++ as well as -pedantic option.\n\n\n\n@section qpn_6_3_8 Version 6.3.8, 2018-12-31\nThe main purpose of this release is the update the `Makefiles` that use the [GNU-ARM Embedded Toolchain](https://developer.arm.com/open-source/gnu-toolchain/gnu-rm) to match the recent update in [QTools for Windows 6.3.8](https://sourceforge.net/projects/qpc/files/QTools/). Specifically, all `Makefiles` in the `examples` directory have been updated to use the GNU-ARM toolchain located in `qtools\\gnu_arm-none-eabi` and use the tools prefix **arm-none-eabi-**.\n\n@note\nThe `Makefiles` that use the GNU-ARM included in this release require [QTools for Windows version 6.3.8 or newer](https://sourceforge.net/projects/qpc/files/QTools/) and will **NOT** work with the older QTools collection.\n\n\n\n@section qpn_6_3_7 Version 6.3.7, 2018-12-07\nThe main purpose of this release is re-designing of the @ref exa_os \"examples for workstations\" (previously `win32-qv` and `posix-qv`). All these types of examples have been consolidated in the @ref exa_os \"exampes/workstation\" folder, where the provided `Makefiles` have been extended to be cross-platform so that they work on Windows, Linux, and MacOS without changes. To facilitate the creation of truly portable, cross-platform examples, the existing @ref ports_os \"QP ports to Windows/POSIX\" have been augmented with abstractions for portable console access.\n\n\n\n@section qpn_6_3_3 Version 6.3.3, 2018-06-22\nThis release fixes the following bugs:\n\n- [bugs:#218 \"__flash attribute in avr port\"](https://sourceforge.net/p/qpc/bugs/218/)\n\n- [bug#216 \"Generated code for QP version check violates MISRA-C Rule 10.1\"](https://sourceforge.net/p/qpc/bugs/216/).\n\n- [bug#217 \"GNU-ARM -fstack-protector incompatible with the QP ports to GNU-ARM\"](https://sourceforge.net/p/qpc/bugs/217/).\n\n- [bug#215 \"QP is internally inconsistent in calling assertion macros\"](https://sourceforge.net/p/qpc/bugs/215/).\n\nAlso, this release demonstrates the new features of QM 4.3.0 in several example models (qpn/examples/ directory).\n\nFinally, this release updates `3rd_party/CMSIS/Include` to the latest version from GitHub.\n\n\n\n@section qpn_6_3_0 Version 6.3.0, 2018-05-10\nThis release improves the command-line scripts for flash programming of the supported MCUs. Specifically, the flash.bat batch files for EFM32-SLSTK3401A, EK-TM4C123GXL, and for Arudino UNO have been updated.\n\n\n\n@section qpn_6_2_0 Version 6.2.0, 2018-03-16\nThis release updates the QP-nano ports to win32-qv and posix-qv to allow a \"tickless\" mode, where the \"tickerThread\" is not created. This mode is set by configuring the system clock tick rate to 0 (QF_setTickRate(0)).\n\nAdditionally, this revision updates the posix-qv port implementation to wait for the condition variable in a customary wile() loop.\n\n\n\n@section qpn_6_1_1 Version 6.1.1, 2018-02-18\nThe main purpose of this release is adding the context-switch callback to the preemptive @ref qkn \"QK-nano\" kernel. The QK_onContextSw() callback function provides a mechanism to perform additional custom operations when QK switches context from one thread to another. To avoid extra overhead when this functionality is not needed and for backwards-compatiblity with the existing applications, the callback is enabled only when the macro #QK_ON_CONTEXT_SW is defined. The macro can be defined either directly in command-line for the compiler, or in the QK-nano port file (qpn_port.h). Examples for the context-switch callbacks have been provided for the @ref arm-cm_dpp_nucleo-l053r8 \"NUCLEO-L053R8\" (Cortex-M0+) and the @ref arm-cm_dpp_ek-tm4c123gxl \"EK-TM4C123GXL\" (Cortex-M4F).\n\nAnother purpose of this release is adding the support for the [<strong>ARM Compiler 6 (ARM-Clang)</strong>](https://developer.arm.com/products/software-development-tools/compilers/arm-compiler), which is a C/C++ toolchain for ARM processors based on the modern [Clang frontend](https://clang.llvm.org/) and the [LLVM framework](https://llvm.org/). This release adds the ARM-Clang ports and examples for all built-in kernels (QV-nano and QK-nano) for the ARM Cortex-M CPU cores.\n\nAlso, this release changes the ARM Cortex-M ports for the IAR-ARM toolchain in that it replaces the assembly modules with the equivalent C implementation. All existing example projects for IAR-ARM have been updated to use the `qkn_port.c` files instead of `qkn_port.s` files.\n\nAlso, this release adds new project files for the Atollic TRUEstudio for STM32. The TRUEstudio projects (Eclipse) have been added for the @ref arm-cm_dpp_nucleo-l053r8 \"NUCLEO-L053R8\" (Cortex-M0+) and the @ref arm-cm_dpp_nucleo-l152re \"NUCLEO-L152RE\" (Cortex-M3).\n\nFinally, this relese updates the CMSIS to version 5.3.0 (see `qpn/3rd_party/CMSIS`\n\n\n\n@section qpn_6_0_4 Version 6.0.4, 2018-01-10\nThis release replaces assembly with C implementation in the ARM-KEIL ports or the QK-nano kernel to Cortex-M to take advantage of the `__asm` functions. (NOTE: this change has impact on the existing QP-nano applications that use the ARM-KEIL toolchain and the QK kernel.)\n\nAlso, this release adds an example of the Dining Philosophers Problem (DPP) re-designed with the [\"Orthogonal Component\" state pattern](https://www.state-machine.com/doc/Pattern_Orthogonal.pdf). The application uses only one active object (Table), while the Philos are stateful components of Table. The example is located in `qpn\\examples\\win32-qv\\dpp_comp`.\n\n\n\n@section qpn_6_0_3 Version 6.0.3, 2017-12-12\nThis release replaces attributes of ::QActive class and ::QTimeEvtCtr type from type uint_fast8_t to uint8_t. For the ARM Cortex-M port, these changes reduce the memory footprint of each ::QActive instance from 40 to 26 bytes (35% improvement).\n\nAlso, the ARM Cortex-M port and examples for the TI-ARM compiler have been removed. (Projects for the TI CCS can use the GNU-ARM toolchain and the existing GNU-ARM ports).\n\n\n\n@section qpn_6_0_1 Version 6.0.1, 2017-11-10\nThis release includes a workaround for the GNU-ARM compiler bug for the ARMv6-M architecture (Cortex-M0/M0+/M1), which can lead to generation of incorrect code for the QP-nano critical section at certain gcc optimization levels (such as -O). This bug was first discovered and filed as [bug#184](https://sourceforge.net/p/qpc/bugs/184/). The bug affected the GNU-ARM ports to both built-in kernels @ref qvn \"QV-nano\" and @ref qkn \"QK-nano\".\n\n@attention\nThis release no longer contains the directory `qpn/source`, which was scheduled to be phased out in QP5. In QP6 the source code is found only in the `qpn/src` directory.\n\n\n@note\nThis QP-nano 6.0.1 release is the minimum version required in the upcoming QM 4.1.0.\n\n\n\n@section qpn_5_9_8 Version 5.9.8, 2017-09-15\nThis release implements the feature request\n<a href=\"https://sourceforge.net/p/qpc/feature-requests/126/\" target=\"_blank\" class=\"extern\">#126</a> \"Allow non-asserting\nevent posting for zero-margin allocations\". Specifically, calling\nACTIVE_POST_X() and ACTIVE_POST_X_ISR() with the margin argument of zero\nwill no longer assert if the allocation/posting fails.\nThe asserting version is these macros uses the special value of the @p margin\nargument of #QF_NO_MARGIN.\n\nImproved comments in the soruce code.\n\nModifed ARM Cortex-M examples with the GNU-ARM toolset to be consistent with QP/C++ (support for RTTI and C++ Exception handling), as follows:\n\n- removed definitions of `_init()` and `_fini()` from the GNU-ARM startup code for all supported boards in the `3rd_party` directory\n\n- commented out the call to `__libc_init_array()` in the GNU-ARM startup code for all supported boards in the `3rd_party` directory (because it requires `_init()`)\n\n- Modified all GNU-ARM linker scripts (.ld files) to add the following symbols:\n\n@verbatim\n   __exidx_start = .;\n   .ARM.exidx   : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } >RAM\n   __exidx_end = .;\n@endverbatim\n\n\n-----------------------------------------------------------------------------\n@section qpn_5_9_7 Version 5.9.7, 2017-08-18\nThis release phases out the QK-nano mutex and replaces it with an equivalent selective QK-nano scheduler locking up to the specified ceiling priority. Specifically, this feature has been implemented with two new operations QK_schedLock() and QK_schedUnlock(). This is done with consistency with the QK and QXK kernels in QP/C/C++. The advantage of the new implementation is also the ability of the scheduler locks to nest, which was not the case with the QK-nano mutex.\n\nAll related QK-nano examples have been updated to use the selective scheduler locking instead of the mutex. The new blocking QXK mutex has been demonstrated in the following updated examples:\n- @ref arm-cm_dpp_efm32-slstk3401a\n- @ref arm-cm_dpp_ek-tm4c123gxl\n\n@attention\nThe changes to QK-nano **break backwards-compatibly** with the existing code that relies these features. In the existing code, the mutexes should be replaced with selective scheduler locking.\n\nThis release also updates CMSIS to version 5.1.0 (3rd_party/CMSIS).\n\nThis release also adds the @ref api \"API Reference\" section to the QP-nano documentation.\n\n\n-----------------------------------------------------------------------------\n@section qpn_5_9_6 Version 5.9.6, 2017-08-04\nThis release changes the organization of the QP-nano source code to make it more friendly for the Eclipse CDT, as proposed in the <a href=\"https://sourceforge.net/p/qpc/feature-requests/123/\" target=\"_blank\" class=\"extern\">feature request #123 \"Eclipse-friendly source directory structure for QP\"</a>. Specifically, the QP-nano source code is now provided in the `qpn/src/` directory with the following structure:\n\n@verbatim\nqpn\\\n  +-source\\  - exitsting source directory with \"flat\" structure\n  |            (for backwards-compatibility)\n  +-src\\     - new source directory grouped by functionality\n     +-qfn\\  - core framework (QEP-nano + QF-nano)\n     +-qkn\\  - QK-nano kernel\n     +-qvn\\  - QV-nano kernel\n@endverbatim\n\nThis release consistently changes all example projects (for all toolchains) to use the **src/** directory for QP-nano source code, instead of the **source/** directory.\n\n@note The original `qpn/source` directory is still provided for backwards compatibility with the existing QP-nano projects. This directory will be phased out in the future QP-nano releases. Please use the new source code structure provided in the `qpn/src` directory.\n\nFinally, this release adds protection in the IRQ priorities initialization in QK-nano/QV-nano for ARM Cortex-M3/M4/M7, so that the number of IRQs is extracted from bits 0-2 of the ICTR register (INTLINESNUM).\n\n\n\n@section qpn_5_9_5 Version 5.9.5, 2017-07-20\nThis release fixes the following bug:\n- <a href=\"https://sourceforge.net/p/qpc/bugs/178/\" class=\"extern\">bug#178</a> \"GNU-ARM compiler reports \"Error: unaligned opcodes...\" in startup code for QP/C/C++/nano examples\". The bug fix entails modifying the startup code for the GNU-ARM compiler in the `3rd_party` directory. Specifically, the proper alignment directives have been added to the inline assembly in the exception handlers.\n\n\n\n@section qpn_5_9_3 Version 5.9.3, 2017-07-03\nThis release fixes the following bugs:\n\n- bug#176 \"Incorrect initialization of PendSV interrupt priority in\nQK-nano for ARM Cortex-M0/M0+\"\n(https://sourceforge.net/p/qpc/bugs/176/)\n\n- bug#162 \"QF critical sections require modification for M7 core\"\nhttps://sourceforge.net/p/qpc/bugs/162/\n\nAdditionally, this release adapts the Makefiles for GNU-ARM to the new\nlocation of the GNU-ARM toolset, which is now included in the QTools\nCollection (v 5.9.1) for Windows.\n\nThis release also upgrades CMSIS to version 5.0.2.\n\n\n\n@section qpn_5_8_2 Version 5.8.2, 2017-02-08\nThis release improves compatibility of assertion numbering between\nQP-nano and QP/C/C++. Specifically, qepn.c file now uses the same\nassertion-IDs as qep_hsm.c (QP/C) and qep_hsm.cpp (QP/C++).\n\nThis release upgrades CMSIS to version 5.0.1.\n\nFinally, this release fixes the following bugs:\n- bug#152 Typo (qpc\\ports\\arm7-9\\qk\\gnu\\qk_port.s:42) prevents compilation\n\n\n\n@section qpn_5_8_1 Version 5.8.1, 2016-12-16\nThis release is in response to a recent finding that many QP users of the\nports to ARM Cortex-M3/M4 forget to explicitly set their interrupt priorities,\nas described in the AppNote <a href=\"https://www.state-machine.com/doc/AN_ARM-Cortex-M_Interrupt-Priorities.pdf\" target=\"_blank\" class=\"extern\">\"Setting ARM Cortex-M Interrupt Priorities in QP 5.x\"</a>.\n\nSpecifically, this release improves safety of QP ports to ARM Cortex-M3/M4,\nby initializing the interrupt priorities to a safe default in a generic,\nportable way. This QP port includes such a fix for QV-nano/QK-nano ports to ARM Cortex-M3/M4.\n\nChanges in detail:\n- modified the QV and QK source code to call QV_init() and QK_init(), respectively.\n- modified the ARM Cortex-M ports of QV-nano and QK-nano to initialize\n  priorities all exceptions and IRQs to the safe value #QF_BASEPRI.\n\n@note The QV-nano ports to ARM Cortex-M now have a new **qvn_port.c** module that needs to\n  be added to the build.\n\n- added the header file **cmsis_ccs.h** to qpc/3rd_party/CMSIS/Include directory\n (used in the examples for the Code Composer Studio). The file has been\n dropped during the upgrade to CMSIS 5.0.1, because it is not part of the\n standard distribution.\n\n\n\n@section qpn_5_8_0 Version 5.8.0, 2016-11-07\nThis release simplifies the QP-nano framework by removing the QMsm-style\nstate machine implementation strategy introduced in version 5.0.0. Moving\nforward, the only supported state machine implementation strategy in\nQP-nano will be the QHsm-strategy and the upcoming QM 4.x will provide\nonly the QHsm-strategy for QP-nano applications.\n\nSpecifically, the QMsm base class, and QMActive base class have been\nremoved, along with the accompanying macros. The QP-nano compatibility\nlayer (file qpn.h) provides some of these macros for backwards-\ncompatibility, but the underlying implementation must be, in fact,\nbased on QHsm.\n\nAll examples and QM models have been updated to use only the QHsm-style\nimplementation strategy. The models also require the new upcoming QM 4.0.0.\n\nAdditionally, this release fixes the following bugs:\n\n-bug#144 Obsolete Win32 API in qwin_gui.c\n\nFinally, this release includes the latest CMSIS-5, which now replaces the\nolder CMSIS-4.5.\n\n\n\n@section qpn_5_7_3 Version 5.7.3, 2016-10-07\nThis release fixes the following bugs:\n- bug#140 (PendSV_Handler() exception stacked PC not halfword aligned).\n\n\n\n@section qpn_5_7_2 Version 5.7.2, 2016-09-30\nThis release changes the internal QK-nano implementation to match the QK\nkernel implementation used in QP/C and QP/C++. (e.g., QK_sched_() has been\nrenamed to QK_activate_() and QK_schedPrio_() to QK_sched_()). These\nchanges fall into the category of refactoring and have no impact on the API\nor performance.\n\n\n\n@section qpn_5_7_0 Version 5.7.0, 2016-08-31\nThis release release changes once more the QK-nano port to ARM Cortex-M, to reduce the interrupt latecy. This has been achieved by shortening the critical section in the PendSV exception. Also, this QK port to Cortex-M no longer uses the NMI exception.\n\nFinally, this release replaces all absolute paths with relative paths in all CCS-Eclipse project files (for TivaC, Hercules, and MSP430).\n\n\n\n@section qpn_5_6_5 Version 5.6.5, 2016-06-09\nThis release adds support for the new board: EFM32-SLSTK3401A (Pearl Gecko Starter Kit from Silicon Labs). This board replaces the Stellaris EK-LM3S811 board, which has been discontinued. (The Stellaris EK-LM3S811 board had been used in the \"Fly 'n' Shoot\" game example accompanying the PSiCC2 book).\n\nThis release also introduces a new version of the QWIN GUI Toolkit in the Windows prototypes for the \"Fly 'n' Shoot\" game and the DPP-GUI\nversion (see https://www.state-machine.com/products/index#QWIN).\n\nAdditionally, this release also includes the QP-nano integration with the emWin emgedded GUI from SEGGER, which is also the same product as\nuC/GUI distributed by Micrium (@ref exa_emwin).\n\nFinally, this relase comes with updated project files for TI Code Composer Studio (both for ARM Cortex-M and for MSP430).\n\nThis release fixes the following bugs:\n- bug#130 (POSIX port stop->start leads to reuse of sestroyed mutex).\n\n\n\n@section qpn_5_6_4 Version 5.6.4, 2016-04-25\nThis release fixes two serious bugs:\n- Bug #126 (https://sourceforge.net/p/qpc/bugs/126 ) in the QK preemptive scheduler introduced in QP 5.6.2.\n- Bug #128 (https://sourceforge.net/p/qpc/bugs/128 ) in the QK port to ARM Cortex-M introduced back in QP 5.6.1\n\n\n\n@section qpn_5_6_2 Version 5.6.2, 2016-04-06\nThe main purpose of this release is to eliminate the need to define the QF_MAX_ACTIVE macro (the number of active objects) in qpn_conf.h header file and match it with the dimension of the QF_active[] global array.\n\nInstead, starting with this QP-nano version, the dimension of the QF_active[] array can be passed as the argument to the QF_init() function, as follows: QF_init(Q_DIM(QF_active));\n\n@note For backwards compatibility the QF_MAX_ACTIVE macro, if defined, is still recognized and calling QF_init(Q_DIM(QF_active)) from main() is not necessary.\n\nChanges in detail:\n\n1. Added internal variable QF_maxActive_ to store the number of active objects and replaced all occurrences of QF_MAX_ACTIVE with it.\n\n2. Moved the implementation of QF_init() from qfn_init.c to qfn.c and changed it to take the maxActive argument.\n\n3. Eliminated the source file qfn_init.c.\n\n4. Modified the POSIX-QV port to use the new initialization strategy\n\n5. Modified the WIN32-QV port to use the new initialization strategy\n\n6. Removed the macro QF_MAX_ACTIVE from all examples and added call to QF_init(Q_DIM(QF_active)) instead.\n\n7. Fixed the 3rd-party file startup_stm32l32l1xx.c to include exceptions for Cortex-M3 (MemManage_Handler, BusFault_Handler, and UsageFault_Handler).\n\n8. Updated the 3rd-party files for the EK-TM4C123GXL board (TivaC LaunchPad).\n\n\n\n@section qpn_5_6_1 Version 5.6.1, 2016-01-11\n\nThis QP-nano release provides a new version of the QK-nano ports to ARM Cortex-M, which do not use the SVC_Handler (Supervisor Call). This is done to make the QK-nano ports compatible with various \"hypervisors\" (such as mbed uVisor or Nordic SoftDevice), which use the SVC exception. This release contains the updated QK-nano ports to ARM Cortex-M for all supported compilers: ARM-Keil, GNU-ARM, IAR EWARM, and TI-CCS-ARM.\n\nChanges in detail:\n\n1. Modified the ARM Cortex-M QK-nano ports to not use the SVC_Handler.\n\n2. Modified the GNU-ARM ports of QK for ARM Cortex-M, to use the __ARM_ARCH macro to distinguish among different architectures (ARCHv6 vs ARCHv7).\n\n3. Added error directives to source files from different built-in kernels (QV and QK) to generate meaningful error messages when these files are mixed in one project. For example, a project based on QV will report errors when source files for QK-nano are included in it.\n\n4. Updated CMSIS from 4.2 to 4.3 in qpn/3rd-party/CMSIS\n\n\n\n@section qpn_5_5_1 Version 5.5.1, 2015-10-06\n\nThis release adds state machine operations for implementing the shallow history mechanism. The operations are called QMsm_childStateObj() and QHsm_childState(), for QMsm and QHsm classes, respectively, because they compute a child state of a given parent, such that the child belongs to the same state hierarchy as the current state.\n\nThis release also improves the AAPCS compliance of the ARM Cortex-M port to the QK preemptive kernel. Specifically, the PendSV handler in assembly did not always maintain the 8-byte stack alignment, which is required by AAPCS. This version corrects the stack misalignment in the qk_port.s files for all supported ARM compilers (ARM-Keil, GNU, IAR, and TI CCS). All these ports should also be ready for ARM Cortex-M7.\n\nAlso, this release adds support for the TI CCS ARM compiler. Specifically, a new ARM Cortex-M ports have been added (in directories `qpn\\ports\\arm-cm\\qk\\ti\\` and `qpn\\ports\\arm-cm\\qk\\ti\\`) and TI CCS example projects have been provided (in directories `qpn\\examples\\arm-cm\\dpp_ek-tm4c123gxl\\qk\\ti\\` and `qpn\\examples\\arm-cm\\dpp_ek-tm4c123gxl\\qv\\ti\\`).\n\n\nChanges in detail:\n\n1. Added the new prototypes QMsm_childStateObj() and QHsm_childState() to qepn.h\n\n2. Added implementation of QMsm_childStateObj() and QHsm_childState() to qepn.c\n\n3. Modified the qk_port.s assembly implementation for all supported ARM Cortex-M toolsets (ARM-Keil, GNU, IAR, and TI CCS)\n\n4. Added QP-nano Cortex-M port to TI CCS.\n\n5. Added CCS example projects in `qpn\\ports\\arm-cm\\qk\\ti\\` and `qpn\\ports\\arm-cm\\qk\\ti\\\n\n\n\n@section qpn_5_4_2 Version 5.4.2, 2015-06-07\n\nThe main focus of this release is to improve the support for \"dual targeting\" of QP-nano applications, which is developing of deeply embedded code as much as possible on the desktop OS, such as Windows. Experience shows that \"dual targeting\" dramatically improves productivity of embedded systems developers, perhaps more than any other technique.\n\nThis release makes it possible to use exactly the **same** application code, main function, and the Board Support Package interface (bsp.h) on both deeply embedded target and on Windows. The only differences between these targets can be completely encapsulated in the Board Support Package implementation (bsp.c).\n\nThe support for \"dual targeting\" in this QP-nano release works both for Win32 console and Win32 GUI applications. The Win32-GUI support enables developers to easily emulate the front-panels of the embedded devices, with LCD-screens (graphical and segmented), LEDs, buttons, switches, sliders, etc.\n\nChanges in detail:\n\n1. Modified the QP-nano port to Windows (@ref win32-qv) so that it supports both Win32 console and Win32-GUI applications. The newly introduced pre-processor #WIN32_GUI macro is now required to use the Win32-GUI facilities.\n\n2. Added portable \"safe\" macros from `<stdio.h>` and `<string.h>` to the QP-nano port to Windows. These macros encapsulate the differences between Microsoft Visual C++ and other compilers (such as MinGW).\n\n3. Simplified the structure of the QP-nano Windows port by eliminating one level of directories for the compilers used. Both VC++ and MinGW builds can now be run in the same port directory.\n\n4. Modified the QF_stop() function in the QP-nano port to @ref win32-qv, so that it unblocks the QV event-loop and thus lets the application terminate.\n\n5. Modified all examples for Windows to use the new port structure.\n\n6. Improved all Makefiles (for the MinGW toolset) in all Windows examples, to make them easier to adapt to custom applications, both Win32 console and Win32 GUI.\n\n7. Moved several examples from the `examples/win32/` and examples/win32-qv directories to `examples/arm-cm/` directory with native embedded examples for ARM Cortex-M. This co-location of the Win32 emulation with the embedded code running on the actual board demonstrates better the \"dual targeting\" development approach.\n\n8. Made the ::QActiveCB (::QActive Control Block) to the QP-nano backwards-compatibility layer as deprecated. Instead, the newer QP-nano applications should use ::QMActiveCB.\n\n9. Updated all Windows examples to the latest QP API by compiling the code with the macro #QP_API_VERSION set to 9999 (latest API without backwards compatibility)\n\n\n\n@section qpn_5_4_0 Version 5.4.0, 2015-05-31\n\nThis release changes the basic philosophy of packaging and distributing the QP-nano framework by **combining** the \"QP-nano Baseline Code\" with all currently available \"QP-nano Development Kits\" (QDK-nano). This is done to eliminate any potential mistakes in downloading and installing separate pieces of code.\n\nThis release also changes the active object class hierarchy so that ::QMActive is now more fundamental and is the base class for ::QActive. (Previously ::QMActive was a subclass of ::QActive). The newly added documentation section about @ref classes \"QP-nano Design\" shows the current class hierarchy.\n\n@note\nBecause the types ::QMActive and ::QActive are equivalent in QP-nano, this change has minimal impact on the applications, but it is now more correct to use ::QMActive as the base class for all \"opaque\" active object pointers.\n\nAdditionally, this release alignes the QP-nano framework better with the rest of the QP framework family (QP/C and QP/C++), so that fewer changes are needed to move applications between QP-nano and QP/C.\n\nFinally, this release adds periodic time events (timers) to QP-nano. The feature is demonstrated by many provided examples (e.g., \"Blinky\", \"Fly 'n' Shoot\" game, PELICAN crossing).\n\n\nThe aforementioned changes have also the following ripple effects:\n\n1. The structure of the QP-nano ports has been modified to match QP/C and to avoid repetitions. The QP-nano application no longer need to provide and #include the complete port `qpn_port.h` header file, which is now deprecated. Insted QP-nano application code needs to #include the <span class=\"img file_h\">qpn.h</span> (QP-nano API) header file, which also now contains the QP-nano backwards-compatibility layer.\n\n2. The application is now only responsible for providing the <span class=\"img file_h\"><a href=\"qpn__conf_8h.html\"><strong>qpn_conf.h</strong></a></span> file to set up the basic configuration for QP-nano. Examples of the `qpn_config.h` configurations are provided in all supplied QP-nano examples.\n\n3. The actual port (e.g., the interrupt disabling policy for tasks and interrupts, interrupt entry/exit code, etc.) is included from the <span class=\"img folder\">@ref ports</span> folder. This <span class=\"img folder\">@ref ports</span> folder has been reorganized to contain all currently available QP-nano ports. The ports are organized into two categories: @ref ports_native \"native QP-nano ports\" (\"bare-metal\") and @ref ports_os \"ports to big operating systems\" (Windows and Linux).(**NOTE**: the ports are now documented in the this <strong>QP-nano Reference Manual</strong>. Each port sub-directory contains a <span class=\"img qp_link\">README</span> link to the corresponding page in the online documentation)\n\n4. Expanded the QP-nano time events (timers) with the ability to fire periodically. The feature is controlled by the preprocessor switch #QF_TIMEEVT_PERIODIC. When this macro is defined (in the `qpn_config.h` header file), the signature of the QActive_armX() function contains one more `interval` parameter. The `interval` parameter allows you to specify the interval of the periodic timeout. If the `interval` is zero, the time event is one-shot.\n\n5. It is no longer necessary to define the **QPN environment variable** to build the QP-nano examples. All directories and files referenced by example projects are **relative** to the project folder. This change reflects the fact that most development tools add source files to the project using relative paths.\n\n6. The QP-nano <span class=\"img folder\">@ref exa</span> folder has been reorganized to reduce the repetitions and contains all currently available QP-nano examples. The folder includes four categories of examples: @ref exa_native \"native QP-nano examples\" (\"bare-metal\") and @ref exa_os \"examples for big operating systems\" (Windows and Linux). The <span class=\"img folder\">examples</span> folder has been expanded to contain all currently available QP-nano examples, many of them are new in this release. (**NOTE**: the currently available examples are now documented in the <strong>QP-nano Reference Manual</strong>. Each example sub-directory contains a <span class=\"img qp_link\">README</span> link to the corresponding page in the online documentation)\n\n7. A new <span class=\"img folder\">3rd_party</span> folder created to contain the Third-Party code used in the QP-nano ports and examples, such as MCU register files, low-level startup code, device drivers, etc. The <span class=\"img folder\">3rd_party</span> folder avoids the need to repeat such code in every project. Also, the separation of the Third-Party components helps to clearly indicate code that comes from various sources, and to which Quantum Leaps, LLC expressly makes **no claims of ownership**. The Third-Party software components included in this \"3rd_party\" folder are licensed under a variety of different licensing terms that are defined by the respective owners of this software and are spelled out in the README.txt or LICENSE.txt files included in the respective sub-folders.\n\n8. This release also comes with the much expanded online <strong>QP-nano Reference Manual</strong>, which is cross-linked with the ports and examples.\n\n\nChanges in detail:\n\n1. Renamed the \"Vanilla\" scheduler to the @ref comp_qv \"QV-nano cooperative kernel\" for symmetry with the @ref comp_qk \"QK-nano preemptive kernel\". Renamed QF_onIdle() callback to QV_onIdle().\n\n2. Removed class ::QFsm (which is now deprecated). Legacy state machines coded in the \"QFsm-style\" will continue to work, but will use the ::QHsm implementation internally. There is no longer any efficiency advantage in using the \"QFsm-style\" state machines.\n\n3. Updated @ref exa_arm-cm \"ARM Cortex-M examples\" and provided new examples for NXP mbed-LPC1768, and STM32 NUCLEO-L053R8, and NUCLEO-L152RE boards. All examples now use the latest CMSIS (V4.3.0). All ARM Cortex-M exampels are provided for the ARM-KEIL, GNU-ARM, and IAR-ARM toolsets.\n\n4. Added the native @ref arm7-9 \"port\" and @ref exa_arm7-9 \"examples\" to the @ref arm7-9 \"classic ARM7/9\" with AT91SAM7S-EK board and the IAR-ARM toolset.\n\n5. Added the native @ref avr \"port\" and @ref exa_avr \"examples\" to the AVR (AVRmega) with GNU-AVR and IAR-AVR toolsets. The @ref exa_avr \"examples\" are provided for the Arduino-UNO board.\n\n6. Added the native @ref msp430 \"port\" and @ref exa_msp430 \"examples\" to MSP430 with TI CCS-430 and IAR-430 toolsets. The @ref exa_msp430 \"examples\" are provided for the MSP430 LauchPad boards (the MSP-EXP430G2 and MSP-EXP430F5529LP for the \"classic\" MSP430 and \"extened\" MSP430X, respectively).\n\n7. Updated @ref win32-qv \"port to Win32-QV\" (Windows with cooperative \"Vanilla\" scheduler, previously known as Win32-1T). Modified the port to apply a \"fudge factor\" in over-sizing QP-nano event queues and event pools, to minimize the risk of overflowing queues/pools due to non-deterministic Windows behavior.\n\n8. Renamed the POSIX port to @ref posix-qv \"POSIX-QV\" (POSIX with cooperative \"Vanilla\" scheduler). Modified the port to apply a \"fudge factor\" in over-sizing QP-nano event queues and event pools, to minimize the risk of overflowing queues/pools due to non-deterministic behavior under POSIX.\n\n\n\n@section qpn_5_3_0 Version 5.3.0, 2014-04-18\n\nThis release adds the \"transition to history\" (deep history) feature to\nboth QHsm and QMsm state machines and their subclasses. This QP-nano\nrelease matches the new QM modeling tool Version 3.1.0, which now\nsupports the \"transition to history\" connector and the corresponding\ncode generation for transitions to history.\n\n@note QP-nano 5.3.0 breaks backwards-compatibility with QP-nano\napplications developed for QP-nano 4.x and 5.x. However, the update to\nQP-nano 5.3.0 typically requires only to add #include <stdbool.h> and\n#include \"qassert.h\" to the qpn_port.h header file in the application\ndirectory. Any QM models created for the previous QP-nano versions\nremain fully compatible with QP-nano 5.3.0, but you need to re-generate\nthe code with QM 3.1.0.\n\nThis release comes with new and updated QDKs for MSP430. Specifically,\nnew QDKs have been added for the MSP-EXP430G2 LaunchPad as well as the\nMSP-EXP420F5529LP LauchPad. Also, the QDKs for MSP430 with the TI Code\nComposer Studio are now part of the baseline QP-nano distribution.\n\nThis release also goes several steps towards compliance with the new\nMISRA-C:2012 rules. For example, unused tag declarations have been\nremoved (MISRA-C:2012 Rule 2.4), the C99 standard Boolean data type in\n<stdbool.h> has been added instead of uint8_t for stricter type\nanalysis, and the C99 data types uint_fast8_t and uint_fast16_t are used\ninstead of the non-standard uint_t.\n\nFinally, this QP-nano release brings deep changes in the source code\ncomments and the doxygen documentation generated from the source code.\nAll comments have now more consistent structure, and every function is\nnow documented in the implementation file (.c file), whereas the\ninterface (.h files) contain only the brief descriptions of the\nfunctions. This re-structuring of documentation is performed as part of\nthe validation and verification effort that has begun to provide a\ncertification package for QP-nano for safety standards, such as IEC\n61508 and ISO 62304 (FDA 510(k)).\n\n\nChanges in detail:\n\n1. Moved detailed documentation of functions from the header files (.h)\nto implementation files (.c).\n\n2. Added macros: Q_TRAN_HIST(), QM_TRAN_HIST(), and QM_TRAN_EP(), to\n\"qepn.h\"\n\n3. Added attributes entryAction and initAction to the QMState struct in\n\"qepn.h\" (needed for transition to history).\n\n4. Changed return type to bool in virtual functions QMsmVtbl.post() and\nQMsmVtbl.postISR() as well as the implementations: QActive_postX_(), and\nQActive_postXISR_().\n\n5. In qepn.h, changed the QState return type from action/state handler\nfunctions to uint_fast8_t.\n\n6. In qfn.h, changed the type of QActive attributes prio, head, tail,\nand nUsed to uint_fast8_t.\n\n7. In qfn.h, changed the type of of QTimeEvtCtr, as well of the tickRate\nargument in QF_tickXISR(), QActive_armX(), and QActive_disarmX() to\nuint_fast8_t.\n\n8. Changed the return type from QK_schedPrio_() (priority) as well as\nthe p argument in QK_sched_() to uint_fast8_t\n\n9. Added new QDKs-nano/IAR for MSP-EXP430G2 LaunchPad\n\n10. Added new QDKs-nano/IAR for MSP-EXP420F5529LP LauchPad LaunchPad\n\n11. Added new QDKs-nano/CCS for MSP-EXP430G2 LaunchPad\n\n12. Added new QDKs-nano/CCS for MSP-EXP420F5529LP LauchPad LaunchPad\n\n\n\n@section qpn_5_2_0 Version 5.2.0, 2013-12-30\n\nThis release matches the new QM 3.0.0, for which it provides model\nexamples based on the new QMsm/QMActive classes. This, in turn\ndemonstrates the new state machine code generation that QM3 was\nspecifically designed to do.\n\nThis release also provides consistent API for late-binding (\"virtual\"\nfunctions) introduced in QP-nano 5.0.0, as opposed to using regular\nlinking (early-binding) for direct function calls, such as\nQHsm_dispatch(). A clearly separated API compatibility layer is\nprovided, whereas you can configure a level of backwards compatibility\nby means of the #QP_API_Version macro. This facilitates migrating\nexisting QP applications to the newer API.\n\nAn cyclomatic complexity (McCabe V(G)) analysis of this Version has been\nperformed and the maximum V(G) complexity per function has been reduced\nto 15 by breaking up the QHsm_dispatch_() function. The code metrics\nreport, including cyclomatic complexity by function as well as other\nstandard code metrics (e.g., lines of code), is now included in the\n\"QP-nano Reference Manual\", see\nhttps://www.state-machine.com/qpn/metrics.html\n\nFinally, this release demonstrates safer stack allocation and safer\nexception handlers in all ARM Cortex-M examples. The techniques are\ndescribed in the Embedded.com article \"Are We Shooting Ourselves in the\nFoot with Stack Overflow?\".\n\n\nChanges in detail:\n\n1. In file qepn.h renamed the implementation functions, such as\nQHsm_init() and QHsm_dispatch() to QHsm_init_() and QHsm_dispatch_()\n(note the underscore, which means that the functions should not be\ncalled directly by the application code). The only correct way of\ncalling the functions is through the macros QMSM_INIT() and\nQMSM_DISPATCH(), respectively. The latter macros implement late-binding\n(\"virtual\" functions in C).\n\n2. In file qfn.h renamed the implementation functions, such as\nQActive_postX() and QActive_postXISR() to QActive_postX_(), and\nQActive_postXISR_, respectively (note the underscore, which means that\nthe functions should not be called directly by the application code).\nThe only correct way of calling the functions is through the macros\nQACTIVE_POST(), QACTIVE_POST_X(), QACTIVE_POST_ISR() and\nQACTIVE_POST_X_ISR(). The latter macros implement late-binding\n(\"virtual\" functions in C).\n\n3. for backwards compatibility, in files qepn.h and qfn.h defined \"API\nCompatibility Layer\", which is controlled by the macro #QP_API_VERSION.\nFor example, specifying QP_API_VERSION=500 chooses API compatible with\nQP Version 5.0.0 or newer, but excludes APIs that became deprecated in\nthe earlier versions. If the macro #QP_API_Version is not defined by the\nuser (typically on the command line for the compiler), the default value\nof 0 is assumed. This default means maximum backwards compatibility\n(from Version 0.0.0). On the other hand, higher values of\n#QP_API_Version mean less backwards compatibility. For example\nQP_API_VERSION=9999 will specify compatibility only with the latest\nVersion of QP-nano. The API Compatibility Layer for QP_API_Version < 500\nprovides macros: QHsm_init(), QHsm_dispatch(), QActive_post() and\nQActive_postISR(). These macros resolve to QMSM_INIT() and QMSM_DISPATCH(),\nQACTIVE_POST() and QACTIVE_POST_ISR() respectively, so that calls based\non the older API also use late-binging.\n\n4. In file qepn.c, broken up the function QHsm_dispatch() into two\nfunctions QHsm_dispatch_() and QHsm_tran_(). This has reduced the\ncyclomatic complexity from 25 for the original function, to 11 and 15\nfor QHsm_dispatch_() and QHsm_tran_(), respectively.\n\n5. Updated all examples for ARM Cortex-M to use safer stack allocation\nand safer exception handlers in all ARM Cortex-M examples, as described\nin the Embedded.com article \"Are We Shooting Ourselves in the Foot with\nStack Overflow?\".\n\n\n\n@section qpn_5_1_1 Version 5.1.1, 2013-10-15\n\n@note QP-nano 5.1.1 remains backwards-compatible with the existing\nQP-nano 4.x applications, except QP-nano 5.1.x requires changing the\ninterrupt priority setting in the existing ARM Cortex-M applications.\nSpecifically, you need to set the interrupt priorities equal or lower\nthan <b>QF_AWARE_ISR_CMSIS_PRI</b> constant provided in the qfn_port.h\nheader file.\n\nThe main purpose of this milestone QP-nano release is to enable the QM\nmodeling tool to generate a new type of state machine code (requires QM\nVersion 3.0.0, which is still in development as of this writing).\n\nThis new type of state machine implementation in QP-nano 5 is based on\nthe new QMsm class, which takes advantage of the QM tool as an advanced\n\"state machine compiler\". QM can perform optimizations that were not\npossible with the C preprocessor alone. Specifically, the QM can easily\ndetermine the LCA (Least-Common-Ancestor) state for every transition and\nit can generate the complete transition-sequences (sequences of\nexit/entry/initial actions) at code-generation time. The resulting code\ncan be still highly human-readable, but it will no longer be\nhuman-maintainable. The lab tests indicate that the new \"housekeeping\"\ncode for executing hierarchical state machines can be about twice as\nfast as the previous code based on the QHsm class. Additionally, the new\ncode requires less run-time support (smaller event processor) and uses\n70% less of stack space in the call to the QMsm_dispatch() operation\nthan QHsm_dispatch().\n\nThe next big feature introduced in QP-nano 5 is polymorphism (\"virtual\"\nfunctions) for basic operations, such as state machine init() and\ndispatch() and active object post(), and postISR() operations. Making\ntheses functions \"virtual\" means that all these operations can be\nre-defined in sub-classes of state machines and active objects. This, in\nturn, allows a single application to use a mix of state machine classes\nderived from the new QMsm base class with state machines derived from\nthe QHsm base class, each one using a different state machine\nimplementation strategy. Additionally, the virtual post() operation\ncould be very useful for implementing various Proxy active objects\n(e.g., for active object event posting across networks).\n\nAnother big feature introduced in QP-nano 5 are the multiple,\nindependent system clock tick rates for time events. The number of\nsystem tick rates can be now configured in the QP-nano ports. For\nexample, a digital watch can use a \"fast\" clock tick rate of 100Hz and a\n\"slow\" clock tick rate of only 1Hz. These clock tick rates can be\nmanaged independently, so for example, the fast clock tick rate can be\nshut down in the absence of time events assigned to this rate. This\nfeature allows the applications to implement sophisticated power-saving\npolicies.\n\nAs yet another important feature, QP-nano adds a new \"extended\" API for\nnon-asserting event allocation and posting. This feature is intended for\nsituations, where an application is hammered with external events that\nat times arrive too fast for processing, but that can be ignored under\nthe overload conditions. In those cases firing an assertion inside the\nframework is undesirable. The non-asserting API allows a designer to\nrequest a safety-margin when allocating or posting an event. The event\nis not allocated/posted if the safety margin cannot be satisfied at the\ntime of the call. On the other hand, the safety margin allows the\napplication to still use the regular (asserting) event allocation and\nposting, because the event pools and event queues are guaranteed to\nmaintain a minimal margin for safe operation.\n\nFinally, QP-nano 5.1.0 never completely disables interrupts in the ARM\nCortex-M3/M4 cores, even inside the critical sections. On Cortex-M3/M4\n(ARMv7-M architectures), the QP port disables interrupts selectively\nusing the BASEPRI register. (NOTE: The BASEPRI register is not\nimplemented in the ARMv6-M architecture (Cortex-M0/M0+), so\nCortex-M0/M0+ need to use the PRIMASK register to disable interrupts\nglobally).\n\nThis new policy of disabling interrupts divides interrupts into\n\"kernel-unaware\" interrupts, which are never disabled, and\n\"kernel-aware\" interrupts, which are disabled in the QP critical\nsections. Only \"kernel-aware\" interrupts are allowed to call QP\nservices. \"Kernel-unaware\" interrupts are *NOT* allowed to call any QP\nservices and they can communicate with QP only by triggering a\n\"kernel-aware\" interrupt (which can post or publish events).\n\nAs mentioned above, all QP ports to ARM Cortex-M included in the QP\n5.1.x Baseline Code provide the constant QF_AWARE_ISR_CMSIS_PRI, which\nmust be used to offset the \"kernel-aware\" interrupt priorities.\n\nAll example projects for ARM Cortex-M included in the QP-nano 5.1.x\nBaseline Code demonstrate the recommended way of assigning interrupt\npriorities in your applications. The initialization consist of two steps:\n\n1. you enumerate the \"kernel-unaware\" and \"kernel-aware\" interrupt\npriorities (whereas you offset the \"kernel-aware\" priorities by the\nconstant QF_AWARE_ISR_CMSIS_PRI) and\n\n2. you assign the priorities to *ALL* interrupts by calling the\nNVIC_SetPriority() CMSIS function.\n\n****\nNOTE: Leaving the interrupt priority at the default value of zero\n(the highest priority) is most likely incorrect, because the\n\"kernel-unaware\" interrupts cannot call any QP services.\n****\n\nFor more information, please read the short Application Note \"Setting\nARM Cortex-M Interrupt Priorities in QP 5.1\" available at:\nhttps://www.state-machine.com/arm/AN_ARM-Cortex-M_Interrupt-Priorities.pdf.\n\nThe following list details the changes:\n\n1. Added the new QMsm \"class\" to qepn.h. Changed the inheritance tree by\nderiving QHsm and QFsm from the QMsm base class. Added virtual table\nstructures for QMsm, QHsm, and QFsm (polymorphism).\n    - added macro QMSM_INIT() to polymorphically call the state\n      machine initialization implementation in the QMsm base class and\n      all subclasses.\n    - added macro QMSM_DISPATCH() to polymorphically call the state\n      machine event dispatching implementation  in the QMsm base class\n      and all subclasses.\n\n2. Added the new \"QMActive\" \"class\" to qfn.h. Extended the inheritance\ntree to derive QMActive from QActive. Added virtual table structures for\nQMActive and QActvie (polymorphism).\n    - added macro QACTIVE_POST() to polymorphically call the direct\n      event posting to an active object.\n    - added macro QACTIVE_POST_ISR() to polymorphically call the\n      postISR (posting from interrupts) to an active object.\n\n3. Added the multiple system clock tick rates feature in qfn.h:\n    - added new configuration macro QF_MAX_TICK_RATE, which specifies\n      the number of clock tick rates. This macro is to be defined in\n      the QF ports (in the qpn_port.h header file). If the macro is\n      undefined, the default value is 1 (one clock tick rate).\n    - renamed and re-implemented the QF_tickISR() function as the\n      \"extended\" QF_tickXISR() function with the argument 'tickRate' for\n      processing time events allocated to different clock rates. The\n      application must call QF_tickXISR(0), QF_tickXISR(1), ... at the\n      specified tick rates from ISRs or *tasks*.\n    - renamed and re-implemented the internal function QTimeEvt_arm_()\n      to a public function QActive_armX() for arming time events\n      initialized with the \"extended\" constructor. The QActive_armX()\n      function is the new recommended API for arming time events, both\n      one-shot and periodic.\n    - re-implemented QActive_disarm().\n    - extended QF_timerSetX_ to an array of [QF_MAX_TICK_RATE], so that\n      every rate can be checked independently.\n\n4. Added the new non-asserting API to qf.h:\n    - added functions QActive_postX() and QActive_postXISR() to post an\n      event to the given active object. The functions do not post the\n      event if the target event queue has less free slots than the\n      specified margin. The functions assert if the margin is zero and\n      the event can't be posted.\n\n5. Changed the structure of the ARM Cortex-M ports\n    - renamed the sub-directory for ARM Cortex-M ports and examples\n      from \"arm-cortex\" to \"arm-cm\". This is done to avoid confusion\n      with other ARM Cortex variants, such as Cortex-A/R, which very\n      different from Cortex-M.\n    - removed the CMSIS (Cortex Microcontroller Software Interface\n      Standard) directories from the Cortex-M examples and moved it to\n      the common location in the %QPN%/ports/arm-cm/cmsis/ directory.\n      Upgraded the CMSIS to the latest Version 3.20.\n    - added the ARM Cortex-M ports and examples with Keil/ARM MDK to\n      the QP Baseline Code.\n    - upgraded ARM Cortex-M ports with IAR to the latest IAR EWARM 6.60\n    - upgraded ARM Cortex-M ports with Sourcery CodeBench to the latest\n      Version 2013.05-53.\n\n9. Added the requested simple \"Blinky\" example for Windows and ARM\nCortex-M (with the GNU, IAR, and Keil toolsets).\n    - Added \"Getting Started with QP-nano\" guide based on the Blinky\n      example.\n\n10. Modified the application examples with PC-Lint\n(qpn/examples/arm-cm/gnu/dpp-qk_ek-lm3s811-lint and\nqpn/examples/arm-cm/iar/dpp-qk_ek-lm3s811-lint). Updated lint files for\nthe latest PC-Lint\n\n11. Ported all state pattern examples to Win32/MinGW. That way, all\nthese examples can be run and modified directly on Windows, without\ngoing back to DOS.\n\n12. Updated the Doxygen documentation (QP-nano Reference Manual)\n    - updated the QP-nano tutorial\n    - updated and added documentation and code samples\n    - added search box and tree-view panel to the HTML documentation\n\n\n\n@section qpn_4_5_04 Version 4.5.04, 2013-02-09\n\nThe main purpose of this release is adding support for the ARM Cortex-M4F\nprocessors with the hardware Floating-Point Unit (FPU). The QP-nano ports\nto Cortex-M4F take full advantage of the \"lazy stacking\" feature of the\nFPU registers, and by doing so offer the most efficient preemptive\nmultitasking on this processor.\n\nChanges in detail:\n\n1. Added ports and examples for ARM Cortex-M4F with the EK-LM4F120XL\nboard (Stellaris Launchpad).\n\n2. Added the macro QF_LOG2(), which can be re-implemented in the QP-nano\nports, if the CPU supports special instructions, such as CLZ (count leading\nzeros in Cortex-M3/M4). If the macro is not defined in the QP port, the\ndefault implementation uses a lookup table.\n\n3. Updated all ARM Cortex-M ports and examples to the latest IAR EWARM\n6.50 and Sourcery CodeBench 2012.09-85.\n\n4. Updated App Notes \"QP and ARM Cortex-M with IAR\" and \"QP and ARM\nCortex-M with GNU\".\n\n5. Updated the PC-Lint support files (`lib-qpn.lnt`, `au-misra2.lnt`)\nto the latest PC-Lint 9.00j.\n\n6. Updated the Application Note: \"QP-nano MISRA-C:2004 Compliance Matrix\".\n\n7. Spell-checked the comments in all QP-nano source files and removed\nseveral typos.\n\n8. Removed the Qt ports and examples from the QP-nano Baseline Code and\n\n@note QP-nano Version 4.5.04 preserves full compatibility with QM 2.2.03\nand all existing QDKs for QP-nano 4.5.xx.\n\n\n\n@section qpn_4_5_03 Version 4.5.03, 2012-11-29\n\nThis release changes the directory structure of QP-nano examples\nfor  various operating systems, such as POSIX (Linux, BSD, etc.),\nWin32 (Windows), Qt, etc. The OS examples are moved from the\nexampels/80x86/ directory one level up to examples/.\n\n\n\n@section qpn_4_5_02 Version 4.5.02, 2012-08-17\n\nThe main purpose of this release is providing QM models in most\nexamples and better, more comprehensive support for (rapid)\nprototyping of embedded QP applications on the desktop with the\nWin32 API and with Qt. Among others, this release adds a complete\ntoolkit for creating realistic embedded front panels with pure\nWin32-GUI API and free Visual C++ Express and ResEdit. An extensive\nApplication Note \"QP and Win32\" is included in this release.\n\nThis QP relase adds QM models, created with the new QM 2.2.01,\nto most of the examples. The code generated by this new QM version\ncomplies with MISRA-C:2004 rules.\n\nThis release adds the variable QF_timerSet_ and bookkeeping\naround it, so that the state of all timeouts in the system can\nbe determined quickly and efficiently. This feature is for power-\nsensitive applications, where the system clock tick interrupt\nneeds to be turned off. One of the criteria to entering such a\nsleep mode is that all timeout events are disarmed, that is,\nwhen (QF_timerSet_ == (uint8_t)0).\n\nChanges in detail:\n\n1. Added QF_timerSet_ declaration to qfn.h and setting/clearing\nthis bitmask into qfn.c and qfn_init.c. This feature is controled\nby the configuration macro Q_TIMERSET.\n\n2. Modified QP-nano port to Win32 and used the free Visual C++ Express\n2010 with Platform SDK rather than Visual C++ Pro 2008. Provided a\ncompletely revised App Note \"QP and Win32\".\n\n3. Renamed the port directory qt_1t/ to qt/.\n\n4. Added QM models to most examples and used the automatically\ngenerated code from the models instead of the hand-written code.\n\n5. Added .ui files to the Qt examples for generating UIs\ngraphically with the Qt Designer tool. Revised and updated the\nApp Note \"QP and Qt\".\n\n6. Removed definition of the macro QF_FSM_ACTIVE from qpn_port.h\nfiles in <qpn>/examples/80x86/watcom/dpp and\n<qpn>/examples/80x86/watcom/game. This configuration conflicted\nwith the actual definition of the active objects, which used\n*hierarchical* state machines, not the \"flat\" state machines.\n\n\n\n@section qpn_4_5_01 Version 4.5.01, 2012-06-14\n\nThe main purpose of this minor release is providing improved\nMISRA-compliant state machine implementation. Specifically, a new\nmacro Q_UNHANDLED() has been added for a situation when a guard\ncondition evaluates to FALSE, but the state model does not prescribe\nthe explicit [else] case for this guard. In this case, the state\nhandler can return Q_UNHANDLED(), which will cause the QEP event\nprocessor to propagate the event to the superstate, which is what\nUML semantics prescribes.\n\nNOTE: These change to the QEP-nano event processor is completely\nbackwards-compatible. All state hander functions coded the old\nway will continue to handle the guard conditions correctly and\nin accordance with the UML specification. The new Q_UNHANDLED()\nmacro is necessary only for MISRA-compliant state handler coding,\nwhich will be applied in the upcoming release of the QM modeling\nand code generation tool.\n\nChanges in detail:\n\n1. Added macro Q_UNHANDLED() and return value Q_RET_UNHANDLED in\nqepn.h.\n\n2. Modified qepn.c to handle the Q_RET_UNHANDLED return value.\n\n3. Updated the QP-nano MISRA-C:2004 compliance matrix to\ninclude the new MISRA-compliant way of coding guard conditions.\n\n4. Updated the IAR ARM compiler used in the ARM Cortex-M examples\nto the latest Version IAR EWARM 6.40.\n\n5. Modified the Qt port not to define the QPApp::onClockTick()\nslot, but instead to allow defining this slot in the BSP of the\napplication.\n\n\n\n@section qpn_4_5_00 Version 4.5.00, 2012-05-30\n\nThe main pupose of this relase is to improve host-based development of\nQP-nano applications, which is critical for Test-Driven Development (TDD).\nAmong others, this release provides integration between QP-nano and the\npopular Qt GUI framework, which allows developers to easily build host-\nbased simulations of the embedded systems with the realistic user\ninterfaces.\n\nThis realase also simplifies implementing transitions to history, which\nis a preparation to providing this feature in the QM modeling tool.\n\nChanges in detail:\n\n1. Renamed the event class from QEvent to QEvt to avoid a name conflict\nwith the Qt framework.\n\nNOTE: To minimize impact of this change on the existing QP-nano ports\nand applications, the name QEvent is provided as well, but this can be\nsuppressed by defining the configuration macro Q_NQEVENT in qep_port.h.\n\n2. Added return value to QF_run() to allow transfer of the exit\nstatus to the destop operating systems.\n\nNOTE: This modification haves impact on most QP-nano ports, because\nthe QF_run() function must now return a int16_t value.\n\n3. Added member 'temp' to the QHsm and QFsm base classes to prevent\nclobbering the current state (the 'state' member) during transitons.\nThis change allows keeping the current state unchanged during the\nentire transition chain, which in turn allows easy and generic access\nto the state information to store the state history in the exit\nactions from states. Additional bonus of this re-design is the\nopportunity of testing for stable state configuration in assertions\nadded to the qepn.c file.\n\n4. Added the QHsm_state() and QFsm_state() accessor macros.\n\n5. Modified the \"Transition to History\" pattern implementation to\nuse the simplified technique of obtaining the current state in the\nexit action from the superstate rather than all the exit actions from\nthe substates. Modified the \"State-Local Storage\" (SLS) pattern as\nwell, because it was using the transition to history constructs.\n\n6. Modified the QP-nano port to Win32 (both the MinGW and VC2008).\n\n7. Modified the QP-nano port to POSIX.\n\n8. Added QP port to Qt (Qt with one thread) and two example\napplications (DPP and PELICAN crossing).\n\n9. Added GNU compiler option -pthread to QP ports for POSIX with\nP-threads, including QP ports and examples for Linux and Mac OS X.\n\n\n\n@section qpn_4_4_00 Version 4.4.00, 2012-03-03\n\nThe main pupose of this relase is MISRA-C:2004 compliance, strong-type\nchecking compliance, update of PC-Lint option files and tests, and\ngeneral cleanup.\n\n1. For commonality with the QP/C and QP/C++ frameworks renamed macros\nQF_INT_LOCK/QF_INT_UNLOCK to QF_INT_DISABLE/QF_INT_ENABLE, respectively.\nAlso renamed macros QF_INT_KEY_TYPE/QF_ISR_LOCK/QF_ISR_UNLOCK to\nQF_ISR_STAT_TYPE/QF_ISR_DISABLE/QF_ISR_RESTORE, respectively.\n\nNOTE: This modifications have impact on most QP-nano ports. However,\nthe qfn.h header file contains definitions of the new macros in terms\nof the old ones. This provies backwards comatibility of the existing\nQP-nano ports.\n\n2. Added the PC-Lint option files std.lnt and lib-qpn.lnt to the\nqcn/include/ directory.\n\n3. Cleaned the whole QP-nano code from lint comments. All PC-Lint options\nhave been moved to PC-Lint option files.\n\n4. Modified QP-nano assertion macro Q_DEFINE_THIS_MODULE() to avoid\nusing the # operator (MISRA rule 19.13). This macro now requires the\nargument enclosed in doble quotes \"\".\n\nNOTE: This modification has impact on some QP-nano ports.\n\n4. Added typedefs for char_t, int_t, float32_t, and float64_t to\nevent.h header file for compliance with MISRA-C:2004 rules 6.1 and 6.3.\n\n5. Added macros Q_STATE_CAST() and Q_ACTIVE_CAST() to qep.h to\nencapsulate deviation from MISRA-C rule 11.4.\n\n6. Added macro Q_UINT2PTR_CAST() to encapsulate casting unsigned\nintegers to pointers, which deviates from MISRA-C rule 11.3. This\nmacro has been added for *application-level* code.\n\n7. Updated ARM Cortex-M examples with the latest CMSIS v3.0, which\ncomplies with more MISRA-C:2004 rules.\n\n8. Added PELICAN examples for MISRA-C:2004 compliant applications (for\nIAR-ARM and GNU-ARM).\n\n9. Added testing of PC-Lint option files against the MISRA-C Exemplar\nSuite.\n\n10. Updated ARM-Cortex-M3 port with GNU to the latest Sourcery\nCodeBench 2011.09-60.\n\n11. Added documentation to QP-nano distribution in the directory\nqpn/doc/, with the following Application notes: \"QP-nano MISRA-C:2004\nCompliance Matrix\" and \"Quantum Leaps Coding Standard\",\n\n\n\n@section qpn_4_3_00 Version 4.3.00, 2011-10-31\n\n1. This release changes the partitioning of the QK-nano scheduler.\nSpecifically, the QK-nano scheduler is now divided between two\nfunctions QK_schedPrio_() and QK_sched_(), to calculate the highest-\npriority task ready to run and to perform scheduling, respectively.\nThe function QK_schedPrio_() is useful to determine if scheduling\nis even necessary.\n\n2. Reduced the interrupt latency of the QK-nano kernel by breaking up\nthe critical section in the QK_sched_() into two pieces, just after\nsetting QK_currPrio_.\n\n3. Modified the ARM Cortex-M port qkn_port.s to take advantage of the\nnew structure of the QK-nano scheduler. To reduce code duplications,\nthe QK-nano port file qkn_port.s has been placed in the directories:\nqpn/ports/arm-cortex/qk/gnu/ for the GNU compiler and\nqpn/ports/arm-cortex/qk/iar/ for the IAR compiler, respectively.\n\n4. Moved the Win32 and POSIX emulation of QP-nano from the directory\nqpn/emulation/ to qpn/ports/win32/ and qpn/ports/posix/, respectively.\n\n5. Renamed the function QF_tick() to QF_tickISR() to clearly notify\nthe user that this function is callable from ISR only. For backwards\ncompatibility, the macro QF_tick() is defined to QF_tickISR().\n\n6. Modified QF_tickISR(), QActive_postISR(), QActive_post(), and\nQK_sched_() to use stack-based pointer to QActiveCB, which avoids\nre-computation of the pointer on-the-fly in the loop. According to the\nfeature request #3403079, this significantly speeds up the code for\n8-bit PIC micros.\n\n7. Upgraded the examples for ARM Cortex with IAR EWARM to the\nlatest IAR EWARM Version 6.30.\n\n8. Upgraded the examples for ARM Cortex with GNU (CodeSourcery) to the\nlatest Sourcery CodeBench 2011.07-60.\n\n\n\n@section qpn_4_2_04 Version 4.2.04, 2011-09-24\n\nThe main pupose of this relase is to provide a bug fix for the QK port\nto ARM Cortex processors. The bug fix addresses a very rare and\nundocumented behavior of late-arrival of an interrupt while entering\nthe PendSV exception. In this case the PENDSVSET bit in the NVIC-ICSR\nregister is *not* cleared when finally PendSV is entered, so the\nPendSV exception is entered in a *different* state when it is entered\nvia the late-arrival mechanism versus the normal activation of the\nexception through tail-chaining. The consequence of this undocumented\nand inconsistent hardware behavior, PendSV could be re-entered again\nbefore the SVCall exception cleans up the stack. The bug fix is\nimplemented in the qk_port.s file (in QP-nano this file is replicated\nin every example for QK-nano) and consists of clearing the PENDSVSET\nbit programmatically inside PendSV_Handler.\n\n\n\n@section qpc_4_2_02 Version 4.2.02, 2011-09-08\n\nThe main pupose of this relase is to repackage the default QP-nano\ndistribution to contain the single root directory qpn/ in the\narchive. That way, unziping the archive will produce only one\ndirectory (qpn/), which can be then changed by the user.\n\n\n\n@section qpn_4_2_01 Version 4.2.01, 2011-08-13\n\n1. Modified file qassert.h to add assertion macros #Q_ASSERT_ID,\n#Q_REQUIRE_ID, #Q_ENSURE_ID, #Q_INVARIANT_ID, and #Q_ERROR_ID,\nwhich are better suited for unit testig, because they avoid the\nvolatility of line numbers for indentifying assertions.\n\n2. Modified the make files and project files to use the environment\nvariable QPN instead of relying on the relative path to the QP-nano\nframework.\n\n3. Added QP-nano examples for Mac OS X on 80x86.\n\n4. Upgraded the examples for ARM Cortex with IAR EWARM to the\nlatest IAR EWARM Version 6.20.\n\n5. Upgraded the examples for MSP430 with IAR EW430 to the\nlatest IAR EW430 Version 5.30.\n\n\n\n@section qpn_4_1_07 Version 4.1.07, 2011-02-28\n\nThe goal of this release is to improve the ease of experimenting with\nQP-nano on the desktop. This release adds support for Windows (Win32)\nand Linux to the QP-nano baseline code. Two most popular compilers for\nWindows are supported: Microsoft Visual Studio and MinGW (GNU). The\nsupport for Linux includes pre-built examples and makefiles compatible\nwith Eclipse.\n\nThe changes in detail are:\n\n1. Added sub-directory qpn/emulation with emulation code for Windows\n(win32) and POSIX (Linux, Mac OS X, etc.).\n\n2. Added Win32 examples for Visual C++ 2008 (examples/80x86/win32/\nvc2008/dpp and examples/80x86/win32/vc2008/qhsmtst). Visual Studio\nsoultions are provides for all build configurations.\n\n3. Added Win32 examples for MinGW (examples/80x86/win32/mingw/dpp\nand examples/80x86/win32/mingw/qhsmtst). Eclipse-compatible makefiles\nare provided for all build configurations. NOTE: the Makefiles assume\nthat the MinGW/bin directory is added to the PATH.\n\n4. Fixed a bug in file qfn.c, function QActive_postISR(). For special\nrare combination of configuration macros the assertion was checked\nbefore declaring an automatic variable QF_ISR_KEY_TYPE key. This\ndeclaration has been moved to the top of the function.\n\n5. Upgraded the examples for ARM Cortex with CodeSourcery to the\nlatest Sourcery G++ 2011.02-2.\n\n\n\n@section qpn_4_1_06 Version 4.1.06, 2011-01-07\n\n1. Made cosmetic improvements to the example QM model of the\n\"Fly 'n' Shoot\" game.\n\n2. Made improvements in make.bat files for building the examples for\nDOS/Open Watcom to run better in DosBox on Linux.\n\n3. Upgraded the examples for ARM Cortex with IAR to the latest\nIAR EWARM Version 6.10.\n\n4. Upgraded the examples for ARM Cortex with CodeSourcery to the\nlatest Sourcery G++ 2010.09-66.\n\n\n\n@section qpn_4_1_05 Version 4.1.05 (Product) Nov 01, 2010\n\nThis release is adds examples for the QM (QP Modeler) graphical modeling\nand code generation tool. The examples are based on the \"Fly 'n' Shoot\"\ngame described in the QP-nano Tutorial and in Chapter 1 of the PSiCC2 book.\n\nSpecifically, the directory qpn/examples/80x86/watcom/game-qm/\ncontains the \"Fly 'n' Shoot\" game model file \"game.qm\". This model, when\nopened in the QM tool contains all state machine diagrams and generates\ncode into the subdirectory qm_code/. This code can then be built and\nexecuted on any 80x86 machine (newer versions of Windows or Linux require\nthe DOSbox application, see http://www.dosbox.com).\n\nThe directory qpn/examples/arm-cortex/iar/game-ev-lm3s811-qm/\ncontains the Version of the game for the EV-LM3S811 ARM Cortex-M3 board.\nThis directory contains the model file \"game.qm\", which is actually\nidentical as the model in the DOS version. The LM3S811 Version needs to\nbe compiled with the IAR compiler and executed on the EV-LM3S811 board.\n\nAdditionally, the QP-nano baseline code has been slighlty modified for\nbetter conformance to the MISRA C 2004 rules and the latest PC-Lint 9.x.\n\n\n\n@section qpn_4_1_04 Version 4.1.04, 2010-03-16\n\nThis release is adds compatibility of all examples for DOS with the DOSBox\nemulator (http://www.dosbox.com/) that recreates a MS-DOS compatible\nenvironment on all versions of Windows, including 64-bit Windows that don't\nrun 16-bit DOS applications anymore.\n\nAlso, this release includes QP ports and examples for EV-LM3S811 board with\nthe GNU-based Code Sourcery G++ toolset. Support for Sourcery G++ provides\na very cost-effective option for developing QP applications for ARM Cortex\nMCUs.\n\nFinally, this release improves the Cortex Microcontroller Software Interface\nStandard (CMSIS) for the whole family of the Stellaris LM3Sxxx MCUs. The\nimprovement extends the CMSIS from Sandstorm to Fury, DustDevil, and Tempest\nStellaris families.\n\n\n\n@section qpn_4_1_03 Version 4.1.03, 2010-01-21\n\nThis release is concerned with the ARM Cortex ports and examples.\nSpecifically, this release contains the following improvements:\n\n1. Unified source code for ARM Cortex-M3 and the new ARM Cortex-M0 cores,\nincluding the code for the preemptive QK kernel.\n\n2. Compliance with the Cortex Microcontroller Software Interface Standard\n(CMSIS) in all ARM Cortex examples.\n\n3. Backward-compatible support for the new LM3S811 EVAL Rev C board with\ndifferent OLED display than previous revisions. (NOTE: The OSRAM 96x16x1 OLED\nused in REV A-B boards has been replaced RITEK 96x16x1 OLED used in Rev C.)\n\nIn the process of making the examples CMSIS-compliant, the dependency on the\nLuminary Micro driver library (driverlib.a) has been completely removed.\n\nAdditionally, the screen saver of the \"Fly 'n' Shoot\" game has been improved\nto periodically switch off the power of the OLED display, which better\nprotects the display from burn-in. The affected file is tunnel.c.\n\nFinally, this release introduces the QP_Version macro, which identifies the QP\nversion. Otherwise, this maintenance release does not change the QP/C API in\nany way, so the release has NO IMPACT on the QP/C applications except for the\nARM Cortex ports and applications.\n\n\n\n@section qpn_4_1_02 Version 4.1.02, 2010-01-14\n\nThe purpose of this minor maintenance release is the change in the directory\nstructure for the ARM Cortex ports and examples. As new ARM Cortex cores are\nbecoming available, the old port name \"cortex-m3\" could be misleading, because\nit actually applies to wider range of ARM Cortex cores. Consequently, all ARM\nCortex ports and examples are hosted in the directory tree called\n\"arm-cortex\".\n\nThis maintenance release does not change the QP-nano API in any way, so the\nrelease has NO IMPACT on the QP-nano applications except for the ARM Cortex\nports and applications.\n\n\n\n@section qpn_4_1_01 Version 4.1.01, 2009-11-05\n\nThe main purpose of this release is to replace the Turbo C++ 1.01 toolset\nwith the Open Watcom C/C++ toolset, because Turbo C++ 1.01 is no longer\navailable for a free download. In contrast, Open Watcom is distributed under\nan OSI-certified open source license, which permits free commercial and\nnon-commercial use. Open Watcom can be downloaded from www.openwatcom.org.\n\nAll 80x86 examples (vanilla and QK-nano) for Turbo C++ 1.01 have been replaced\nwith examples for Open Watcom. The make.bat scripts are provided to build the\nexamples.\n\nIn the process of converting the examples to Open Watcom a new SLS example\nhave been added to the standard QP-nano distribution. The SLS example located\nin &lt;qpn&gt;/examples/80x86/watcom/sls/ shows the QP-nano implemenation of the\nnew State-Local Storage state design pattern.\n\n\n\n@section qpn_4_1_00 Version 4.1.00, 2009-10-09\n\nThe main purpose of this release is to fix a bug in event posting, which\ncould cause corruption of the event signal. Such corruption could occur when\nan event was posted to an empty event queue, in which case it was written\ndirectly to the internal event stored in the state machine, bypassing the\nring-buffer. However, the signal of the internal event could also be changed\nby the QEP-nano event processor during execution of transitions.\n\nThe bug fix is to always pass events through the ring buffer and never\noverwrite the internal event during event posting (both from the task\nlevel and from the ISR level). The update of the ring buffer always\noccurs within a critical section and is safe from interruptions.\n\nThis bug fix also allows posting of events from the top-most initial\ntransitions of active objects during the initialization phase. Previously,\nthe execution of the top-most initial transition corrupted the signal of\nthe internal event.\n\nThe bug fix enables also self-posting of events from entry/exit actions\nand internal initial transitions. Again, the QEP event processor corrupted\nthe internal signal.\n\nThis release also replaces the static variables 'p' (priority) and 'a'\n(active object pointer) with automatic variables. This change results in\nmore efficient code, because the frequently used variables can be kept in\nregisters and do not need to be read/written from/to memory by each use.\n\nAdditionally, this release updates the QP-nano ARM Cortex-M3 examples for\nthe EK-LM3S811 board to the latest IAR EWARM 5.40. Due to the acquisition\nof Liminary Micro by Texas Instruments the directory IAR structure for the\nexamples and drivers has changed and the QP-nano examples had to be changed\naccordingly.\n\nFinally, this release fixes a bug in the \"Fly 'n' Shoot\" game example for\nQP-nano, which caused an assertion if the Ship was moved to the very top\nof the Tunnel. This was due to the y-coordinate of the ship explosion\nbecomoming negative.\n\nNOTE: This release does not change the QP-nano API, but all event queues\nare effectively shortened by one event. Also it is no longer possible to\ndeclare an active object without a ring buffer (zero-sized queue), because\nthe internal event no longer counts towards the queue depth.\n\nThe main changes in QP v4.1.00 with respect to the earlier versions are\nas follows:\n\n- modified functions QActive_post(), QActive_postISR(), and QF_run() in qfn.c\nto always use the ring buffer and not to count the internal event as part\nof the queue (in the assertions).\n- modified qfn.c to replace static variables 'p' and 'a' with automatic\nvariables.\n- modified function QK_schedule_() in qkn.c to always use the ring buffer,\nas described above.\n- modified module qkn.c to to replace static variables 'p' and 'l_act' with\nautomatic variables.\n- modified various examples to eliminate zero-sized queues and extend event\nqueues by one event.\n- modified the ARM Cortex-M3 examples for the new IAR EWARM 5.40.\n- modified the ship.c and tunnel.c files in the \"Fly 'n' Shoot\" game\nexample to fix the aforementioned bug.\n\n\n\n@section qpn_4_0_04 Version 4.0.04, 2009-04-09\n\nThe maintenance release provides a fix for the compile-time assertions,\nwhich did not work correctly for the GNU compiler family. Also, the ARM\nCortex-M3 examples have been recompiled with the newer IAR EWARM v5.30.\n\nThis maintenance release does not change the QP-nano API in any way, so the\nrelease has NO IMPACT on the QP-nano applications.\n\nThe main changes in QP v4.0.04 with respect to earlier Version are as follows:\n\n- in qassert.h file the #Q_ASSERT_COMPILE macro has been modified to render\na negative array dimension when the asserted condition is not TRUE.\n\n\n\n@section qpn_4_0_03 Version 4.0.03, 2008-08-06\n\nThe main purpose of this release is to \"future-proof\" the QK-nano preemptive\nkernel. The release 4.0.03 strictly preserves the semantics of QK_currPrio_\nvariable, which was violated by the previous QK mutex implementation.\nThe mutex locking now uses a different variable QK_ceilingPrio_, which\nrepresents the ceiling-priority locked by the mutex. When the mutex is\nconfigured (the macro #QK_MUTEX is defined), the QK-nano scheduler\nperforms an additional check to make sure that only tasks with priorities\nabove the ceiling can run. This additional overhead is not present when\n#QK_MUTEX is not defined.\n\nThis maintenance release does not change the QP-nano API in any way, so the\nrelease has NO IMPACT on the QP-nano applications.\n\nThe main changes in QP v4.0.03 with respect to earlier Version are as follows:\n\n- in qkn.c file, changed priority-ceiling mutex implementation to use\nthe QK_ceilingPrio_ instead of QK_currPrio_. Also added testing priority\nagainst the QK_ceilingPrio_, when the macro QK_MUTEX is defined.\n\n\n\n@section qpn_4_0_02 Version 4.0.02, 2008-08-06\n\nThis maintenace release is made to allow posting events from any active object\nto any active object from the top-most initial transtions.\n\nThis maintenance release does not change the QP-nano API in any way, so the\nrelease has NO IMPACT on the QP-nano applications.\n\nThe main changes in QP v4.0.02 with respect to earlier Version are as follows:\n\n- modified function QF_run() in qfn.c to first loop over all active objects\nand initialize their priority attribute based on their location in the\nQF_active[] array. The second for-loop triggers only the initial transitions,\nbut now all priorities are initialized, so active objects can post events to\neach others from the initial transitions.\n- modified function QF_run() in qkn.c in identical way as in qfn.c described\nabove.\n\n\n\n@section qpn_4_0_01 Version 4.0.01, 2008-06-08\n\nThis maintenace release is made to allow compiling QP-nano with the GNU\ncompiler for AVR (WinAVR). Specifically, some changes were necessary to\naccomodate the non-standard way of hanlding constant data objects allocated\nin ROM (PROGMEM) in the GNU compiler for AVR.\n\nThis maintenance release does not change the QP-nano API in any way, so the\nrelease has NO IMPACT on the QP-nano applications.\n\nThe main changes in QP v4.0.01 with respect to earlier Version are as follows:\n\n- eliminated QF_pCB_ variable from qfn.c and qkn.c. This variable was used to\npoint to the constant active object control block (QActiveCB) in ROM. The GNU\ncompliler for AVR could not handle such pointer correctly without\ncontaminating the code with non-portable and non-standard extensions.\n\n- added Doxygen comments to the qep.h header file.\n\n- in qepn.c file, broken up expressions of the form if (t == path[iq]) ...\ninto (s = path[iq]; if (t == s) ...). This was done to accommodate the\nImageCraft ICCM8C compiler for PSoC.\n\n\n@section qpn_4_0_00 Version 4.0.00, 2008-04-07\n\nThis milestone release is made for the book /ref PSiCC2. The book describes in\ngreat detail this new release. The older \"QP-nano Programmer's Manual\" is now\nphased out and is replaced with this hyper-lirenked\n/ref main_page \"QP-nano Reference Manual\", which provides very detailed,\neasily searchable reference to the software. The book /ref PSiCC2 provies\nin-depth discussion of the relevant concepts as well as the design study of\nQP v4.0, including QP-nano v4.0 in Chapter 12.\n\nThe main changes in QP v4.0 with respect to earlier versions are as follows:\n\n- the coding techniques for hierarchical state machines (HSMs) and the simpler\nfinite state machines (FSMs) have changed. While the changes are quite simple,\nthe backward compatibility with QEP-nano 3.x has been broken, meaning that\nsome manual changes to the state machines implemented with earlier versions\nare necessary. Please refer to the \"QP-nano Tutorial\" Section /ref coding_hsm\nfor more information about coding state machines with QEP 4.x.\n    - The main change is the signature of a state-handler function, which now\n    returns simply a byte. This return type (typedef'ed as QState) is the\n    status of the event-handling that the state handler conveys to the QEP\n    event processor.\n    - The macro #Q_TRAN() must now always follow the return statement.\n    - The new macro #Q_SUPER() designates the superstate of the given state.\n    Again, this macro must follow the return statement.\n    - Then two new macros #Q_HANDLED() and #Q_IGNORED() have been added to\n    return the status of event handled and event ignored, respectively.\n\n- all callback functions are now consistently called /c #XXX_onYYY():\n    - Q_assert_handler() is now Q_onAssert()\n    - QF_start() is now QF_onStartup()\n    - QF_cleanup() is now QF_onCleanup()\n\n- all callback functions are now consistently called /c XXX_onYYY():\n    - Q_assert_handler() is now Q_onAssert()\n    - QF_start() is now QF_onStartup()\n    - QF_cleanup() is now QF_onCleanup()\n- enumerating global active object priorities is no longer necessary.\n- the methods of posting events have changed:\n    - QF_post(prio, sig, par) is now void QActive_post(me, sig, par)\n    - QF_postISR(prio, sig, par) is now void QActive_postISR(me, sig, par)\n- the global variable QF_activeNum has been eliminated\n    - instead the constant #QF_MAX_ACTIVE <STRONG>must</STRONG> correspond\n      to the exact number of active objects in the application.\n- the QEP-nano event processor now works identically as the full-Version QEP.\nSpecifically, the signal of the current event is not used to notify the event\nprocessor that a transition has taken place. This saves a few bytes of code\nfor every usage of #Q_TRAN().\n- all QF-nano and QK-nano functions have been modified to use static variables\ninstead of stack variables wherever possible. This saves a few bytes of stack\nfor the \"vanilla\" kernel. In QK-nano the savings can be more substantial.\n- the QP-nano event queues now decrement the head and tail counters. This\nleads to wrap-around at zero, which is easier (faster) to test than any other\nwrap-around point.\n- all examples in the standard QP-nano distribution have been cleaned up and\nupdated to the latest QP-nano API changes.\n*/\n\nFinally, this release improves the comments in the QF_stop() function. The comments now make it very clear that after calling QF_stop()  the application must terminate and cannot continue. In particular, QF_stop() is **not** intended to be followed by a call to QF_init() to \"resurrect\" the application. The previous comments apparently were confusing and some developers attempted to \"restart\" a running application, which led to system crashes.\n"
  },
  {
    "path": "doxygen/img/img.htm",
    "content": "<!-- HTML header for doxygen 1.8.5-->\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n<title>QP built-in images</title>\n\n<img src=\"logo_ql.png\">\n<img src=\"splitbar.png\">\n<img src=\"AN_Coding_Standard.jpg\">\n<img src=\"AN_Getting_Started_with_QPC.jpg\">\n<img src=\"AN_MISRA-QPC.jpg\">\n<img src=\"AN_OOP_in_C.gif\">\n<img src=\"AN_Active_Objects_for_Embedded.jpg\">\n<img src=\"AN_Crash_Course_in_UML_State_Machines.jpg\">\n<img src=\"tree-view_linked.png\">\n<img src=\"tree-view_unlinked.png\">\n<img src=\"logo_qp.gif\">\n<img src=\"board.png\">\n<img src=\"checkboxoff.png\">\n<img src=\"checkboxon.png\">\n<img src=\"extern.png\">\n<img src=\"file.png\">\n<img src=\"file_c.png\">\n<img src=\"file_cpp.png\">\n<img src=\"file_h.png\">\n<img src=\"file_doc.png\">\n<img src=\"file_mak.png\">\n<img src=\"file_pdf.png\">\n<img src=\"file_py.png\">\n<img src=\"file_qm.png\">\n<img src=\"file_qmp.png\">\n<img src=\"file_tcl.png\">\n<img src=\"file_wish.png\">\n<img src=\"folder.png\">\n<img src=\"forbidden.png\">\n<img src=\"header_bg.png\">\n<img src=\"img.htm\">\n<img src=\"minus.png\">\n<img src=\"model.png\">\n<img src=\"movie.png\">\n<img src=\"qp_link.png\">\n<img src=\"radiooff.png\">\n<img src=\"radioon.png\">\n\n</body>\n</html>\n"
  },
  {
    "path": "doxygen/lint.dox",
    "content": "/*! @page lint PC-Lint\nThe QP-nano framework comes with extensive support for automatic rule checking by means of <a class=\"extern\" target=\"_blank\" href=\"http://www.gimpel.com/\">PC-Lint</a>, which is designed not just for proving compliance of the Q/CP framework code, but more importantly, to aid in checking compliance of the application-level code. Any organization engaged in designing safety-related embedded software could benefit from the unprecedented quality infrastructure built around the QP-nano framework.\n\n@sa ports_lint\n\n*/\n"
  },
  {
    "path": "doxygen/macros.h",
    "content": "/*!\n* @file\n* @ingroup qepn qfn qkn qvn\n* macros for porting QP-nano, and command-line macros\n*/\n\n/*! The preprocessor switch to disable checking assertions */\n/**\n* @description\n* When defined, Q_NASSERT disables the following macros #Q_ASSERT,\n* #Q_REQUIRE, #Q_ENSURE, #Q_INVARIANT, #Q_ERROR as well as\n* #Q_ASSERT_ID, #Q_REQUIRE_ID, #Q_ENSURE_ID, #Q_INVARIANT_ID, and\n* #Q_ERROR_ID do NOT evaluate the test condition passed as the\n* argument to these macros.\n*\n* @note One notable exception is the macro #Q_ALLEGE, that still\n* evaluates the test condition, but does not report assertion\n* failures when the switch #Q_NASSERT is defined.\n*/\n#define Q_NASSERT\n\n/*! @deprecated macro to  enable keeping track of QF time event usage;\n* instead use: #QF_TIMEEVT_USAGE */\n#define Q_TIMERSET\n\n/*! This macro enables calling the QK-nano context-switch callback\n* QK_onContextSw() */\n#define QK_ON_CONTEXT_SW\n\n/*! Macro that should be defined (typically on the compiler's command line)\nin the Win32-GUI applications that use the @ref win32-qv port.\n*/\n#define WIN32_GUI\n"
  },
  {
    "path": "doxygen/main.dox",
    "content": "/*! @mainpage About QP-nano&trade;\n\n@image html qpn_banner.jpg\n\n@section ab_new What's new?\nTo check what's new in QP-nano, please see @ref history \"QP-nano Revision History\".\n\n@attention\nThe QP-nano framework is being __phased out__ and is not recommended for new product development.\n\n\n@section ab_about What is it?\n<a class=\"extern\" target=\"_blank\" href=\"https://www.state-machine.com/products/\"><strong>QP-nano&trade; (Quantum Platform Nano)</strong></a> is an ultra-lightweight  <a class=\"extern\" target=\"_blank\" href=\"https://www.state-machine.com/doc/concepts#RTEF\"><strong>Real-Time Embedded Framework (RTEF)</strong></a> for building responsive and modular real-time embedded applications as systems of asynchronous event-driven <a class=\"extern\" target=\"_blank\" href=\"https://www.state-machine.com/doc/concepts#Active\"><strong>active objects</strong></a> (concurrent @ref sm \"state machines\"). The QP-nano&trade; RTEF is a member of a larger family consisting of QP-nano, <a href=\"https://www.state-machine.com/qpc\" target=\"_blank\" class=\"extern\">QP/C</a>, and <a href=\"https://www.state-machine.com/qpcpp\" target=\"_blank\" class=\"extern\">QP/C++</a> frameworks, which are all strictly quality controlled, thoroughly documented, and available under @ref licensing \"dual licensing model\".\n\n@note\nThe QP-nano&trade; framework is intended for **low-end** 8- and 16-bit microcontrollers such as AVRmega, MSP430, or 8051 with very limited RAM on board (less then 1KB). If your MCU has more than 1KB of RAM, you should consider the <a href=\"https://www.state-machine.com/qpc\" target=\"_blank\" class=\"extern\">QP/C&trade;</a> framework instead of QP-nano&trade;.\n\n@attention\nTo use QP-nano&trade; effectively, you need to understand the <a href=\"https://www.state-machine.com/doc/concepts\" target=\"_blank\" class=\"extern\"><strong>key concepts</strong></a> that underline the architecture of the framework and your applications based on the framework.\n\n\n<div style=\"clear:both\"></div>\n\n\n@htmlonly\n<img style=\"float:right; margin:10px 8px 8px 15px; clear:right;\" src=\"img/logo_qpn.jpg\" title=\"QP\">\n@endhtmlonly\n\n@section ab_goals What does it do?\nThe main goals of the QP-nano&trade; framework are:\n- to provide a reusable **architecture** based on <a class=\"extern\" target=\"_blank\" href=\"https://www.state-machine.com/doc/concepts#Framework\">active objects (actors)</a>, which is _safer_ and more extensible than the venerable \"superloop\" commonly used on low-end 8- and 16-bit microcontrollers.\n- to provide a simple-to-use coding techniques for @ref sm \"hierarchical state machines\", with which to implement the behavior of active objects.\n- to provide efficient and thread-safe event-driven mechanisms for active objects to communicate, such as direct event passing.\n- to provide event-driven timing services (time events).\n- to provide a selection of built-in real-time kernels to run the QP applications, such as the cooperative @ref qvn \"QV-nano kernel\" and the preemptive non-blocking @ref qkn \"QK-nano kernel\".\n- to provide portability layer and ready-to-use emulations on the desktop operating systems such as @ref posix-qv \"Linux\" and @ref win32-qv \"Windows\".\n- to provide a target for modeling and automatic code generation from the <a href=\"https://www.state-machine.com/qm\" target=\"_blank\" class=\"extern\">QM modeling tool</a>.\n\n\n@section ab_special What's special about it?\n\nThe QP-nano&trade; Real-Time Embedded Framework (RTEF) is a unique offering on the embedded software market. It provides a modern, reusable **architecture** of embedded applications, which combines object-orientation with the particular model of concurrency, known as <a class=\"extern\" target=\"_blank\" href=\"https://www.state-machine.com/doc/concepts#Active\"><strong>active objects</strong></a> (concurrent @ref sm \"state machines\"). This architecture is generally **safer** and better structured than the venerable \"superloop + spaghetti-code\" commonly used on low-end 8- and 16-bit microcontrollers.\n\n\n@subsection lightweight Ultra-Lightweight\nThe most unique characteristic of the QP-nano&trade; framework is its **tiny footprint**, especially in RAM. In this respect, QP-nano&trade; requires far less resources than even the smallest conventional Real-Time Operating System (RTOS) kernel. In fact, it has been designed to run on microcontrollers, where you cannot fit any traditional kernel. At the same time, QP-nano&trade; gives you a much higher level of abstraction than a conventional RTOS. With QP-nano&trade;, you work at the level of active objects, state machines and events, as opposed to \"superloop\" commonly used on low-end 8- and 16-bit microcontrollers.\n\n@note\nIf you can program your MCU in ANSI-C, you probably can fit in QP-nano&trade;. For example, the article <a href=\"https://www.state-machine.com/doc/Samek0605.pdf\" target=\"_blank\" class=\"extern\"><em>UML Statecharts at $10.99</em></a> describes a complete QP-nano&trade; application (PEdestrian LIght CONtroled (PELICAN) crossing) implemented in a 8051 MCU with 256 bytes of RAM.\n\n\n@subsection oop Object Orientation\nEven though it is written in @ref misra \"MISRA-compliant\" ANSI-C, QP-nano&trade; is fundamentally an **object-oriented** framework, which means that the framework itself and your applications derived from the framework are fundamentally composed of <a href=\"https://en.wikipedia.org/wiki/Class_(computer_programming)\" target=\"_blank\" class=\"extern\">classes</a> and only classes can have @ref sm \"state machines\" associated with them.<br>\n\n@note\nIf you program in C and object-oriented programming is new to you, please refer to the Application Note <a class=\"pdf\" target=\"_blank\" href=\"https://www.state-machine.com/doc/AN_OOP_in_C.pdf\">\"Object-Oriented Programming in C\"</a>, which describes how you can implement the concepts of _classes_, _inheritance_, and _polymorphism_ to portable ANSI-C.\n<br>\n@htmlonly\n<div class=\"image\">\n<a target=\"_blank\" href=\"https://www.state-machine.com/doc/AN_OOP_in_C.pdf\"><img border=\"0\" src=\"img/AN_OOP_in_C.gif\" title=\"Download PDF\"></a>\n<div class=\"caption\">\nApplication Note: Object-Oriented Programming in C\n</div>\n</div>\n@endhtmlonly\n\n\n@subsection hsms Hierarchical State Machines\nThe behavior of active objects is specified in QP-nano&trade; by means of\n<a class=\"extern\" target=\"_blank\" href=\"https://www.state-machine.com/doc/concepts#HSM\"><strong>hierarchical state machines</strong> (UML statecharts)</a>. The frameworks support manual coding of UML state machines in C or C++ as well as fully automatic code generation by means of the free graphical <a class=\"extern\" target=\"_blank\" href=\"https://www.state-machine.com/qm\">QM&trade; modeling tool</a>.\n\n@remarks\nState machines can be an incredibly powerful technique, but they require an event-driven **infrastructure** (framework) that provides, at a minimum: a run-to-completion (RTC) execution context for each state machine, queuing of events, and event-based timing services. This is really the pivotal point. Without an event-driven framewok (like QP-nano), state machines are like <a class=\"extern\" target=\"_blank\" href=\"https://www.state-machine.com/doc/concepts#Infrastructure\">cars without an infrastructure of roads</a>.\n\n\n@subsection kernels Built-in Kernels\nAll QP-nano&trade; framework is designed to run on @ref exa_native \"low-end 8- and 16-bit single-chip microcontrollers\", replacing the venerable \"superloop\". The framework contains two built-in real-time kernels: the cooperative @ref qvn \"QV-nano kernel\" and the _preemptive_ non-blocking @ref qkn \"QK-nano kernel\". @ref ports_native \"Native QP ports\" and ready-to-use @ref exa_native \"examples\" are provided for selected @ref exa_ref_mcu \"CPU families\".\n\n\n@subsection emul Windows/Linux Emulation\nQP-nano&trade; can also be emulated on @ref ports_os \"desktop OSes\" (such as Windows and Linux), which allows you to develop and test large portions of your deeply embedded code on the desktop.\n\n\n@subsection popular Popularity &amp; Maturity\nWith over 15 years of continuous development and <a class=\"extern\" target=\"_blank\" href=\"https://sourceforge.net/projects/qpc/files/stats/timeline?dates=2016-01-01+to+2016-12-31\">60,000 downloads a year</a>, the QP&trade; RTEF family is the most mature and popular such solution on the embedded software market.\n\nThe QP&trade; frameworks are used in <a href=\"https://www.state-machine.com/about/customers\" target=\"_blank\" class=\"extern\">millions of products worldwide</a> in aerospace, medical devices, consumer electronics, wired and wireless telecommunications, industrial automation, transportation, robotics, and many more.\n\n\n@subsection psicc2 Book\nThe book, <a class=\"extern\" target=\"_blank\" href=\"https://www.state-machine.com/psicc2\" ><strong>Practical UML Statecharts in C/C++, 2nd Edition</strong></a> provides a detailed design study of the QP frameworks and explains all the related concepts.\n\n@image html PSiCC2-3D.jpg \"Practical UML Statecharts in C/C++, 2nd Edition\"\n\n\n@section licensing How is it licensed?\n\nQP-nano&trade; is licensed under the increasingly popular <a class=\"extern\" target=\"_blank\" href=\"https://www.state-machine.com/licensing\">dual licensing model</a>, in which both the open source software distribution mechanism and traditional closed source software distribution models are combined.\n\n@note If your company has a policy forbidding open source in your product, all QP frameworks can be licensed commercially, in which case you don't use any open source license and you do not violate your policy.\n\n\n@subsection open-source Open Source Projects\nIf you are developing and distributing open source applications under the GNU General Public License (GPL), as published by the Free Software Foundation, then you are free to use the Quantum Leaps software under the <a class=\"extern\" target=\"_blank\" href=\"http://www.gnu.org/copyleft/gpl.html\">GPL version 3</a> of the License, or (at your option) any later version. Please note that GPL requires that all modifications to the original code as well as your application code (Derivative Works as defined in the Copyright Law) must also be released under the terms of the GPL open source license.\n\n\n@subsection closed-source Closed Source Projects\nIf you are developing and distributing traditional closed source applications, you can purchase one of <a class=\"extern\" target=\"_blank\" href=\"https://www.state-machine.com/licensing/#Commercial\">Quantum Leaps commercial licenses</a>, which are specifically designed for users interested in retaining the proprietary status of their code. All Quantum Leaps commercial licenses expressly supersede the GPL open source license. This means that when you license Quantum Leaps software under a commercial license, you specifically do not use the software under the open source license and therefore you are not subject to any of its terms.\n\n\n@section support How to get help?\nPlease post any **technical questions** to the <a class=\"extern\" target=\"_blank\" href=\"http://sourceforge.net/p/qpc/discussion/668726\"><strong>Free Support Forum</strong></a> hosted on SourceForge.net. Posts to this forum benefit the whole community and are typically answered the same day.\n\nDirect **Commercial Support** is available to the commercial licensees. Every commercial license includes one year of Technical Support for the licensed software. The support term can be extended annually.\n\nTraining and consulting services are also available from Quantum Leaps. Please refer to the <a class=\"extern\" target=\"_blank\" href=\"https://www.state-machine.com/contact\">Contact web-page</a> for more information.\n\n\n@section contact Contact Information\n\n- Quantum Leaps Web site:   <a class=\"extern\" target=\"_blank\" href=\"https://www.state-machine.com\">state-machine.com</a>\n\n- Quantum Leaps licensing:  <a class=\"extern\" target=\"_blank\" href=\"https://www.state-machine.com\">state-machine.com/licensing</a>\n\n- QP/QM on SourceForge.net: <a class=\"extern\" target=\"_blank\" href=\"https://sourceforge.net/projects/qpc\">sourceforge.net/projects/qpc</a>\n\n- QP/QM on GitHub: <a class=\"extern\" target=\"_blank\" href=\"https://github.com/QuantumLeaps\">github.com/QuantumLeaps</a>\n\n- e-mail: <a class=\"extern\" target=\"_blank\" href=\"mailto:info@state-machine.com\">info@state-machine.com</a>\n\n@image html logo_ql_TM.jpg\n\n\n@next{gs}\n*/\n"
  },
  {
    "path": "doxygen/make.bat",
    "content": "@echo off\n:: ==========================================================================\n:: Product: batch script for generating Doxygen documentation\n:: Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.\n::\n:: SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial\n::\n:: This software is dual-licensed under the terms of the open source GNU\n:: General Public License version 3 (or any later version), or alternatively,\n:: under the terms of one of the closed source Quantum Leaps commercial\n:: licenses.\n::\n:: The terms of the open source GNU General Public License version 3\n:: can be found at: <www.gnu.org/licenses/gpl-3.0>\n::\n:: The terms of the closed source Quantum Leaps commercial licenses\n:: can be found at: <www.state-machine.com/licensing>\n::\n:: Redistributions in source code must retain this top-level comment block.\n:: Plagiarizing this software to sidestep the license obligations is illegal.\n::\n:: Contact information:\n:: <www.state-machine.com>\n:: <info@state-machine.com>\n:: ==========================================================================\n@setlocal\n\n@echo usage:\n@echo make\n@echo make -CHM\n@echo make ...\n\n:: Doxygen tool (adjust to your system) ......................................\n@set DOXYGEN=doxygen\n\n:: HTML Help tool (needed only with the -CHM option, (adjust to your system) .\n@set HHC=\"C:\\tools\\HTML Help Workshop\\hhc.exe\"\n\n:: Simple complexity metrics tool  (adjust to your system) ...................\n@set LIZARD=lizard\n\n:: Generate metrics.dox file...\n@set METRICS_INP=..\\include ..\\src -x ..\\src\\qs\\*\n@set METRICS_OUT=metrics.dox\n\n@echo /** @page metrics Code Metrics > %METRICS_OUT%\n@echo.>> %METRICS_OUT%\n@echo @code{cpp} >> %METRICS_OUT%\n@echo                    Code Metrics for QP-nano >> %METRICS_OUT%\n\n%LIZARD% -m -L500 -a10 -C20 -V %METRICS_INP% >> %METRICS_OUT%\n\n@echo @endcode >> %METRICS_OUT%\n@echo */ >> %METRICS_OUT%\n\n:: Generate Doxygen Documentation...\nif \"%1\"==\"-CHM\" (\n    @echo Generating HTML...\n    %DOXYGEN% Doxyfile-CHM\n    \n    @echo Adding custom images...\n    xcopy preview.js tmp\\\n    xcopy img tmp\\img\\\n    @echo img\\img.htm >> tmp\\index.hhp\n\n    @echo Generating CHM...\n    %HHC% tmp\\index.hhp\n    \n    @echo.\n    @echo Cleanup...\n    @rmdir /S /Q  tmp\n    @echo CHM file generated\n\n) else (\n    @echo.\n    @echo Cleanup...\n    rmdir /S /Q  ..\\html\n    \n    @echo Adding custom images...\n    xcopy preview.js ..\\html\\\n    xcopy img ..\\html\\img\\\n    copy images\\favicon.ico ..\\html\n\n    @echo Generating HTML...\n    %DOXYGEN% Doxyfile%1\n    @qclean ..\\html\n)\n\n@endlocal\n"
  },
  {
    "path": "doxygen/modules.dox",
    "content": "/*! @defgroup qepn QEP-nano\n\n@brief\nHierarchical Event Processor\n\nQEP-nano is a universal, UML-compliant event processor that enables developers to code UML state machines in highly readable ANSI-C, in which every state machine element is mapped to code precisely, unambiguously, and exactly once (traceability). QEP fully supports hierarchical state nesting, which is the fundamental mechanism for reusing behavior across many states instead of repeating the same actions and transitions over and over again.\n*/\n/*!\n@defgroup qfn  QF-nano\n\n@brief\nActive Object (Actor) Framework\n\nQF-nano is a portable, event-driven, real-time framework for execution of active objects (concurrent state machines) specifically designed for real-time embedded (RTE) systems.\n*/\n/*!\n@defgroup qkn  QK-nano\n\n@brief\nPreemptive Non-Blocking Kernel\n\nQK is a tiny **preemptive**, priority-based, non-blocking kernel designed specifically for executing active objects. QK meets all the requirement of the Rate Monotonic Scheduling (a.k.a. Rate Monotonic Analysis — RMA) and can be used in hard real-time systems.\n*/\n/*!\n@defgroup qvn  QV-nano\n\n@brief\nCooperative Run-to-Completion Kernel\n\nQV-nano is a simple **cooperative** kernel (previously called \"Vanilla\" kernel). This kernel executes active objects one at a time, with priority-based scheduling performed before processing of each event. Due to naturally short duration of event processing in state machines, the simple QV kernel is often adequate for many real-time systems.\n*/\n/*! @dir ../include\n\nPlatform-independent QP-nano API\n\n@note\nThe QP-nano <span class=\"img folder\">include</span> directory needs to be added to the compiler's include path in the applications using QP-nano.\n*/\n/*! @dir ../source\n\nPlatform-independent QP-nano implementation\n\nFiles from this directory need to be added to the project, to build the QP-nano framework from source code.\n\n@attention\nNot all QP-nano source files should be added to every project. For example, QP-nano ports to the preemptive QK-nano kernel should **not** contain the file <span class=\"img file_c\">qvn.c</span> and conversely, QP-nano ports to the cooperative QV-nano kernel should not contain the files <span class=\"img file_c\">qkn.c</span>.\n\n@note\nThe QP-nano <span class=\"img folder\">source</span> directory needs to be added to the compiler's include path in the applications using QP-nano, because QP-nano is built from sources.\n*/"
  },
  {
    "path": "doxygen/ports.dox",
    "content": "/*! @page ports Ports\n\n@section ports_gen General Comments\nThe QP-nano framework can be easily adapted to various operating systems, processor architectures, and compilers. Adapting the QP-nano software is called porting and the QP-nano framework has been designed from the ground up to make porting easy.\n\nThe QP-nano distribution contains many QP-nano ports, which are organized into the three categories:\n\n- @subpage ports_native \"Native Ports\" adapt QP-nano to run on bare-metal processors \"natively\", using one of the built-in kernels (@ref comp_qv \"QV\" or @ref comp_qk \"QK\")\n\n- @subpage ports_os \"3rd-Party OS Ports\" adapt QP-nano to run on top of a 3rd-Party Operating System (OS), such as Windows or Linux.\n\n\n\n@section ports_code Port Code Structure\nStarting with QP-nano release 5.4.0, **all** available ports are bundled into the QP-nano download, as opposed to being distributed as separate QP Development Kits (QDKs). The main benefit is of this approach is that it greatly reduces chances of mistakes in combining the mainline QP-nano code with various QDKs. The downside is that the QP-nano distribution becomes quite large and that ports cannot be added or updated independently from the QP-nano baseline code.\n\nAll ports are located in sub-directories of the <span class=\"img folder\">ports</span> @ref qpn_files \"top-level folder\", with the hierarchical organization outlined below:\n\n<ul class=\"tag\">\n  <li><span class=\"img folder\">ports</span>\n  </li>\n  <ul class=\"tag\">\n    <li><span class=\"img folder\">arm-cm</span> &mdash; Native ports for ARM-Cortex-M (bare-metal) <span class=\"tag\">A</span>\n    </li>\n    <ul class=\"tag\">\n      <li><span class=\"img folder\">qk</span> &mdash; Port to the @ref comp_qk \"preemptive QK kernel\"\n      </li>\n      <ul class=\"tag\">\n        <li><span class=\"img folder\">arm</span> &mdash; Port to ARM-KEIL toolset\n        </li>\n        <ul class=\"tag\">\n          <li><span class=\"img folder\">dbg</span> &mdash; Debug @ref exa_sec_conf \"build configuration\"\n          </li>\n          <li><span class=\"img folder\">rel</span> &mdash; Release build configuration\n          </li>\n          <li><span class=\"img folder\">spy</span> &mdash; Spy build configuration\n          </li>\n        </ul>\n        <li><span class=\"img folder\">gnu</span> &mdash; Port to GNU toolset\n        </li>\n        <li><span class=\"img folder\">iar</span> &mdash; Port to IAR toolset\n        </li>\n      </ul>\n    </ul>\n    <ul class=\"tag\">\n      <li><span class=\"img folder\">qv</span> &mdash; Port to the @ref comp_qv \"cooperative QV kernel\"\n      </li>\n      <ul class=\"tag\">\n        <li><span class=\"img folder\">arm</span> &mdash; Port to ARM-KEIL toolset\n        </li>\n        <ul class=\"tag\">\n          <li><span class=\"img folder\">dbg</span> &mdash; Debug @ref exa_sec_conf \"build configuration\"\n          </li>\n          <li><span class=\"img folder\">rel</span> &mdash; Release build configuration\n          </li>\n          <li><span class=\"img folder\">spy</span> &mdash; Spy build configuration\n          </li>\n        </ul>\n        <li><span class=\"img folder\">gnu</span> &mdash; Port to GNU toolset\n        </li>\n        <li><span class=\"img folder\">iar</span> &mdash; Port to IAR toolset\n        </li>\n      </ul>\n    </ul>\n\n    <li><span class=\"img folder\">win32-qv</span> &mdash; Port to Win32-QV (Windows) <span class=\"tag\">B</span>\n    </li>\n    <li><span class=\"img folder\">posix-qv</span> &mdash; Port to POSIX-QV (Linux, BSD, etc.) <span class=\"tag\">B</span>\n    </li>\n  </ul>\n</ul>\n\n<ul class=\"tag\">\n  <li><span class=\"tag\">A</span> **Native Ports** are located in sub-directories named after the CPU architecture, such as <span class=\"img folder\">arm-cm</span> for ARM Cortex-M. Under that directory, the sub-directories <span class=\"img folder\">qk</span> and <span class=\"img folder\">qv</span> contain ports for the @ref comp_qk \"QK\" and @ref comp_qv \"QV\" kernels, respectively.\n  </li>\n\n  <li><span class=\"tag\">B</span> **Ports for 3rd-party OS** are located in sub-directories named after the OS, such as <span class=\"img folder\">win32-qv</span> for the Win32-QV (Windows with QV-type scheduler).\n  </li>\n</ul>\n\n@note\nBecause the QP distribution contains *all* ports, the number of sub-directories and files in the <span class=\"img folder\">ports</span> folder may seem daunting. However, knowing the structure of the <span class=\"img folder\">ports</span> folder, you can simply **delete** the sub-directories that are not interesting to you.\n\n\n@next{ports_native}\n*/\n"
  },
  {
    "path": "doxygen/ports_arm-cm.dox",
    "content": "/*##########################################################################*/\n/*! @page arm-cm ARM Cortex-M\n\n@tableofcontents\n\n<p>This section describes the QP-nano&trade; port to the ARM Cortex-M processor family (Cortex M0/M0+/M3/M4). Three main implementation options are covered: the @subpage arm-cm_qv \"cooperative, priority-based QV-nano kernel\" and the @subpage arm-cm_qk \"preemptive run-to-completion QK-nano kernel\". Additionally, the use of the VFP (floating point coprocessor) in the M4F processor is explained as well. This document assumes QP-nano version 5.9.x or higher.\n</p>\n\n@note\nTo focus the discussion, this section references the **GNU-ARM toolchain**. However, the general implementation strategy applies equally to all toolchains for ARM Cortex-M, such as **ARM-KEIL** and **IAR EWARM**, which are all provided as well. The QP code downloads contain also examples for other boards, such as STM32 Nucleo, NXP mbed-1768, SilLabs Gecko and others.\n\n\n\n@section arm-cm_files Directories and Files\nThe QP ports to ARM Cortex-M are available in the standard QP distribution. Specifically, the ARM Cortex-M ports are placed in the following directories:\n\n<ul class=\"tag\">\n  <li><span class=\"img folder\">/pors/arm-cm/</span>\n  </li>\n  <ul class=\"tag\">\n    <li><span class=\"img folder\">qv/</span> &mdash; QV ports\n    </li>\n    <ul class=\"tag\">\n      <li><span class=\"img folder\">arm/</span> &mdash; ARM-KEIL toolchain\n      </li>\n      <li><span class=\"img folder\">gnu/</span> &mdash; GNU-ARM toolchain\n        <ul class=\"tag\">\n          <li><span class=\"img file_h\">qfn_port.h</span> &mdash; QF-nano port header\n          </li>\n          <li><span class=\"img file_c\">qvn_port.c</span> &mdash; QV-nano port implementation\n          </li>\n        </ul>\n      </li>\n      <li><span class=\"img folder\">iar/</span> &mdash; IAR-EWARM toolchain\n      </li>\n    </ul>\n    <li><span class=\"img folder\">qk/</span> &mdash; QK-nano ports\n    </li>\n    <ul class=\"tag\">\n      <li><span class=\"img folder\">arm/</span> &mdash; ARM-KEIL toolchain\n      </li>\n      <li><span class=\"img folder\">armclang/</span> &mdash; ARM-KEIL toolchain CLANG/LLVM compiler\n      </li>\n      <li><span class=\"img folder\">gnu/</span> &mdash; GNU-ARM toolchain\n      </li>\n      <li><span class=\"img folder\">iar/</span> &mdash; IAR-EWARM toolchain\n      </li>\n    </ul>\n  </ul>\n</ul>\n\n\n\n@section arm-cm_int Interrupts in the QP-nano Ports to ARM Cortex-M\nThe QP-nano framework, like any real-time kernel, needs to disable interrupts in order to access critical sections of code and re-enable interrupts when done. This section describes the general policy that in the ARM Cortex-M ports of all built-in real time kernels in QP, such as QV-nano and QK-nano.\n\n\n\n@subsection arm-cm_kernel-aware \"Kernel-Aware\" and \"Kernel-Unaware\" Interrupts\nThe QP ports to ARM Cortex-M3/M4 **never completely disables interrupts**, even inside the critical sections. On Cortex-M3/M4 (ARMv7-M architecture), the QP port disables interrupts **selectively** using the BASEPRI register. This policy divides interrupts into \"kernel-unaware\" interrupts, which are never disabled, and \"kernel-aware\" interrupts, which are disabled in the QP critical sections.\n\n@note\nThe BASEPRI register is not implemented in the ARMv6-M architecture (Cortex-M0/M0+), so Cortex-M0/M0+ need to use the PRIMASK register to disable interrupts globally. In other words, in Cortex-M0/M0+ ports, all interrupts are \"kernel-aware\".\n\n\n@attention\nOnly \"kernel-aware\" interrupts are allowed to call QP services. \"Kernel-unaware\" interrupts are not allowed to call any QP services and they can communicate with QP only by triggering a \"kernel-aware\" interrupt (which can post or publish events).\n\n\nAs illustrated in the figures below, the number of interrupt priority bits actually available is implementation dependent, meaning that the various ARM Cortex-M silicon vendors can provide different number of priority bits, varying from just 3 bits (which is the minimum for ARMv7-M architecture) up to 8 bits. For example, the TI Tiva-C microcontrollers implement only 3 priority bits (see figure below).\n\n@image html arm-cm_int3bit.png \"Kernel-aware and Kernel-unaware interrupts with 3 priority bits\n\nOn the other hand, the STM32 MCUs implement 4 priority bits (see figure below). The CMSIS standard provides the macro <strong>__NVIC_PRIO_BITS</strong>, which specifies the number of NVIC priority bits defined in a given ARM Cortex-M implementation.\n\n@image html arm-cm_int4bit.png \"Kernel-aware and Kernel-unaware interrupts with 4 priority bits\n\nAnother important fact to note is that the ARM Cortex-M core stores the interrupt priority values in the *most significant bits* of its eight bit interrupt priority registers inside the NVIC (Nested Vectored Interrupt Controller). For example, if an implementation of a ARM Cortex-M microcontroller only implements three priority bits, then these three bits are shifted to occupy bits five, six and seven respectively. The unimplemented bits can be written as zero or one and always read as zero.\n\nAnd finally, the NVIC uses an inverted priority numbering scheme for interrupts, in which priority zero (0) is the highest possible priority (highest urgency) and larger priority numbers denote actually lower-priority interrupts. So for example, interrupt of priority 2 can preempt an interrupt with priority 3, but interrupt of priority 3 cannot preempt interrupt of priority 3. The default value of priority of all interrupts out of reset is zero (0).\n\n@note\nStarting with QP 5.9.x, the QF_init() call sets interrupt priority of all IRQs to the \"kernel aware\" value <strong>QF_BASEPRI</strong>. Still, it is highly recommended to set the priority of all interrupts used by an application **explicitly**.\n\n\n@attention\nSome 3rd-party libraries (e.g., STM32Cube) change the interrupt priorities and sometimes priority grouping internally and unexpectedly, so care must be taken to change the priorities back to the appropriate values right before running the application.\n\n\nThe CMSIS provides the function @c NVIC_SetPriority() which you should use to set priority of every interrupt.\n\n@note\nThe priority scheme passed to `NVIC_SetPriority()` is different again than the values stored in the NVIC registers, as shown in the figures above as \"CMSIS priorities\"\n\n\n\n@subsection arm-cm_int-assign Assigning Interrupt Priorities\nThe @ref exa_arm-cm \"example projects\" included in the QP distribution the recommended way of assigning interrupt priorities in your applications. The initialization consist of two steps: (1) you enumerate the \"kernel-unaware\" and \"kernel-aware\" interrupt priorities, and (2) you assign the priorities by calling the @c NVIC_SetPriority() CMSIS function. The following snippet of code illustrates these steps with the explanation section following immediately after the code.\n\n@anchor arm-cm_int-assign-code\n<b>Listing: Assigning the interrupt priorities (see file bsp.c in the example projects)</b>\n@code{c}\n    /*!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n    * Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n    * DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n    */\n[1] enum KernelUnawareISRs {  /* see NOTE0 */\n        /* ... */\n[2]     MAX_KERNEL_UNAWARE_CMSIS_PRI /* keep always last */\n    };\n    /* \"kernel-unaware\" interrupts can't overlap \"kernel-aware\" interrupts */\n[3] Q_ASSERT_COMPILE(MAX_KERNEL_UNAWARE_CMSIS_PRI <= QF_AWARE_ISR_CMSIS_PRI);\n\n[4] enum KernelAwareISRs {\n[5]     GPIOPORTA_PRI = QF_AWARE_ISR_CMSIS_PRI, /* see NOTE00 */\n        SYSTICK_PRIO,\n        /* ... */\n[6]     MAX_KERNEL_AWARE_CMSIS_PRI  /* keep always last */\n    };\n    /* \"kernel-aware\" interrupts should not overlap the PendSV priority */\n[7] Q_ASSERT_COMPILE(MAX_KERNEL_AWARE_CMSIS_PRI <= (0xFF>>(8-__NVIC_PRIO_BITS)));\n\n    ~ ~ ~\n\n[8] void QF_onStartup(void) {\n        /* set up the SysTick timer to fire at BSP_TICKS_PER_SEC rate */\n        SysTick_Config(ROM_SysCtlClockGet() / BSP_TICKS_PER_SEC);\n\n        /* assing all priority bits for preemption-prio. and none to sub-prio. */\n[9]     NVIC_SetPriorityGrouping(0U);\n\n        /* set priorities of ALL ISRs used in the system, see NOTE00\n        *\n        * !!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n        * Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n        * DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n        */\n[10]    NVIC_SetPriority(SysTick_IRQn,   SYSTICK_PRIO);\n[11]    NVIC_SetPriority(GPIOPortA_IRQn, GPIOPORTA_PRIO);\n        ~ ~ ~\n        /* enable IRQs... */\n[12]    NVIC_EnableIRQ(GPIOPortA_IRQn);\n    }\n@endcode\n\n<ul class=\"tag\">\n  <li><span class=\"tag\">1</span>\nThe enumeration @c KernelUnawareISRs lists the priority numbers for the \"kernel-unaware\" interrupts. These priorities start with zero (highest possible). The priorities are suitable as the argument for the @c NVC_SetPriority() CMSIS function.\n\n> NOTE: The NVIC allows you to assign the same priority level to multiple interrupts, so you can have more ISRs than priority levels running as \"kernel-unaware\" or \"kernel-aware\" interrupts.\n\n  </li>\n  <li><span class=\"tag\">2</span>\nThe last value in the enumeration MAX_KERNEL_UNAWARE_CMSIS_PRI keeps track of the maximum priority used for a \"kernel-unaware\" interrupt.\n  </li>\n  <li><span class=\"tag\">3</span>\nThe compile-time assertion ensures that the \"kernel-unaware\" interrupt priorities do not overlap the \"kernel-aware\" interrupts, which start at QF_AWARE_ISR_CMSIS_PRI.\n  </li>\n  <li><span class=\"tag\">4</span>\nThe enumeration KernelAwareISRs lists the priority numbers for the \"kernel-aware\" interrupts.\n  </li>\n  <li><span class=\"tag\">5</span>\nThe \"kernel-aware\" interrupt priorities start with the QF_AWARE_ISR_CMSIS_PRI offset, which is provided in the qf_port.h header file.\n  </li>\n  <li><span class=\"tag\">6</span>\nThe last value in the enumeration MAX_KERNEL_AWARE_CMSIS_PRI keeps track of the maximum priority used for a \"kernel-aware\" interrupt.\n  </li>\n  <li><span class=\"tag\">7</span>\nThe compile-time assertion ensures that the \"kernel-aware\" interrupt priorities do not overlap the lowest priority level reserved for the PendSV exception.\n  </li>\n  <li><span class=\"tag\">8</span>\nThe QF_onStartup() callback function is where you set up the interrupts.\n  </li>\n  <li><span class=\"tag\">9</span>\nThis call to the CMIS function @c NVIC_SetPriorityGrouping() assigns all the priority bits to be preempt priority bits, leaving no priority bits as subpriority bits to preserve the direct relationship between the interrupt priorities and the ISR preemption rules. This is the default configuration out of reset for the ARM Cortex-M3/M4 cores, but it can be changed by some vendor-supplied startup code. To avoid any surprises, the call to NVIC_SetPriorityGrouping(0U) is recommended.\n  </li>\n  <li><span class=\"tag\">10-11</span>\nThe interrupt priories fall all interrupts (\"kernel-unaware\" and \"kernel-aware\" alike) are set explicitly by calls to the CMSIS function @c NVIC_SetPriority().\n  </li>\n  <li><span class=\"tag\">12</span>\nAll used IRQ interrupts need to be explicitly enabled by calling the CMSIS function.\n   </li>\n</ul>\n\n\n@subsection arm-cm_int-fpu Interrupts and the FPU (Cortex-M4F)\nThe QP ports described in this section support also the ARM Cortex-M4F. Compared to all other members of the Cortex-M family, these cores includes the single precision variant of the ARMv7-M Floating-Point Unit (Fpv4-SP). The hardware FPU implementation adds an extra floating-point register bank consisting of S0-S31 and some other FPU registers. This FPU register set represents additional context that need to be preserved across interrupts and thread switching (e.g., in the preemptive QK-nano kernel).\n\nThe ARM VFP has a very interesting feature called **lazy stacking** [@ref ARM-AN298]. This feature avoids an increase of interrupt latency by skipping the stacking of floating-point registers, if not required, that is:\n\n- if the interrupt handler does not use the FPU, or\n- if the interrupted program does not use the FPU.\n\nIf the interrupt handler has to use the FPU and the interrupted context has also previously used by the FPU, then the stacking of floating-point registers takes place at the point in the program where the interrupt handler first uses the FPU. The lazy stacking feature is programmable and by default it is turned ON.\n\n@note\nAll built-in kernels in QP are designed to take advantage of the lazy stacking feature [@ref ARM-AN298].\n\n\n\n@section arm-cm_ref References\n\n@anchor ARM-AN298\n- **[ARM AN298]** <a href=\"http://infocenter.arm.com/help/topic/com.arm.doc.dai0298a/DAI0298A_cortex_m4f_lazy_stacking_and_context_switching.pdf\" target=\"_blank\" class=\"extern\">ARM Application Note 298 \"Cortex-M4(F) Lazy Stacking and Context Switching\", ARM 2012</a>\n\n@anchor ARM-EPM-064408\n- **[ARM-EPM-064408]** <a href=\"http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.epm064408/index.html\" target=\"_blank\" class=\"extern\">\"ARM Processor Cortex-M7 (AT610) and Cortex-M7 with FPU (AT611) Software Developers Errata Notice\"</a>\n\n@anchor Reminder\n- **[Reminder]** <a href=\"https://www.state-machine.com/doc/Pattern_Reminder.pdf\" target=\"_blank\" class=\"extern\">\"Reminder State Pattern\"</a>\n\n@next{arm-cm_qv}\n*/\n/*##########################################################################*/\n/*! @page arm-cm_qv Cooperative QV-nano Kernel\n\n@tableofcontents\n\n<p>The non-preemptive, cooperative QV-nano kernel executes active objects one at a time, with priority-based scheduling performed after run-to-completion (RTC) processing of each event. Due to naturally short duration of event processing in state machines, the simple QV-nano kernel is often adequate for many real-time systems.\n</p>\n\n@remarks\nIn the QV-nano port, the only components requiring platform-specific porting are QF-nano and QV-nano itself. The other two components: QEP and QS require merely recompilation and will not be discussed here. With the QV-nano port you're not using the QK-nano kernel. The QV-nano port to ARM Cortex-M is located in the folder <span class=\"img folder\">/ports/arm-cm/qv/</span>.\n\n\n\n@section arm-cm_qv-synopsis Synopsis of the QV-nano Port on ARM Cortex-M\nThe cooperative QV-nano kernel works essentially as the traditional foreground-background system (a.k.a. \"superloop\") in that all active objects are executed in the main loop and interrupts always return back to the point of preemption. To avoid race conditions between the main loop and the interrupts, QV briefly disables interrupts.\n\n1. The ARM Cortex-M processor executes application code (the main loop) in the Privileged Thread mode, which is exactly the mode entered out of reset.\n\n2. The exceptions (including all interrupts) are always processed in the Privileged Handler mode.\n\n3. QV-nano uses only the Main Stack Pointer. The Process Stack Pointer is not used and is not initialized.\n\n4. ARM Cortex-M enters interrupt context without disabling interrupts (without setting the PRIMASK bit or the BASEPRI register). Generally, you should not disable interrupts inside your ISRs. In particular, the QP services QF_tickXISR(), QACTIVE_POST_ISR() should be called with **interrupts enabled**, to avoid nesting of critical sections.\n\n> <b>NOTE:</b> If you don't wish an interrupt to be preempted by another interrupt, you can always prioritize that interrupt in the NVIC to a higher level (use a lower numerical value of priority).\n\n5. The `QF_init()` function calls the function `QV_init()` to set the interrupt priority of all IRQs available in the MCU to the safe value of @ref QF_BASEPRI \"QF_BASEPRI\" (for ARM-v7 architecture).\n\n\n\n@section arm-cm_qv-qf_port The qf_port.h Header File\nThe QF header file for the ARM Cortex-M port is located in <span class=\"img file_h\">`/ports/arm-cm/qv/gnu/qf_port.h`</span>. This file specifies the interrupt disabling policy (QF critical section) as well as the configuration constants for QF (see Chapter 8 in [PSiCC2]).\n\n@note\nThe ARM Cortex-M allows you to use the simplest \"unconditional interrupt disabling\" policy (see Section 7.3.2 in [PSiCC2]), because ARM Cortex-M is equipped with the standard nested vectored interrupt controller (NVIC) and generally runs ISRs with interrupts enabled (so the body of an ISR is not a critical section).\n\n\nThe following listing shows the `qfn_port.h` header file for ARM Cortex-M with the GNU-ARM toolchain. Other toolchains use slightly different conditional compilation macros to select the Cortex-M variants, but implement the same policies.\n\n@anchor arm-cm_qf_port_h-code\n<b>Listing: The qfn_port.h header file for ARM Cortex-M</b>\n@code{c}\n     /* QF interrupt disable/enable and log2()... */\n [1] if (__ARM_ARCH == 6) /* Cortex-M0/M0+/M1 ?, see NOTE1 */\n\n         /* Cortex-M0/M0+/M1(v6-M, v6S-M) interrupt disabling policy, see NOTE2 */\n [2]     #define QF_INT_DISABLE()    __asm volatile (\"cpsid i\")\n [3]     #define QF_INT_ENABLE()     __asm volatile (\"cpsie i\")\n\n         /* QF-aware ISR priority for CMSIS function NVIC_SetPriority(), NOTE1 */\n [4]     #define QF_AWARE_ISR_CMSIS_PRI 0\n\n         /* macro to put the CPU to sleep inside QV_onIdle() */\n [5]     #define QV_CPU_SLEEP() do { \\\n [6]         __asm volatile (\"wfi\"); \\\n [7]         QF_INT_ENABLE(); \\\n         } while (0)\n\n [8] #else /* Cortex-M3/M4, see NOTE2 */\n\n         /* Cortex-M3/M4 alternative interrupt disabling with PRIMASK */\n [9]     #define QF_PRIMASK_DISABLE() __asm volatile (\"cpsid i\")\n[10]     #define QF_PRIMASK_ENABLE()  __asm volatile (\"cpsie i\")\n\n         /* Cortex-M3/M4 interrupt disabling policy */\n[11]     #define QF_INT_DISABLE()     QF_SET_BASEPRI(QF_BASEPRI)\n[12]     #define QF_INT_ENABLE()      QF_SET_BASEPRI(0U)\n\n         /* BASEPRI threshold for \"QF-aware\" interrupts, see NOTE2 */\n[13]     #define QF_BASEPRI           0x3F\n\n         /* QF-aware ISR priority for CMSIS function NVIC_SetPriority(), NOTE3 */\n[14]     #define QF_AWARE_ISR_CMSIS_PRI (QF_BASEPRI >> (8 - __NVIC_PRIO_BITS))\n\n         /* macro to put the CPU to sleep inside QV_onIdle() */\n[15]     #define QV_CPU_SLEEP() do { \\\n[16]         QF_PRIMASK_DISABLE(); \\\n[17]         QF_INT_ENABLE(); \\\n[18]         __asm volatile (\"wfi\"); \\\n[19]         QF_PRIMASK_ENABLE(); \\\n         } while (0)\n\n         /* macro for setting the BASEPRI register */\n[20]     #define QF_SET_BASEPRI(basepri_) __asm volatile (\\\n             \"msr BASEPRI,%0\" :: \"r\" (basepri_) : )\n\n         /* initialization of the QV kernel for Cortex-M3/M4/M7 */\n[21]     #define QV_INIT() QV_init()\n         void QV_init(void);\n     #endif\n\n     /* interrupt nesting policy for ISR level (ISRs can nest) */\n[22] #define QF_ISR_NEST\n\n[23] #include <stdint.h>     /* Exact-width types. WG14/N843 C99 Standard */\n[24] #include <stdbool.h>    /* Boolean type.      WG14/N843 C99 Standard */\n\n     #include \"qepn.h\"       /* QEP-nano platform-independent public interface */\n     #include \"qfn.h\"        /* QF-nano platform-independent public interface */\n     #include \"qvn.h\"        /* QV-nano cooperative kernel interface */\n@endcode\n\n<ul class=\"tag\">\n  <li><span class=\"tag\">3</span>\nAs described in the previous @ref arm-cm_int \"Section\", the interrupt disabling policy for the ARMv6-M architecture (Cortex-M0/M0+) is different than the policy for the ARMv7-M. In GNU-ARM, the macro `__ARM_ARCH` is defined as 6 for the ARMv6-M architecture (Cortex-M0/M0+), and 7 for ARMv7-M (Cortex-M3/M4/M4F).\n\n> <b>NOTE:</b> The `__ARM_ARCH` macro is specific to the GNU-ARM compiler. Other compilers for ARM Cortex-M provide different macros to detect the CPU type.\n  </li>\n  <li><span class=\"tag\">4-5</span>\nFor the ARMv6-M architecture, the interrupt disabling policy uses the PRIMASK register to disable interrupts globally. The @c QF_INT_DISABLE() macro resolves in this case to the inline assembly instruction \"CPSD i\", which sets the PRIMASK. The @c QF_INT_ENABLE() macro resolves to the inline assembly instruction \"CPSE i\", which clears the PRIMASK.\n  </li>\n  <li><span class=\"tag\">6</span>\nThe #QF_CRIT_STAT_TYPE is <b>NOT</b> defined, meaning that the critical section uses the simple policy of \"unconditional interrupt disablin\".\n\n> <b>NOTE:</b> The \"unconditional interrupt disabling\" policy precludes nesting of critical sections, but this is not needed for ARM Cortex-M, because this CPU never disables interrupts, even when handling exceptions/interrupts.\n  </li>\n  <li><span class=\"tag\">7</span>\nThe QF_CRIT_ENTRY() enters a critical section. Interrupts are disabled by setting the PRIMASK register.\n  </li>\n  <li><span class=\"tag\">8</span>\nThe QF_CRIT_EXIT() macro leaves the critical section. Interrupts are unconditionally re-enabled by clearing the PRIMASK register.\n  </li>\n  <li><span class=\"tag\">9</span>\nFor the ARMv6-M architecture, the `QF_AWARE_ISR_CMSIS_PRI` priority level is defined as zero, meaning that all interrupts are \"kernel-aware\", because all interrupt priorities are disabled by the kernel.\n  </li>\n  <li><span class=\"tag\">10</span>\nThe `QF_LOG2()` macro is defined as a call to the function `QF_qlog2()` (\"quick log-base-2 logarithm\"). This function is coded in hand-optimized assembly, which always takes only 14 CPU cycles to execute (see also label [23]).\n\n> <b>NOTE:</b> ARM Cortex-M0/M0+ does NOT implement the `CLZ` instruction. Therefore the log-base-2 calculation cannot be accelerated in hardware, as it is for ARM Cortex-M3 and higher.\n  </li>\n  <li><span class=\"tag\">11</span>\nFor the ARMv7-M (Cortex-M3/M4/M4F) architecture...\n  </li>\n  <li><span class=\"tag\">12</span>\nThe `QF_PRIMASK_DISABLE()` macro resolves to the inline assembly instruction `CPSD i`, which sets the PRIMASK.\n  </li>\n  <li><span class=\"tag\">13</span>\nThe `QF_PRIMASK_ENABLE()` macro resolves to the inline assembly instruction `CPSE i`, which clears the PRIMASK.\n  </li>\n  <li><span class=\"tag\">14</span>\nInterrupts are disabled by setting the BASEPRI register to the value defined in the `QF_BASEPRI` macro (see label [19]). This setting of the BASEPRI instruction `msr BASEPRI,...` is surrounded by setting and clearing the PRIMASK register, as a workaround a hardware problem in ARM Cortex-M7 core r0p1:\n\n> <b>NOTE:</b> The selective disabling of \"QF-aware\" interrupts with the BASEPRI register has a problem on ARM Cortex-M7 core r0p1 (see [@ref ARM-EPM-064408], Erratum 837070). The workaround recommended by ARM is to surround `MSR BASEPRI,...` with the `CPSID i`/`CPSIE i` pair, which is implemented in the QF_INT_DISABLE() macro. This workaround works also for Cortex-M3/M4 cores.\n  </li>\n  <li><span class=\"tag\">15</span>\nThe `QF_INT_ENABLE()` macro sets the BASEPRI register to zero, which disables BASEPRI interrupt masking.\n\n> <b>NOTE:</b> this method can never disable interrupt of priority 0 (highest).\n  </li>\n  <li><span class=\"tag\">16</span>\nThe #QF_CRIT_STAT_TYPE is <b>NOT</b> defined, meaning that the critical section uses the simple policy of \"unconditional interrupt disabling\".\n\n> <b>NOTE:</b> The \"unconditional interrupt disabling\" policy precludes nesting of critical sections, but this is not needed for ARM Cortex-M, because this CPU never disables interrupts, even when handling exceptions/interrupts.\n  </li>\n  <li><span class=\"tag\">17</span>\nThe QF_CRIT_ENTRY() enters a critical section. Interrupts are disabled with the macro `QF_INT_DISABLE()` defined at label [12].\n  </li>\n  <li><span class=\"tag\">18</span>\nThe QF_CRIT_EXIT() macro leaves the critical section. Interrupts are unconditionally re-enabled with the macro `QF_INT_ENABLE()` defined at label [13].\n  </li>\n  <li><span class=\"tag\">19</span>\n@anchor QF_BASEPRI\nThe `QF_BASEPRI` value is defined such that it is the lowest priority for the minimum number of 3 priority-bits that the ARM7-M architecture must provide. This partitions the interrupts as \"kernel-unaware\" and \"kernel-aware\" interrupts, as shown in section @ref arm-cm_int-assign.\n  </li>\n  <li><span class=\"tag\">20</span>\nFor the ARMv7-M architecture, the `QF_AWARE_ISR_CMSIS_PRI` priority level suitable for the CMSIS function `NVIC_SetPriority()` is determined by the `QF_BASEPRI` value.\n  </li>\n  <li><span class=\"tag\">21</span>\nThe macro `QF_LOG2()` is defined to take advantage of the CLZ instruction (Count Leading Zeroes), which is available in the ARMv7-M architecture.\n\n> <b>NOTE:</b> The `__builtin_cls()` intrinsic function is specific to the GNU-ARM compiler. Other compilers for ARM Cortex-M use different function names for this intrinsic function.\n  </li>\n  <li><span class=\"tag\">22</span>\nThe macro @c QF_CRIT_EXIT_NOP() provides the protection against merging two critical sections occurring back-to-back in the QP code.\n  </li>\n  <li><span class=\"tag\">23</span>\nFor ARMv6 architecture, the prototype of the quick, hand-optimized log-base-2 function is provided (see also label [10]).\n  </li>\n</ul>\n\n\n\n@section arm-cm_qv_port_h The qv_port.h Header File\nThe QV header file for the ARM Cortex-M port is located in <span class=\"img file_h\">/ports/arm-cm/qv/gnu/qv_port.h</span>. This file provides the macro QV_CPU_SLEEP(), which specifies how to enter the CPU sleep mode safely in the cooperative QV kernel (see also Section 4.7) and [Samek 07]).\n\n@note\nTo avoid race conditions between interrupts waking up active objects and going to sleep, the cooperative QV kernel calls the QV_CPU_SLEEP() callback with interrupts disabled.\n\n\n@anchor arm-cm_qv_port_h-code\n<b>Listing: The qv_port.h header file for ARM Cortex-M</b>\n@code{c}\n     #ifdef ARM_ARCH_V6M /* Cortex-M0/M0+/M1 ? */\n\n [1]     #define QV_CPU_SLEEP() do { \\\n             __asm volatile (\"wfi\"); \\\n             QF_INT_ENABLE(); \\\n         } while (0)\n\n     #else /* Cortex-M3/M4/M4F */\n\n [2]     #define QV_CPU_SLEEP() do { \\\n             QF_PRIMASK_DISABLE(); \\\n             QF_INT_ENABLE(); \\\n             __asm volatile (\"wfi\"); \\\n             QF_RIMASK_ENABLE(); \\\n         } while (0)\n\n     #endif\n\n [3] #define QV_INIT() QV_init()\n     void QV_init();\n\n     #include \"qv.h\" /* QV platform-independent public interface */\n\n@endcode\n\n<ul class=\"tag\">\n  <li><span class=\"tag\">1</span>\nFor the ARMv6-M architecture, the macro `QV_CPU_SLEEP()` stops the CPU with the WFI instruction (Wait For Interrupt). After the CPU is woken up by an interrupt, interrupts are re-enabled with the PRIMASK.\n  </li>\n  <li><span class=\"tag\">2</span>\nFor the ARMv7-M architecture, the macro `QV_CPU_SLEEP()` first disables interrupts by setting the PRIMASK, then clears the BASEPRI to enable all \"kernel-aware\" interrupts and only then stops the CPU with the WFI instruction (Wait For Interrupt). After the CPU is woken up by an interrupt, interrupts are re-enabled with the PRIMASK. This sequence is necessary, because the ARM Cortex-M3/M4/M7 cores cannot be woken up by any interrupt blocked by the BASEPRI register.\n  </li>\n  <li><span class=\"tag\">2</span>\nThe macro `QV_INIT()` is defined as a call to the `QV_init()` function, which means that this function will be called from `QF_init()`. The `QV_init()` function initializes all available IRQ priorities in the MCU to the safe value of @ref QF_BASEPRI \"QF_BASEPRI\".\n  </li>\n</ul>\n\n\n\n@section arm-cm_qv_port_c The qv_port.c Implementation File\nThe QV implementation file for the ARM Cortex-M port is located in <span class=\"img file_c\">/ports/arm-cm/qv/gnu/qf_port.c</span>. This file defines the function @c QV_init(), which for the ARMv7-M architecture sets the interrupt priorities of all IRQs to the safe value `QF_BASEPRI`.\n\n@anchor arm-cm_qv_port_c-code\n<b>Listing: The qv_port.c header file for ARM Cortex-M</b>\n@code{c}\n     #include \"qf_port.h\"\n\n [1] #if (__ARM_ARCH != 6) /* NOT Cortex-M0/M0+/M1 ? */\n\n     #define SCnSCB_ICTR  ((uint32_t volatile *)0xE000E004)\n     #define SCB_SYSPRI   ((uint32_t volatile *)0xE000ED14)\n     #define NVIC_IP      ((uint32_t volatile *)0xE000E400)\n\n     void QV_init(void) {\n         uint32_t n;\n\n         /* set exception priorities to QF_BASEPRI...\n         * SCB_SYSPRI1: Usage-fault, Bus-fault, Memory-fault\n         */\n [2]     SCB_SYSPRI[1] |= (QF_BASEPRI << 16) | (QF_BASEPRI << 8) | QF_BASEPRI;\n\n         /* SCB_SYSPRI2: SVCall */\n [3]     SCB_SYSPRI[2] |= (QF_BASEPRI << 24);\n\n         /* SCB_SYSPRI3:  SysTick, PendSV, Debug */\n [4]     SCB_SYSPRI[3] |= (QF_BASEPRI << 24) | (QF_BASEPRI << 16) | QF_BASEPRI;\n\n         /* set all implemented IRQ priories to QF_BASEPRI... */\n [5]     n = 8 + (*SCnSCB_ICTR << 3); /* # interrupt priority registers */\n         do {\n             --n;\n [6]         NVIC_IP[n] = (QF_BASEPRI << 24) | (QF_BASEPRI << 16)\n                          | (QF_BASEPRI << 8) | QF_BASEPRI;\n         } while (n != 0);\n     }\n\n     #endif /* NOT Cortex-M0/M0+/M1 */\n@endcode\n\n<ul class=\"tag\">\n  <li><span class=\"tag\">1</span>\nFor the ARMv7-M architecture (Cortex-M3/M4)...\n  </li>\n  <li><span class=\"tag\">2</span>\nThe exception priorities for User-Fault, Bus-Fault, and Mem-Fault are set to the value QF_BASEPRI.\n  </li>\n  <li><span class=\"tag\">3</span>\nThe exception priority for SVCCall is set to the value QF_BASEPRI.\n  </li>\n  <li><span class=\"tag\">4</span>\nThe exception priority for SysTick, PendSV, and Debug is set to the value QF_BASEPRI.\n  </li>\n  <li><span class=\"tag\">5</span>\nThe number of implemented IRQs is read from the @c SCnSCB_ICTR register\n  </li>\n  <li><span class=\"tag\">6</span>\nThe interrupt priority of all implemented IRQs is set to the safe value QF_BASEPRI in a loop.\n  </li>\n</ul>\n\n\n\n@section arm-cm_qv-isr Writing ISRs for QV\nThe ARM Cortex-M CPU is designed to use regular C functions as exception and interrupt service routines (ISRs).\n\n@note\nThe ARM EABI (Embedded Application Binary Interface) requires the stack be 8-byte aligned, whereas some compilers guarantee only 4-byte alignment. For that reason, some compilers (e.g., GNU-ARM) provide a way to designate ISR functions as interrupts. For example, the GNU-ARM compiler provides the __attribute__((__interrupt__)) designation that will guarantee the 8-byte stack alignment.\n\n\nTypically, ISRs are application-specific (with the main purpose to produce events for active objects). Therefore, ISRs are not part of the generic QP port, but rather part of the BSP (Board Support Package).\n\nThe following listing shows an example of the SysTick_Handler() ISR (from the DPP example application). This ISR calls the QF_TICK_X() macro to perform QF time-event management.\n\n@anchor arm-cm_qv-isr-code\n<b>Listing: An ISR header for QV</b>\n@code{c}\n     void SysTick_Handler(void) __attribute__((__interrupt__));\n     void SysTick_Handler(void) {\n          ~ ~ ~\n          QF_TICK_X(0U, &l_SysTick_Handler); /* process all armed time events */\n     }\n@endcode\n\n@note\nThe QP port to ARM Cortex-M complies with the CMSIS standard, which dictates the names of all exception handlers and IRQ handlers.\n\n\n\n@section arm-cm_qv-fpu Using the FPU in the QV-nano Port (Cortex-M4F)\nIf you have the Cortex-M4F CPU and your application uses the hardware FPU, it should be enabled because it is turned off out of reset. The CMSIS-compliant way of turning the FPU on looks as follows:\n\n@verbatim\n    SCB->CPACR |= (0xFU << 20);\n@endverbatim\n\n@note\nThe FPU must be enabled before executing any floating point instruction. An attempt to execute a floating point instruction will fault if the FPU is not enabled.\n\n\nDepending on whether or not you use the FPU in your ISRs, the QV port allows you to configure the FPU in various ways, as described in the following sub-sections.\n\n\n\n@subsection arm-cm_qv-fpu_noisr FPU NOT used in the ISRs\nIf you use the FPU only at the thread-level (inside active objects) and none of your ISRs use the FPU, you can setup the FPU not to use the automatic state preservation and not to use the lazy stacking feature as follows:\n\n@verbatim\n    FPU->FPCCR &= ~((1U << FPU_FPCCR_ASPEN_Pos) | (1U << FPU_FPCCR_LSPEN_Pos));\n@endverbatim\n\nWith this setting, the Cortex-M4F processor handles the ISRs in the exact-same way as Cortex-M0-M3, that is, only the standard interrupt frame with R0-R3,R12,LR,PC,xPSR is used. This scheme is the fastest and incurs no additional CPU cycles to save and restore the FPU registers.\n\n@note\nThis FPU setting will lead to FPU errors, if any of the ISRs indeed starts to use the FPU\n\n\n\n@subsection arm-cm_qv-fpu_isr FPU used in the ISRs\nIf you use the FPU both at the thread-level (inside active objects) and in any of your ISRs as well, you should setup the FPU to use the automatic state preservation and the lazy stacking feature as follows:\n\n@verbatim\n    FPU->FPCCR |= (1U << FPU_FPCCR_ASPEN_Pos) | (1U << FPU_FPCCR_LSPEN_Pos);\n@endverbatim\n\nThis will enable the lazy stacking feature of the Cortex-M4F processor [@ref ARM-AN298]. The the \"automatic state saving\" and \"lazy stacking\" are enabled by default, so you typically don't need to change these settings.\n\n@note\nAs described in the ARM Application Note \"Cortex-M4(F) Lazy Stacking and Context Switching\" [@ref ARM-AN298], the FPU automatic state saving requires more stack plus additional CPU time to save the FPU registers, but only when the FPU is actually used.\n\n\n\n@section arm-cm_qv-idle QV Idle Processing Customization in QV_onIdle()\nWhen no events are available, the non-preemptive QV kernel invokes the platform-specific callback function QV_onIdle(), which you can use to save CPU power, or perform any other \"idle\" processing (such as Quantum Spy software trace output).\n\n@note\nThe idle callback QV_onIdle() must be invoked with interrupts disabled, because the idle condition can be changed by any interrupt that posts events to event queues. QV_onIdle() must internally enable interrupts, ideally atomically with putting the CPU to the power-saving mode (see also [Samek 07] and Chapter 7 in [PSiCC2]).\n\n\nBecause QV_onIdle() must enable interrupts internally, the signature of the function depends on the interrupt locking policy. In case of the simple \"unconditional interrupt locking and unlocking\" policy, which is used in this ARM Cortex-M port, the QV_onIdle() takes no parameters. Listing 6 shows an example implementation of QV_onIdle() for the TM4C MCU. Other ARM Cortex-M embedded microcontrollers (e.g., NXP’s LPC1114/1343) handle the power-saving mode very similarly.\n\n@anchor arm-cm_qv_onidle-code\n<b>Listing: QV_onIdle() for ARM Cortex-M</b>\n@code{c}\n\n [1] void QV_onIdle(void) { /* entered with interrupts DISABLED, see NOTE01 */\n         ~ ~ ~\n [2] #if defined NDEBUG\n         /* Put the CPU and peripherals to the low-power mode */\n [3]     QV_CPU_SLEEP(); /* atomically go to sleep and enable interrupts */\n     #else\n [4]     QF_INT_ENABLE(); /* just enable interrupts */\n     #endif\n     }\n\n@endcode\n\n<ul class=\"tag\">\n  <li><span class=\"tag\">1</span>\nThe cooperative QV kernel calls the QV_onIdle() callback with interrupts disabled, to avoid race condition with interrupts that can post events to active objects and thus invalidate the idle condition.\n  <li>\n  <li><span class=\"tag\">2</span>\nThe sleep mode is used only in the non-debug configuration, because sleep mode stops CPU clock, which can interfere with debugging.\n  <li>\n  <li><span class=\"tag\">3</span>\nThe macro QV_CPU_SLEEP() is used to put the CPU to the low-power sleep mode safely. The macro QV_CPU_SLEEP() is defined in the qv_port.h header file for the QV kernel and depends on the interrupt disabling policy used.\n  <li>\n  <li><span class=\"tag\">4</span>\nWhen a sleep mode is not used, the QV_onIdle() callback simply re-enables interrupts.\n  </li>\n</ul>\n\n@next{arm-cm_qk}\n*/\n/*##########################################################################*/\n/*! @page arm-cm_qk Preemptive Run-to-Completion QK-nano Kernel\n\n@tableofcontents\n\n<p>The preemptive, run-to-completion (RTC) QK-nano kernel breaks entirely with the endless-loop structure of the thread routines and instead uses threads structured as one-shot, discrete, run-to-completion functions, very much like ISRs [PSiCC2, Chapter 10]. In fact, the QK-nano kernel views interrupts very much like threads of a \"super-high\" priority, except that interrupts are prioritized in hardware by the interrupt controller, whereas threads are prioritized in software by the RTC kernel.\n</p>\n\n@note\nThe preemptive QK-nano kernel uses only one stack for all threads (see the next section), but the stack must be bigger than in the non-preemptive QV kernel. You need to adjust the size of this stack to be large enough for your application.\n\n\nAs a fully preemptive multithreading kernel, QK-nano must ensure that at all times the CPU executes the highest-priority thread (active object) that is ready to run. Fortunately, only two scenarios can lead to readying a higher-priority thread:\n\n<ul class=\"tag\">\n  <li><span class=\"tag\">1</span>\nWhen a lower-priority thread posts an event to a higher-priority thread, the kernel must immediately suspend the execution of the lower-priority thread and start the higher-priority thread. This type of preemption is called <b>synchronous preemption</b> because it happens synchronously with posting an event to the thread's event queue.\n> NOTE: The stack usage shown in the bottom panel displays stack growing down (towards lower addresses), as it is the case in ARM Cortex-M.\n  </li>\n</ul>\n\n@anchor arm-cm_qk-synch-fig\n@image html qk_synch.gif \"Synchronous Preemption in QK\"\n\n<ul class=\"tag\">\n  <li><span class=\"tag\">2</span>\nWhen an interrupt posts an event to a higher-priority thread than the interrupted thread, upon completion of the ISR the kernel must start execution of the higher-priority thread instead of resuming the lower-priority thread. This type of preemption is called <b>asynchronous preemption</b> because it can happen asynchronously, any time interrupts are not explicitly disabled.\n> NOTE: The stack usage during asynchronous preemption on ARM Cortex-M is slightly simplified in the diagram below. A more detailed stack usage diagram is discussed later in the section explaining the @ref \"Detailed stack allocation in QK-nano for ARM Cortex-M\".\n  </li>\n</ul>\n\n@anchor arm-cm_qk-asynch-fig\n@image html qk_asynch.gif \"Synchronous Preemption in QK\"\n\n\n@note\nA traditional RTOS kernel does not distinguish between the synchronous and asynchronous preemptions and makes all preemptions look like the more stack-intensive asynchronous preemptions. In contrast, a RTC kernel can implement synchronous preemption as a simple function call (to QK_activate_()), which is much more efficient than a full context-switch.\n\n\n\n@section arm-cm_qk-synopsis Synopsis of the QK-nano Port on ARM Cortex-M\nThe ARM Cortex-M architecture is designed primarily for the traditional real-time kernels that use multiple per-thread stacks. This section explains how the run-to-completion preemptive QK-nano kernel works on ARM Cortex-M.\n\n1. The ARM Cortex-M processor executes the QK-nano application code (active objects) in the Privileged Thread mode, which is exactly the mode entered out of reset. The exceptions (including all interrupts) are always processed in the Privileged Handler mode.\n\n2. QK-nano uses only the Main Stack Pointer (QK-nano is a single stack kernel). The Process Stack Pointer is not used and is not initialized.\n\n3. ARM Cortex-M enters interrupt context without disabling interrupts (without setting the PRIMASK bit or the BASEPRI register). Generally, you should not disable interrupts inside your ISRs. In particular, the QP services QF_PUBLISH(), QF_TICK_X(), and QACTIVE_POST() should be called with interrupts enabled, to avoid nesting of critical sections. (NOTE: If you don’t wish an interrupt to be preempted by another interrupt, you can always prioritize that interrupt in the NVIC to a higher level -- use a lower numerical value of priority).\n\n\n4. The QK-nano port uses the PendSV exception (number 14) and the NMI exception (number 2) to perform asynchronous preemption and return to the preempted thread, respectively (see Chapter 10 in [<a href=\"https://www.state-machine.com/psicc2/\" target=\"_blank\" class=\"extern\">PSiCC2</a>]). The startup code must initialize the Interrupt Vector Table with the addresses of @c PendSV_Handler() and @c NMI_Handler() exception handlers.\n\n5. The QF_init() function calls the function QK_init() to set the priority of the PendSV exception to the lowest level in the whole system (0xFF). The function QK_init() additionally sets the interrupt priority of all IRQs available in the MCU to the safe value of @c QF_BASEPRI (for ARM-v7 architecture).\n\n6. It is strongly recommended that you do not assign the lowest priority (0xFF) to any interrupt in your application. With 3 MSB-bits of priority, this leaves the following 7 priority levels for you (listed from the lowest to the highest urgency): 0xC0, 0xA0, 0x80, 0x60, 0x40, 0x20, and 0x00 (the highest priority).\n\n7. Before returning, every \"kernel aware\" ISR must check whether an active object has been activated that has a higher priority than the currently running active object. If this is the case, the ISR must set the PensSV pending flag in the NVIC. All this is accomplished in the macro QK_ISR_EXIT(), which must be called just before exiting every ISRs.\n\n8. In ARM Cortex-M the whole prioritization of interrupts, including the PendSV exception, is performed entirely by the NVIC. Because the PendSV has the lowest priority in the system, the NVIC tail-chains to the PendSV exception only after exiting the last nested interrupt.\n\n9. The pushing of the 8 registers comprising the ARM Cortex-M interrupt stack frame upon entry to NMI exception is wasteful in a single-stack kernel, but is necessary to perform full interrupt return to the preempted context through the NMI's return.\n\n\n\n@subsection arm-cm_qk-preempt Preemption Scenarios in QK-nano on ARM Cortex-M\n\n@anchor arm-cm_qk-arm-cm-fig\n@image html qk_arm-cm.gif \"Several preemption scenarios in QK\"\n\n<ul class=\"tag\">\n  <li><span class=\"tag\">0</span>\nThe timeline begins with the QK-nano executing the idle loop.\n  </li>\n  <li><span class=\"tag\">1</span>\nAt some point an interrupt occurs and the CPU immediately suspends the idle loop, pushes the interrupt stack frame to the Main Stack and starts executing the ISR.\n  </li>\n  <li><span class=\"tag\">2</span>\nThe ISR performs its work, and in QK-nano always must call the QK_ISR_EXIT() macro, which calls the QK-nano scheduler to determine if there is a higher-priority AO to run. If so, the macro sets the pending flag for the PendSV exception in the NVIC. The priority of the PendSV exception is configured to be the lowest of all exceptions, so the ISR continues executing and PendSV exception remains pending. At the ISR return, the ARM Cortex-M CPU performs tail-chaining to the pending PendSV exception.\n  </li>\n  <li><span class=\"tag\">3</span>\nThe PendSV exception discovers whether there is a higher-priority thread to run then the preempted one (by calling QK_schedPrio_()) and if so, to to synthesize an exception stack frame to return to the QK-nano scheduler (QK_sched_()) to run this new thread.\n> NOTE: The QK-nano scheduler must run in the thread context, while PendSV executes in the exception context. The change of the context is accomplished by returning from the PendSV exception directly to the QK-nano scheduler.\n\nTo return directly to the QK-nano scheduler, PendSV synthesizes an exception stack frame, which contains the exception return address set to QK_sched_(). The QK-nano scheduler discovers that the Low-priority thread is ready to run (the ISR has posted event to this thread). The QK-nano scheduler enables interrupts and launches the Low-priority thread, which is simply a C-function call in QK. The Low-priority thread (active object) starts running.\n  </li>\n  <li><span class=\"tag\">4</span>\nSome time later a low-priority interrupt occurs. The Low-priority thread is suspended and the CPU pushes the interrupt stack frame to the Main Stack and starts executing the ISR.\n  </li>\n  <li><span class=\"tag\">5</span>\nBefore the Low-priority ISR completes, it too gets preempted by a High-priority ISR. The CPU pushes another interrupt stack frame and starts executing the High-priority ISR.\n  </li>\n  <li><span class=\"tag\">6</span>\nThe High-priority ISR sets the pending flag for the PendSV exception by means of the QK_ISR_EXIT() macro. When the High-priority ISR returns, the NVIC does not tail-chain to the PendSV exception, because a higher-priority ISR than PendSV is still active. The NVIC performs an exception return to the preempted Low-priority interrupt, which finally completes.\n  </li>\n  <li><span class=\"tag\">7</span>\nUpon the exit from the Low-priority ISR, it too sets the pending flag for the PendSV exception by means of the QK_ISR_EXIT() macro. The PendSV is already pended from the High-priority interrupt, so pending is again is redundant, but it is not an error. At the ISR return, the ARM Cortex-M CPU performs tail-chaining to the pending PendSV exception.\n  </li>\n  <li><span class=\"tag\">8</span>\nThe PendSV exception synthesizes an interrupt stack frame to return to the QK-nano scheduler. The QK-nano scheduler detects that the High-priority thread is ready to run and launches the High-priority thread (normal C-function call). The High-priority thread runs to completion and returns to the scheduler.\n  </li>\n  <li><span class=\"tag\">9</span>\nThe QK-nano scheduler does not find any more higher-priority threads to execute and needs to return to the preempted thread. The only way to restore the interrupted context in ARM Cortex-M is through the interrupt return, but the thread is executing outside of the interrupt context (in fact, threads are executing in the Privileged Thread mode). The thread enters the Handler mode by pending the NMI exception.\n> NOTE: The NMI exception is pended while interrupts are still disabled. This is not a problem, because NMI cannot be masked by disabling interrupts, so runs without any problems.\n  </li>\n  <li><span class=\"tag\">10</span>\nThe only job of the NMI exception is to discard its own interrupt stack frame, re-enable interrupts, and return using the interrupt stack frame that has been on the stack from the moment of thread preemption.\n  </li>\n  <li><span class=\"tag\">11</span>\nThe Low-priority thread, which has been preempted all that time, resumes and finally runs to completion and returns to the QK-nano scheduler. The QK-nano scheduler does not find any more threads to launch and causes the NMI exception to return to the preempted thread.\n  </li>\n  <li><span class=\"tag\">12</span>\nThe NMI exception discards its own interrupt stack frame and returns using the interrupt stack frame from the preempted thread context\n  </li>\n</ul>\n\n\n\n@section arm-cm_qk-qf_port The qf_port.h Header File\nThe QF header file for the ARM Cortex-M port is located in <span class=\"img file_h\">/ports/arm-cm/qk/gnu/qf_port.h</span>. This file is almost identical to the @ref arm-cm_qv-qf_port \"QV port\", except the header file in the QK-nano port includes `qk_port.h` header file instead of `qv_porth`.\n\n\n\n@section arm-cm_qk-qk_port The qk_port.h Header File\nYou configure and customize QK-nano through the header file qk_port.h, which is located in the QP ports directory <span class=\"img folder\">/ports/arm-cm/qk/gnu/</span>. The most important function of <span class=\"img file_h\">qk_port.h</span> is specifying interrupt entry and exit.\n\n@note\nAs any preemptive kernel, QK-nano needs to be notified about entering the interrupt context and about exiting an interrupt context in order to perform a context switch, if necessary.\n\n\n@anchor arm-cm_qk_port-code\n<b>Listing: qk_port.h header file for ARM Cortex-M</b>\n@code{c}\n     /* determination if the code executes in the ISR context */\n [1] #define QK_ISR_CONTEXT_() (QK_get_IPSR() != (uint32_t)0)\n\n     __attribute__((always_inline))\n [2] static inline uint32_t QK_get_IPSR(void) {\n         uint32_t regIPSR;\n         __asm volatile (\"mrs %0,ipsr\" : \"=r\" (regIPSR));\n         return regIPSR;\n     }\n\n     /* QK-nano interrupt entry and exit */\n [3] #define QK_ISR_ENTRY() ((void)0)\n\n [4] #define QK_ISR_EXIT()  do { \\\n [5]     QF_INT_DISABLE(); \\\n [6]     if (QK_sched_() != (uint_fast8_t)0) { \\\n [7]        (*Q_UINT2PTR_CAST(uint32_t, 0xE000ED04U) = (uint32_t)(1U << 28)); \\\n         } \\\n [8]     QF_INT_ENABLE(); \\\n     } while (0)\n\n     /* initialization of the QK-nano kernel */\n [9] #define QK_INIT() QK_init()\n     void QK_init(void);\n\n     #include \"qk.h\" /* QK-nano platform-independent public interface */\n@endcode\n\n<ul class=\"tag\">\n  <li><span class=\"tag\">1</span>\nThe macro @c QK_ISR_CONTEXT() returns true when the code executes in the ISR context and false otherwise. The macro takes advantage of the ARM Cortex-M register IPSR, which is non-zero when the CPU executes an exception (or interrupt) and is zero when the CPU is executing thread code.\n> NOTE: QK-nano needs to distinguish between ISR and thread contexts, because threads need to perform synchronous context switch (when a higher-priority thread becomes ready to run), while ISRs should not do that.\n  </li>\n  <li><span class=\"tag\">2</span>\nThe inline function @c QK_get_IPSR() obtains the IPSR register and returns it to the caller. This function is defined explicitly for the GNU-ARM toolchain, but many other toolchains provide this function as an intrinsic, built-in facility.\n  </li>\n  <li><span class=\"tag\">3</span>\nThe @c QK_ISR_ENTRY() macro notifies QK-nano about entering an ISR. The macro is empty, because the determination of the ISR vs thread context is performed independently in the @c QK_ISR_CONTEXT() macro (see above).\n  </li>\n  <li><span class=\"tag\">4</span>\nThe @c QK_ISR_EXIT() macro notifies QK-nano about exiting an ISR.\n  </li>\n  <li><span class=\"tag\">5</span>\nInterrupts are disabled before calling QK-nano scheduler.\n  </li>\n  <li><span class=\"tag\">6</span>\nThe QK-nano scheduler is called to find out whether an active object of a higher priority than the current one needs activation. The @c QK_sched_() function returns non zero value if this is the case.\n  </li>\n  <li><span class=\"tag\">7</span>\nIf asynchronous preemption becomes necessary, the code sets the PENDSV Pend bit(28) in the ICSR register (Interrupt Control and State Register). The register is mapped at address 0xE000ED04 in all ARM Cortex-M cores.\n  </li>\n  <li><span class=\"tag\">8</span>\nThe interrupts are re-enabled after they have been disabled in step [5].\n> NOTE: Because the priority of the PendSV exception is the lowest of all interrupts, it is actually triggered only after all nested interrupts exit. The PendSV exception is then entered through the efficient **tail-chaining** process, which eliminates the restoring and re-entering the interrupt context.\n  </li>\n</ul>\n\n\n\n@section arm-cm_qk-qk_impl QK-nano Port Implementation for ARM Cortex-M\nThe QK-nano port to ARM Cortex-M requires coding the PendSV and NMI exceptions in assembly. This ARM Cortex-M-specific code, as well as QK-nano initialization (@c QK_init()) is located in the file <span class=\"img file\">­ports/arm-cm/­qk/­gnu/qk_port.c</span>\n\n@note\nThe single assembly module `qk_port.s` contains common code for all Cortex-M variants (Architecture v6M and v7M) as well as options with and without the VFP. The CPU variants are distinguished by conditional compilation, when necessary.\n\n\n\n@subsection arm-cm_qk_port-asm_init QK_init() Implementation\n\n<b>Listing: QK_init function in qk_port.s assembly file</b>\n@code{c}\n     /*****************************************************************************\n     * The QK_init() function sets the priority of PendSV to 0xFF (lowest urgency).\n     * For Cortex-M3/4/7, it also sets priorities of all other exceptions and IRQs\n     * to the safe value. All this is performed in a nestable critical section.\n     *****************************************************************************/\n         .section .text.QK_init\n         .global QK_init\n         .type   QK_init, %function\n\n [1] QK_init:\n\n [2]     MRS     r0,PRIMASK        /* store the state of the PRIMASK in r0 */\n [3]     MOV     r12,r0            /* r12 := PRIMASK */\n [4]     CPSID   i                 /* PRIMASK := 1 */\n\n [5]   .if  __ARM_ARCH == 6        /* Cortex-M0/M0+/M1 (v6-M, v6S-M)? */\n\n [6]     LDR     r3,=0xE000ED18    /* System Handler Priority Register */\n [7]     LDR     r2,[r3,#8]        /* r2 := SYSPRI3 */\n [8]     MOVS    r0,#0xFF\n [9]     LSLS    r0,r0,#16\n[10]     ORRS    r2,r1\n[11]     STR     r2,[r3,#8]        /* SYSPRI3 := r2, PendSV <- 0xFF */\n\n[12]   .else                       /* M3/M4 */\n         /* NOTE:\n         * On Cortex-M3/M4/.., this QK-nano port disables interrupts by means of the\n         * BASEPRI register. However, this method cannot disable interrupt\n         * priority zero, which is the default for all interrupts out of reset.\n         * The following code changes the SysTick priority and all IRQ priorities\n         * to the safe value QF_BASEPRI, wich the QF critical section can disable.\n         * This avoids breaching of the QF critical sections in case the\n         * application programmer forgets to explicitly set priorities of all\n         * \"kernel aware\" interrupts.\n         */\n\n         /* set all priority bytes to QF_BASEPRI in r1 */\n[13]     MOVS    r1,#QF_BASEPRI\n         LSLS    r1,r1,#8\n         ORRS    r1,r1,#QF_BASEPRI\n         LSLS    r1,r1,#8\n         ORRS    r1,r1,#QF_BASEPRI\n         LSLS    r1,r1,#8\n         ORRS    r1,r1,#QF_BASEPRI\n\n         LDR     r3,=0xE000ED18    /* System Handler Priority Register */\n         LDR     r2,[r3]           /* r2 := SYSPRI1 */\n         ORRS    r2,r1             /* r2 |= \"all values to QF_BASEPRI\" */\n[14]     STR     r2,[r3]           /* SYSPRI1 |= r2, Use-fault/Bus-fault/Mem-fault*/\n\n         LDR     r2,[r3,#4]        /* r2 := SYSPRI2 */\n         ORRS    r2,r1             /* r2 |= \"all values to QF_BASEPRI\" */\n[16]     STR     r2,[r3,#4]        /* SYSPRI2 := r2, SVCall */\n\n         LDR     r2,[r3,#8]        /* r2 := SYSPRI3 */\n         ORRS    r1,r1,#(0xFF << 16) /* r1 |= 0xFF for PendSV */\n         ORRS    r2,r1\n[17]     STR     r2,[r3,#8]        /* SYSPRI3 |= r2, SysTick/PendSV/Debug */\n\n         /* set again all prioriy bytes to QF_BASEPRI in r1 */\n[18]     MOVS    r1,#QF_BASEPRI\n         LSLS    r1,r1,#8\n         ORRS    r1,r1,#QF_BASEPRI\n         LSLS    r1,r1,#8\n         ORRS    r1,r1,#QF_BASEPRI\n         LSLS    r1,r1,#8\n         ORRS    r1,r1,#QF_BASEPRI\n\n[19]     LDR     r3,=0xE000E004    /* Interrupt Controller Type Register */\n         LDR     r3,[r3]           /* r3 := INTLINESUM */\n         LSLS    r3,r3,#3\n[20]     ADDS    r3,r3,#8          /* r3 == number of NVIC_PRIO registers */\n\n         /* loop over all implemented NVIC_PRIO registers for IRQs... */\n     QK_init_irq:\n         SUBS    r3,r3,#1\n         LDR     r2,=0xE000E400    /* NVIC_PRI0 register */\n[21]     STR     r1,[r2,r3,LSL #2] /* NVIC_PRI0[r3]  := r1 */\n         CMP     r3,#0\n         BNE     QK_init_irq\n\n       .endif                      /* M3/M4 */\n\n[22]     MOV     r0,r12            /* r0 := original PRIMASK */\n[23]     MSR     PRIMASK,r0        /* PRIMASK := r0 */\n[24]     BX      lr\n       .size   QK_init, . - QK_init\n@endcode\n\n<ul class=\"tag\">\n  <li><span class=\"tag\">1</span>\nThe QK_init() function initializes the exception priorities of PendSV and NMI as well as interrupt priorities of all IRQs available in a given MCU (for Cortex-M3/4/7).\n  </li>\n  <li><span class=\"tag\">2</span>\nThe PRIMASK register is retreived into r0.\n  </li>\n  <li><span class=\"tag\">3</span>\nThe PRIMASK value is stored in the high-register r12.\n  </li>\n  <li><span class=\"tag\">4</span>\nInterrupts are disabled by setting the PRIMASK.\n  </li>\n\n  <li><span class=\"tag\">5</span>\nFor the ARMv6-M architecture...\n  </li>\n  <li><span class=\"tag\">6</span>\nThe address of the NVIC System Handler Priority Register 0 is loaded into r3\n  </li>\n  <li><span class=\"tag\">7</span>\nThe contents of the NVIC System Handler Priority Register 2 (note the offset of 8) is loaded into r2.\n  </li>\n  <li><span class=\"tag\">8-9</span>\nThe mask value of 0xFF0000 is synthesized in r2.\n  </li>\n  <li><span class=\"tag\">10</span>\nThe mask is then applied to set the priority byte PRI_14 to 0xFF without changing other priority bytes in this register.\n  </li>\n  <li><span class=\"tag\">11</span>\nThe contents of r2 is stored in the NVIC System Handler Priority Register 2 (note the offset of 8).\n  </li>\n\n  <li><span class=\"tag\">12</span>\nFor the ARMv7-M architecture...\n  </li>\n  <li><span class=\"tag\">13</span>\nThe priority value QF_BASEPRI is all bytes of the register r1.\n  </li>\n  <li><span class=\"tag\">14</span>\nThe exception priorities for User-Fault, Bus-Fault, and Mem-Fault are set to the value QF_BASEPRI.\n  </li>\n  <li><span class=\"tag\">16</span>\nThe exception priority for SVCCall is set to the value QF_BASEPRI.\n  </li>\n  <li><span class=\"tag\">17</span>\nThe exception priority for SysTick, PendSV, and Debug is set to the value QF_BASEPRI.\n  </li>\n  <li><span class=\"tag\">18</span>\nThe priority value QF_BASEPRI is all bytes of the register r1 again.\n  </li>\n  <li><span class=\"tag\">19</span>\nThe value of Interrupt Controller Type Register is loaded into r3\n  </li>\n  <li><span class=\"tag\">20</span>\nThe number of implemented IRQs is loaded into r3\n  </li>\n  <li><span class=\"tag\">21</span>\nThe interrupt priority of all implemented IRQs is set to the safe value QF_BASEPRI in a loop.\n  </li>\n\n  <li><span class=\"tag\">22</span>\nThe original value of PRIMASK is restored form the high-register r12\n  </li>\n  <li><span class=\"tag\">23</span>\nThe PRIMASK register is restored to its original value\n  </li>\n  <li><span class=\"tag\">14</span>\nThe function QK_init returns to the caller.\n  </li>\n</ul>\n\n\n\n@subsection arm-cm_qk_port-asm_pendsv PendSV_Handler() Implementation\n\n<b>Listing: PendSV_Handler function in qk_port.s assembly file</b>\n@code{c}\n         .section .text.PendSV_Handler\n         .global PendSV_Handler    /* CMSIS-compliant exception name */\n         .type   PendSV_Handler, %function\n\n [1] PendSV_Handler:\n         /* Prepare some constants in registers before entering critical section */\n [2]     LDR     r3,=0xE000ED04    /* Interrupt Control and State Register */\n [3]     MOVS    r1,#1\n [4]     LSLS    r1,r1,#27         /* r0 := (1 << 27) (UNPENDSVSET bit) */\n\n\n         /* <<<<<<<<<<<<<<<<<<<<<<< CRITICAL SECTION BEGIN <<<<<<<<<<<<<<<<<<<<< */\n       .if  __ARM_ARCH == 6        /* Cortex-M0/M0+/M1 (v6-M, v6S-M)? */\n [6]     CPSID   i                 /* disable interrupts (set PRIMASK) */\n       .else                       /* M3/M4 */\n       .ifdef  __FPU_PRESENT       /* if VFP available... */\n [7]     PUSH    {r0,lr}           /* ... push EXC_RETURN plus stack-aligner */\n       .endif                      /* VFP */\n [8]     MOVS    r0,#QF_BASEPRI\n [9]     CPSID   i                 /* selectively disable interrutps with BASEPRI */\n[10]     MSR     BASEPRI,r0        /* apply the workaround the Cortex-M7 erraturm */\n[11]     CPSIE   i                 /* 837070, see ARM-EPM-064408. */\n       .endif                      /* M3/M4 */\n\n         /* The PendSV exception handler can be preempted by an interrupt,\n         * which might pend PendSV exception again. The following write to\n         * ICSR[27] un-pends any such spurious instance of PendSV.\n         */\n[12]     STR     r1,[r3]           /* ICSR[27] := 1 (unpend PendSV) */\n\n         /* The QK-nano activator must be called in a Thread mode, while this code\n         * executes in the Handler mode of the PendSV exception. The switch\n         * to the Thread mode is accomplished by returning from PendSV using\n         * a fabricated exception stack frame, where the return address is\n         * QK_activate_().\n         *\n         * NOTE: the QK-nano activator is called with interrupts DISABLED and also\n         * returns with interrupts DISABLED.\n         */\n[13]     LSRS    r3,r1,#3          /* r3 := (r1 >> 3), set the T bit (new xpsr) */\n[14]     LDR     r2,=QK_activate_  /* address of QK_activate_ */\n[15]     SUBS    r2,r2,#1          /* align Thumb-address at halfword (new pc) */\n[16]     LDR     r1,=Thread_ret    /* return address after the call   (new lr) */\n\n[17]     SUB     sp,sp,#8*4        /* reserve space for exception stack frame */\n[18]     ADD     r0,sp,#5*4        /* r0 := 5 registers below the top of stack */\n[19]     STM     r0!,{r1-r3}       /* save xpsr,pc,lr */\n\n[20]     MOVS    r0,#6\n[21]     MVNS    r0,r0             /* r0 := ~6 == 0xFFFFFFF9 */\n[22]     BX      r0                /* exception-return to the QK-nano activator */\n       .size   PendSV_Handler, . - PendSV_Handler\n\n     /*\n     * Thread_ret is a helper function executed when the QXK activator returns.\n     *\n     * NOTE: Thread_ret does not execute in the PendSV context!\n     * NOTE: Thread_ret executes entirely with interrupts DISABLED.\n     */\n         .section .text.Thread_ret\n         .type   Thread_ret, %function\n\n[23] Thread_ret:\n         /* After the QK-nano activator returns, we need to resume the preempted\n         * thread. However, this must be accomplished by a return-from-exception,\n         * while we are still in the thread context. The switch to the exception\n         * context is accomplished by triggering the NMI exception.\n         */\n\n         /* before triggering the NMI exception, make sure that the\n         * VFP stack frame will NOT be used...\n         */\n       .ifdef  __FPU_PRESENT       /* if VFP available... */\n[24]     MRS     r0,CONTROL        /* r0 := CONTROL */\n[25]     BICS    r0,r0,#4          /* r0 := r0 & ~4 (FPCA bit) */\n[26]     MSR     CONTROL,r0        /* CONTROL := r0 (clear CONTROL[2] FPCA bit) */\n[27]     ISB                       /* ISB after MSR CONTROL (ARM AN321,Sect.4.16)*/\n       .endif                      /* VFP available */\n\n         /* trigger NMI to return to preempted thread...\n         * NOTE: The NMI exception is triggered with nterrupts DISABLED\n         */\n[28]     LDR     r0,=0xE000ED04    /* Interrupt Control and State Register */\n[29]     LSLS    r1,r1,#31         /* r1 := (1 << 31) (NMI bit) */\n[30]     MOVS    r1,#1\n[31]     STR     r1,[r0]           /* ICSR[31] := 1 (pend NMI) */\n[32]     B       .                 /* wait for preemption by NMI */\n       .size   Thread_ret, . - Thread_ret\n@endcode\n\n<ul class=\"tag\">\n  <li><span class=\"tag\">1</span>\n`PendSV_Handler` is a CMSIS-complinat name of the PendSV exception handler. The `PendSV_Handler` exception is always entered via tail-chaining from the last nested interrupt.\n  </li>\n  <li><span class=\"tag\">2-4</span>\nBefore interrupts are disabled, the following constants are loaded into registers: address of ICSR into r3 and (1<<27) into r1.\n  </li>\n  <li>For the ARMv6-M architecture (Cortex-M0/M0+)...\n  </li>\n  <li><span class=\"tag\">6</span>\nInterrupts are globally disabled by setting PRIMASK (see Section 3)\n  </li>\n  <li>Otherwise, for the ARMv7-M architecture (Cortex-M3/4/7) and when the `_FPU_PRESENT` macro is defined...\n> NOTE: The symbol `__FPU_PRESENT` must be defined on the command-line to the GNU-ARM assembler if you intend to use the FPU on the Cortex-M4F cores.\n  </li>\n  <li><span class=\"tag\">7</span>\nThe lr register (EXC_RETURN) is pushed to the stack along with r0, to keep the stack aligned at 8-byte boundary.\n> NOTE: In the presence of the FPU (Cortex-M4F), the EXC_RETURN[4] bit carries the information about the stack frame format used, whereas EXC_RETURN[4] ==0 means that the stack contains room for the S0-S15 and FPSCR registers in addition to the usual R0-R3,R12,LR,PC,xPSR registers. This information must be preserved, in order to properly return from the exception at the end.\n  </li>\n  <li><span class=\"tag\">8</span>\nFor the ARMv7-M architecture (Cortex-M3/M4), interrupts are selectively disabled by setting the BASEPRI register.\n> NOTE: The value moved to BASEPRI must be identical to the QF_BASEPRI macro defined in `qf_port.h`.\n  </li>\n  <li><span class=\"tag\">9</span>\nBefore setting the BASEPRI register, interrupts are disabled with the PRIMASK register, which is the recommended workaround for the Cortex-M7 r0p1 hardware bug, as described in the ARM Ltd. [@ref ARM-EPM-064408], Erratum 837070.\n  </li>\n  <li><span class=\"tag\">10</span>\nThe BASEPRI register is set to the @c QF_BASEPRI value.\n  </li>\n  <li><span class=\"tag\">11</span>\nAfter setting the BASEPRI register, interrupts are re-anabed with the PRIMASK register, which is the recommended workaround for the Cortex-M7 r0p1 hardware bug, as described in the ARM Ltd. [@ref ARM-EPM-064408], Erratum 837070.\n  </li>\n  <li><span class=\"tag\">12</span>\nThe PendSV exception is **explicitly** un-pended.\n> NOTE: The PendSV exception handler can be preempted by an interrupt, which might pend PendSV exception again. This would trigger PendSV incorrectly again immediately after calling QK-nano activator.\n  </li>\n\n  <li>The following code [13-22] fabricates an exception stack frame, to perform an exception-return to the QK-nano activator without destroying the original exception stack frame of the PendSV exception. This is necessary to preserve the context of the preempted code.\n  </li>\n  <li><span class=\"tag\">13</span>\nThe value (1 << 24) is synthesized in r3 from the value (1 << 27) already available in r1. This value is going to be stacked and later restored to xPSR register (only the T bit set).\n  </li>\n  <li><span class=\"tag\">14</span>\nThe address of the QK-nano activator function @c QK_activate_ is loaded into r2. This will be pushed to the stack as the PC register value.\n  </li>\n  <li><span class=\"tag\">15</span>\nThe address of the QK-nano activator function @c QK_activate_ in r2 is adjusted to be half-word aligned instead of being an odd THUMB address.\n> NOTE: This is necessary, because the value will be loaded directly to the PC, which cannot accept odd values.\n  </li>\n  <li><span class=\"tag\">16</span>\nThe address of the Thread_ret function is loaded into r1. This will be pushed to the stack as the lr register value.\n> NOTE: The address of the @c Thread_ret label must be a THUMB address, that is, the least-significant bit of this address must be set (this address must be odd number). This is essential for the correct return of the QK-nano scheduler with setting the THUMB bit in the PSR. Without the LS-bit set, the ARM Cortex-M CPU will clear the T bit in the PSR and cause the Hard Fault. The GNU-ARM assembler/linker will synthesize the correct THUMB address of the svc_ret label only if this label is declared with the `.type Thread_ret , %function`  attribute (see step [23]).\n  </li>\n  <li><span class=\"tag\">16</span>\nThe stack pointer is adjusted to leave room for 8 registers.\n  </li>\n  <li><span class=\"tag\">18</span>\nThe top of stack, adjusted by 5 registers, (r0, r1, r2, r3, and r12) is stored to r0.\n  </li>\n  <li><span class=\"tag\">19</span>\nThe values of xpsr, pc, and lr prepared in r3, r2, and r1, respectively, are pushed on the top of stack (now in r0). This operation completes the synthesis of the exception stack frame. After this step the stack looks as follows:\n<pre>\nHi memory\n           (optionally S0-S15, FPSCR), if EXC_RETURN[4]==0\n           xPSR\n           pc (interrupt return address)\n           lr\n           r12\n           r3\n           r2\n           r1\n           r0\n           EXC_RETURN (pushed in step [7] if FPU is present)\nold SP --> \"aligner\"  (pushed in step [7] if FPU is present)\n           xPSR == 0x01000000\n           PC == QK_activate_\n           lr == Thread_ret\n           r12  don't care\n           r3   don't care\n           r2   don't care\n           r1   don't care\n    SP --> r0   don't care\nLow memory\n</pre>\n  </li>\n  <li><span class=\"tag\">20-21</span>\nThe special exception-return value 0xFFFFFFF9 is synthesized in r0 (two instructions are used to make the code compatible with Cortex-M0, which has no barrel shifter).\n> NOTE: the r0 register is used instead of lr because the Cortex-M0 instruction set cannot manipulate the higher-registers (r9-r15).\n> NOTE: The exception-return value is consistent with the synthesized stack-frame with the lr[4] bit set to 1, which means that the FPU registers are not included in this stack frame.\n  </li>\n\n  <li><span class=\"tag\">22</span>\nPendSV exception returns using the special value of the r0 register of 0xFFFFFFF9 (return to Privileged Thread mode using the Main Stack pointer). The synthesized stack frame causes actually a function call to QK_sched_ function in C.\n> NOTE: The return from the PendSV exception just executed switches the ARM Cortex-M core to the Privileged Thread mode. The QK_sched_ function internally re-enables interrupts before launching any thread, so the threads always run in the Thread mode with interrupts enabled and can be preempted by interrupts of any priority.\n> NOTE: In the presence of the FPU, the exception-return to the QK-nano scheduler does not change any of the FPU status bit, such as CONTROL.FPCA or LSPACT.\n  </li>\n\n  <li><span class=\"tag\">23</span>\nThe @c Thread_ret function is the place, where the QK-nano activator `QK_activate_()` returns to, because this return address is pushed to the stack in step [16]. Please note that the address of the @c Thread_ret label must be a THUMB address.\n  </li>\n  <li><span class=\"tag\">24-27</span>\nIf the FPU is present, the read-modify-write code clears the CONTROL[2] bit [2]. This bit, called CONTROL.FPCA (Floating Point Active), would cause generating the FPU-type stack frame, which you want to avoid in this case (because the NMI exception will certainly not use the FPU).\n> NOTE: Clearing the CONTROL.FPCA bit occurs with interrupts disabled, so it is protected from a context switch.\n  </li>\n  <li><span class=\"tag\">28-31</span>\nThe asynchronous NMI exception is triggered by setting ICSR[31]. The job of this exception is to put the CPU into the exception mode and correctly return to the thread level.\n  </li>\n  <li><span class=\"tag\">32</span>\nThis endless loop should not be reached, because the NMI exception should preempt the code immediately after step [31]\n  </li>\n</ul>\n\n\n\n@subsection arm-cm_qk_port-asm_nmi NMI_Handler() Implementation\n\n<b>Listing: NMI_Handler function in qk_port.s assembly file</b>\n@code{c}\n         .section .text.NMI_Handler\n         .global NMI_Handler\n         .type   NMI_Handler, %function\n\n [1]     NMI_Handler:\n [2]     ADD     sp,sp,#(8*4)      /* remove one 8-register exception frame */\n\n       .if  __ARM_ARCH == 6        /* Cortex-M0/M0+/M1 (v6-M, v6S-M)? */\n [3]     CPSIE   i                 /* enable interrupts (clear PRIMASK) */\n [4]     BX      lr                /* return to the preempted thread */\n       .else                       /* M3/M4 */\n [5]     MOVS    r0,#0\n [6]     MSR     BASEPRI,r0        /* enable interrupts (clear BASEPRI) */\n       .ifdef  __FPU_PRESENT       /* if VFP available... */\n [7]     POP     {r0,pc}           /* pop stack \"aligner\" and EXC_RETURN to PC */\n       .else                       /* no VFP */\n [8]     BX      lr                /* return to the preempted thread */\n       .endif                      /* VFP available */\n       .endif                      /* M3/M4 */\n       .size   NMI_Handler, . - NMI_Handler\n@endcode\n\n<ul class=\"tag\">\n  <li><span class=\"tag\">1</span>\nThe @c NMI_Handler is the CMSIS-compliant name of the NMI exception handler. This exception is triggered after returning from the QK-nano activator in step [31] of the previous listing. The job of NMI is to discard its own stack frame and cause the exception-return to the original preempted thread context. The stack contents just after entering NMI is shown below:\n<pre>\nHi memory\n           (optionally S0-S15, FPSCR), if EXC_RETURN[4]==0\n           xPSR\n           pc (interrupt return address)\n           lr\n           r12\n           r3\n           r2\n           r1\n           r0\nold SP --> EXC_RETURN (pushed in PendSV [7] if FPU is present)\n           \"aligner\"  (pushed in PendSV [7] if FPU is present)\n           xPSR don't care\n           PC   don't care\n           lr   don't care\n           r12  don't care\n           r3   don't care\n           r2   don't care\n           r1   don't care\n    SP --> r0   don't care\nLow memory\n</pre>\n  </li>\n  <li><span class=\"tag\">2</span>\nThe stack pointer is adjusted to un-stack the 8 registers of the interrupt stack frame corresponding to the NMI exception itself. This moves the stack pointer from the \"old SP\" to \"SP\" in the picture above, which \"uncovers\" the original exception stack frame left by the PendSV exception.\n  </li>\n  <li><span class=\"tag\">3</span>\nFor ARMv6-M, interrupts are enabled by clearing the PRIMASK.\n  </li>\n  <li><span class=\"tag\">4</span>\nFor ARMv6-M, The NMI exception returns to the preempted thread using the standard EXC_RETURN, which is in lr.\n  </li>\n  <li><span class=\"tag\">5-6</span>\nFor the ARMv7-M, interrupts are enabled by writing 0 into the BASEPRI register.\n  </li>\n  <li><span class=\"tag\">7</span>\nIf the FPU is used, the EXC_RETURN and the \"stack aligner\" saved in PendSV step [7] are popped from the stack into r0 and pc, respectively. Updating the pc causes the return from PendSV.\n  </li>\n  <li><span class=\"tag\">8</span>\nOtherwise, NMI returns to the preempted thread using the standard EXC_RETURN, which is in lr.\n  </li>\n</ul>\n\n@anchor qk_stack-detail\n@image html qk_stack-detail.gif \"Detailed stack allocation in QK-nano for ARM Cortex-M\"\n\n\n\n\n@section arm-cm_qk-isr Writing ISRs for QK\nThe ARM Cortex-M CPU is designed to use regular C functions as exception and interrupt service routines (ISRs).\n\n@note\nThe ARM EABI (Embedded Application Binary Interface) requires the stack be 8-byte aligned, whereas some compilers guarantee only 4-byte alignment. For that reason, some compilers (e.g., GNU-ARM) provide a way to designate ISR functions as interrupts. For example, the GNU-ARM compiler provides the `__attribute__((__interrupt__))` designation that will guarantee the 8-byte stack alignment.\n\n\nTypically, ISRs are application-specific (with the main purpose to produce events for active objects). Therefore, ISRs are not part of the generic QP port, but rather part of the BSP (Board Support Package).\n\nThe following listing shows an example of the SysTick_Handler() ISR (from the DPP example application). This ISR calls the QF_TICK_X() macro to perform QF time-event management.\n\n@anchor arm-cm_qk-isr-code\n<b>Listing: An ISR header for QK</b>\n@code{c}\n     void SysTick_Handler(void) __attribute__((__interrupt__));\n     void SysTick_Handler(void) {\n          ~ ~ ~\n [1]      QK_ISR_ENTRY();   /* inform QK-nano about entering an ISR */\n          ~ ~ ~\n          QF_TICK_X(0U, &l_SysTick_Handler); /* process all armed time events */\n          ~ ~ ~\n [2]      QK_ISR_EXIT();    /* inform QK-nano about exiting an ISR */\n     }\n@endcode\n\n<ul class=\"tag\">\n  <li><span class=\"tag\">1</span>\nEvery ISR for QK-nano must call @c QK_ISR_ENTRY() before calling any QP API\n  </li>\n  <li><span class=\"tag\">2</span>\nEvery ISR for QK-nano must call @c QK_ISR_EXIT() right before exiting to let the QK-nano kernel schedule an asynchronous preemption, if necessary.\n  </li>\n</ul>\n\n@note\nThe QK-nano port to ARM Cortex-M complies with the requirement of the ARM-EABI to preserve stack pointer alignment at **8-byte boundary**. Also, all QP examples for ARM Cortex-M comply with the CMSIS naming convention for all exception handlers and IRQ handlers.\n\n\n\n@section arm-cm_qk-fpu Using the FPU in the QK-nano Port (Cortex-M4F)\nIf you have the Cortex-M4F CPU and your application uses the hardware FPU, it should be enabled because it is turned off out of reset. The CMSIS-compliant way of turning the FPU on looks as follows:\n\n@verbatim\n    SCB->CPACR |= (0xFU << 20);\n@endverbatim\n\n@note\nThe FPU must be enabled before executing any floating point instruction. An attempt to execute a floating point instruction will fault if the FPU is not enabled.\n\nDepending on wheter or not you use the FPU in your ISRs, the \"Vanilla\" QP port allows you to configure the FPU in various ways, as described in the following sub-sections.\n\n\n\n@subsection arm-cm_qk-fpu_1thread FPU used in ONE thread only and not in any ISR\nIf you use the FPU only at a single thread (active object) and none of your ISRs use the FPU, you can setup the FPU not to use the automatic state preservation and not to use the lazy stacking feature as follows:\n\n@verbatim\n    FPU->FPCCR &= ~((1U << FPU_FPCCR_ASPEN_Pos) | (1U << FPU_FPCCR_LSPEN_Pos));\n@endverbatim\n\nWith this setting, the Cortex-M4F processor handles the ISRs in the exact-same way as Cortex-M0-M3, that is, only the standard interrupt frame with R0-R3,R12,LR,PC,xPSR is used. This scheme is the fastest and incurs no additional CPU cycles to save and restore the FPU registers.\n\n@note\nThis FPU setting will lead to FPU errors, if more than one thread or any of the ISRs indeed start to use the FPU\n\n\n\n@subsection arm-cm_qk-fpu_nthreadd FPU used in more than one thread only or the ISR\nIf you use the FPU in more than one of the threads (active objects) or in any of your ISRs, you should setup the FPU to use the automatic state preservation and the lazy stacking feature as follows:\n\n    FPU->FPCCR |= (1U << FPU_FPCCR_ASPEN_Pos) | (1U << FPU_FPCCR_LSPEN_Pos);\n\nThis is actually the default setting of the hardware FPU and is recommended for the QK-nano port, because it is safer in view of code evolution. Future changes to the application can easily introduce FPU use in multiple active objects, which would be unsafe if the FPU context was not preserved automatically.\n\n@note\nAs described in the ARM Application Note \"Cortex-M4(F) Lazy Stacking and Context Switching\" [@ref ARM-AN298], the FPU automatic state saving requires more stack plus additional CPU time to save the FPU registers, but only when the FPU is actually used.\n\n\n\n@section arm-cm_qk-idle QK-nano Idle Processing Customization in QK_onIdle()\nQK-nano can very easily detect the situation when no events are available, in which case QK-nano calls the `QK_onIdle()` callback. You can use `QK_onIdle()` to suspended the CPU to save power, if your CPU supports such a power-saving mode. Please note that `QK_onIdle()` is called repetitively from an endless loop, which is the QK-nano idle-thread. The `QK_onIdle()` callback is called with interrupts **enabled** (which is in contrast to the @ref arm-cm_qv-idle \"QV_onIdle() callback\" used in the non-preemptive configuration).\n\nThe THUMB-2 instruction set used exclusively in ARM Cortex-M provides a special instruction WFI (Wait-for-Interrupt) for stopping the CPU clock, as described in the \"ARMv7-M Reference Manual\" [ARM 06a]. The following listing shows the `QK_onIdle()` callback that puts ARM Cortex-M into a low-power mode.\n\n@anchor arm-cm_qk_onidle-code\n<b>Listing: QV_onIdle() for ARM Cortex-M</b>\n@code{c}\n\n [1] void QK_onIdle(void) {\n          ~ ~ ~\n [2] #if defined NDEBUG\n         /* Put the CPU and peripherals to the low-power mode.\n         * you might need to customize the clock management for your application,\n         * see the datasheet for your particular Cortex-M3 MCU.\n         */\n [3]     __WFI(); /* Wait-For-Interrupt */\n     #endif\n     }\n@endcode\n\n<ul class=\"tag\">\n  <li><span class=\"tag\">1</span>\nThe preemptive QK-nano kernel calls the `QK_onIdle()` callback with interrupts enabled.\n  <li>\n  <li><span class=\"tag\">2</span>\nThe sleep mode is used only in the non-debug configuration, because sleep mode stops CPU clock, which can interfere with debugging.\n  <li>\n  <li><span class=\"tag\">3</span>\nThe `WFI` instruction is generated using inline assembly.\n  <li>\n</ul>\n\n\n\n@section arm-cm_qk-testing Testing QK-nano Preemption Scenarios\nThe `bsp.c` file included in the <span class=\"img folder\">examples/arm-cm/dpp_ek-tm4c123gxl/qk</span> directory contains special instrumentation (an ISR designed for testing) for convenient testing of @ref arm-cm_qk-arm-cm-fig \"various preemption scenarios in QK\".\n\nThe technique described in this section will allow you to trigger an interrupt at any machine instruction and observe the preemption it causes. The interrupt used for the testing purposes is the GPIOA interrupt (INTID == 0). The ISR for this interrupt is shown below:\n\n@code{c}\nvoid GPIOPortA_IRQHandler(void) {\n    QK_ISR_ENTRY(); /* inform QK-nano about entering an ISR */\n    QACTIVE_POST(AO_Table, Q_NEW(QEvt, MAX_PUB_SIG), /* for testing... */\n                 &l_GPIOPortA_IRQHandler);\n    QK_ISR_EXIT();  /* inform QK-nano about exiting an ISR */\n}\n@endcode\n\n\n`GPIOPortA_IRQHandler()`, as all interrupts in the system, invokes the macros QK_ISR_ENTRY() and QK_ISR_EXIT(), and also posts an event to the Table active object, which has higher priority than any of the Philo active object.\n\nThe figure below hows how to trigger the GPIOA interrupt from the CCS debugger. From the debugger you need to first open the register window and select NVIC registers from the drop-down list (see right-bottom corner of Figure 6).You scroll to the NVIC_SW_TRIG register, which denotes the Software Trigger Interrupt Register in the NVIC. This write-only register is useful for software-triggering various interrupts by writing various masks to it. To trigger the GPIOA interrupt you need to write 0x00 to the NVIC_SW_TRIG by clicking on this field, entering the value, and pressing the Enter key.\n\n@image html arm-cm_qk_test-ccs.png \"Triggering the GPIOA interrupt from Eclipse debugger\"\n\nThe general testing strategy is to break into the application at an interesting place for preemption, set breakpoints to verify which path through the code is taken, and trigger the GPIO interrupt. Next, you need to free-run the code (don’t use single stepping) so that the NVIC can perform prioritization. You observe the order in which the breakpoints are hit. This procedure will become clearer after a few examples.\n\n\n\n@subsection arm-cm_qk-test-isr Interrupt Nesting Test\nThe first interesting test is verifying the correct tail-chaining to the PendSV exception after the interrupt nesting occurs, as shown in @ref arm-cm_qk-synch-fig \"Synchronous Preemption in QK\". To test this scenario, you place a breakpoint inside the `GPIOPortA_IRQHandler()` and also inside the `SysTick_Handler()` ISR. When the breakpoint is hit, you remove the original breakpoint and place another breakpoint at the very next machine instruction (use the Disassembly window) and also another breakpoint on the first instruction of the `QK_PendSV` handler. Next you trigger the PIOINT0 interrupt per the instructions given in the previous section. You hit the Run button.\n\nThe pass criteria of this test are as follows:\n\n1. The first breakpoint hit is the one inside the `GPIOPortA_IRQHandler()` function, which means that GPIO ISR preempted the SysTick ISR.\n\n2. The second breakpoint hit is the one in the `SysTick_Handler()`, which means that the SysTick ISR continues after the PIOINT0 ISR completes.\n\n3. The last breakpoint hit is the one in `PendSV_Handler()` exception handler, which means that the PendSV exception is tail-chained only after all interrupts are processed. You need to remove all breakpoints before proceeding to the next test.\n\n\n\n@subsection arm-cm_qk-test-thread Thread Preemption Test\nThe next interesting test is verifying that threads can preempt each other. You set a breakpoint anywhere in the Philosopher state machine code. You run the application until the breakpoint is hit. After this happens, you remove the original breakpoint and place another breakpoint at the very next machine instruction (use the Disassembly window). You also place a breakpoint inside the `GPIOPortA_IRQHandler()` interrupt handler and on the first instruction of the `PendSV_Handler()` handler. Next you trigger the GPIOA interrupt per the instructions given in the previous section. You hit the Run button.\n\nThe pass criteria of this test are as follows:\n\n1. The first breakpoint hit is the one inside the `GPIOPortA_IRQHandler()` function, which means that GPIO ISR preempted the Philo thread.\n\n2. The second breakpoint hit is the one in `PendSV_Handler()` exception handler, which means that the PendSV exception is activated before the control returns to the preempted Philosopher thread.\n\n3. After hitting the breakpoint in `PendSV_Handler()`, you single step into `QK_activate_()`. You verify that the activator invokes a state handler from the Table state machine. This proves that the Table thread preempts the Philo thread.\n\n4. After this you free-run the application and verify that the next breakpoint hit is the one inside the Philosopher state machine. This validates that the preempted thread continues executing only after the preempting thread (the Table state machine) completes.\n\n\n\n@subsection arm-cm_qk-test-fpu Testing the FPU (Cortex-M4F)\nIn order to test the FPU, the Board Support Package (BSP) for the Cortex-M4F EK-TM4C123GXL board uses the FPU in the following contexts:\n\n- In the idle loop via the `QK_onIdle()` callback (QP priority 0)\n\n- In the thread level via the `BSP_random()` function called from all five Philo active objects (QP priorities 1-5).\n\n- In the thread level via the `BSP_displayPhiloStat()` function called from the Table active object (QP priorty 6)\n\n- In the ISR level via the `SysTick_Handler()` ISR (priority above all threads)\n\nTo test the FPU, you could step through the code in the debugger and verify that the expected FPU-type exception stack frame is used and that the FPU registers are saved and restored by the \"lazy stacking feature\" when the FPU is actually used.\n\nNext, you can selectively comment out the FPU code at various levels of priority and verify that the QK-nano context switching works as expected with both types of exception stak frames (with and without the FPU).\n\n\n\n@subsection arm-cm_qk-test-other Other Tests\nOther interesting tests that you can perform include changing priority of the GPIOA interrupt to be lower than the priority of SysTick to verify that the PendSV is still activated only after all interrupts complete.\n\nIn yet another test you could post an event to Philosopher active object rather than Table active object from the `GPIOPortA_IRQHandler()` function to verify that the QK-nano activator will not preempt the Philosopher thread by itself. Rather the next event will be queued and the Philosopher thread will process the queued event only after completing the current event processing.\n\n*/\n"
  },
  {
    "path": "doxygen/ports_native.dox",
    "content": "/*##########################################################################*/\n/*! @page ports_native Native (Bare-Metal) Ports\n\n- @subpage lint (generic C compiler)\n- @subpage arm-cm (Cortex-M0/M0+/M3/M4/M4F)\n    - @ref arm-cm_qv  (ARM-KEIL, GNU-ARM, IAR-ARM, TI-CCS toolsets)\n    - @ref arm-cm_qk  (ARM-KEIL, GNU-ARM, IAR-ARM, TI-CCS toolsets)\n- @subpage arm7-9 (\"classic\" ARM)\n    - @ref arm7-9_qk (GNU-ARM, IAR-ARM toolsets)\n    - @ref arm7-9_qv (GNU-ARM, IAR-ARM toolsets)\n- @subpage avr (megaAVR)\n    - @ref avr_qk (GNU-AVR, IAR-AVR toolsets)\n    - @ref avr_qv (GNU-AVR, IAR-AVR toolsets)\n- @subpage msp430 (\"classic\" MSP430 and \"extended\" MSP430X)\n    - @ref msp430_qv (CCS, IAR toolsets)\n    - @ref msp430_qk (CCS, IAR toolsets)\n\n*/\n/*##########################################################################*/\n/*! @page lint PC-Lint-Plus\n\n@tableofcontents\n\n<p>The QP-nano distribution contains a \"port\" to <a href=\"https://www.gimpel.com\" target=\"_blank\" class=\"extern\"><b>PC-Lint-Plus</b></a> static analysis tool from <a href=\"https://www.gimpel.com\" target=\"_blank\" class=\"extern\">Gimpel Software</a>, which is a static analysis tool for C and C++ with one of the longest track records and best value of the money in the industry. The \"PC-Lint-Plus port\" allows you to statically analyze the QP-nano source code and facilitates static analysis of your **application code** based on QP-nano.\n</p>\nThe QP-nano \"port\" to PC-Lint-Plus is located in the directory <span class=\"img folder\">qpn/ports/lint-plus</span> and includes also lint configuration files, as well as an example of \"linting\" application code in the directory <span class=\"img folder\">qpn/examples/arm-cm/dpp_ek-tm4c123gxl/lint-plus</span>. The following listing describes the most important files in these three directories.\n\n@code{.x}\n qpn\\                  - QP-nano installation directory\n  |\n  | +-ports/           - QP-nano ports directory\n  | | +-lint-plus/     - QP-nano \"port\" to PC-Lint-Plus\n  | | | +-qkn/         - QP-nano port with the QK-nano kernel\n  | | | +-qvn/         - QP-nano port with the QV-nano kernel\n  | | | +-au-ds.lnt    - Dan Saks recommendations\n  | | | +-au-misra3.lnt      - MISRA-C:2012 compliance checks\n  | | | +-au-misra3-amd1.lnt - MISRA-C:2012-Amendment-1 additional checks\n  | | | +-qpn.lnt      - PC-Lint-Plus options for QP-nano applications\n  | | | +-std.lnt      - Standard PC-Lint-Plus settings recommended by Quantum Leaps\n  | | | +-lin.bat      - Batch file to invoke PC-Lint-Plus to run analysis of QP-nano code\n  | | | +-options.lnt  - PC/Lint-Plus options for \"linting\" QP-nano source code\n  | | | +-lint_qfn.log - PC/Lint-Plus output for the QEP/QF-nano components of QP-nano\n  | | | +-lint_qvn.log - PC/Lint-Plus output for the QV-nano  component of QP-nano\n  | | | +-lint_qkn.log - PC/Lint-Plus output for the QK-nano  component of QP-nano\n  | | | +-qpn_conf.h   - QP-nano config file for a \"generic C compiler\"\n  | | | +-stdbool.h    - Standard Boolean type and constants for a \"generic C compiler\"\n  | | | +-stdint.h     - Standard exact-width integers for a \"generic C compiler\"\n  | |\n  | +-examples\\        - QP-nano examples directory (application)\n  | | +-arm-cm\\        - QP-nano examples for ARM Cortex-M\n  | | | +-dpp_ek-tm4c123gxl\\ - DPP example on the EK-TM4C123GLX board\n  | | | | +-lint-plus\\ - directory for linting the application\n  | | | | | +-lin.bat  - Batch to run PC-Lint-Plus analysis of application code\n  | | | | | +-options.lnt - PC-Lint-Plus options for \"linting\" of application code\n@endcode\n\n\n\n@section lint_qpn Linting the QP-nano Source Code\nThe directory <span class=\"img folder\">qpn/ports/lint-plus</span> (see listing above) contains also the **lin.bat** batch file for \"linting\" the QP-nano source code. The `lin.bat` batch file invokes PC-Lint-Plus and generates the lint output files. As shown in the listing above, the lint output is collected into four text files `lint_qfn.log`, lint_qkn.log`, and `lint_qvn.log`, for QEP/QF-nano, QK-nano, and QV-nano components of the QP-nano framework, respectively.\n\n@note\nIn order to execute the `lin.bat` file on your system, you might need to adjust the symbol  `PCLP_DIR` at the top of the batch file, to the PC-Lint-Plus installation directory on your computer.\n\nAccording to the PC-Lint-Plus guidelines, the `lin.bat` uses two option files: the `qpn.lnt` configuration file discussed before and the `options.lnt` configuration file that covers all deviations from the MISRA-C rules **within the QP-nano source code**. These deviations are intentionally localized to QP-nano code and are independent from your **application-level** code. In other words, a MISRA-C deviation present in the QP-nano code does **not** mean that such deviation is somehow allowed or its detection is somehow suppressed in the **application-level** code. This is because the the `options.lnt` configuration file for internals of QP-nano is **not** used to \"lint\" the application-level code.\n\n\n\n@section lint_app Linting QP-nano Application Code\nThe QP-nano baseline code contains an example of MISRA-C compliance checking with PC-Lint-Plus: the DPP example for the EK-TM4C123GLX Cortex-M4F board, located in the directory <span class=\"img folder\">qpn/examples/arm-cm/dpp_ek-tm4c123gxl/lint-plus</span>. The PC-Lint-Plus analysis is very simple and requires invoking the **lin.bat** file.\n\n@note\nIn order to execute the **lin.bat** file on your system, you might need to adjust the symbol  `PCLP_DIR` at the top of the batch file, to the PC-Lint-Plus installation directory on your computer. You\n\n\nThe `lint-plus` subdirectory contains also the `options.lnt` with the PC-Lint-Plus options specific to linting the application. Here, you might include linting options for your specific compiler, as described in the \"PC-Lint-Plus Manual\", Chapter 2 \"Installation and Configuration\".\n\n\n\n@section lint_options Structure of PC-Lint-Plus Options for QP-nano\nPC-Lint-Plus has several places where it reads its currently valid options:\n- From special PC-Lint-Plus option files (usually called `*.lnt`)\n- From the command line\n- From within the special lint-comments in the source code modules (not recommended)\n\nThe QP-nano source code and example application code has been \"linted\" only by means of the first alternative (option files) with possibility of adding options via command line. The third alternative--lint comments--is not used and Quantum Leaps does not recommend this alternative.\n\n@note\nThe QP-nano source code is completely free of lint comments, which are viewed as a contamination of the source code.\n\nThe structure of the PC-Lint-Plus option files used for \"linting\" QP-nano follows exactly the <a href=\"http://www.gimpel.com\" target=\"_blank\" class=\"extern\">Gimpel Software</a> guidelines for configuring PC-Lint-Plus (See Section 2 \"Configuration\" in the *PC-Lint-Plus Manual*). The design and grouping of the lint options also reflects the fact that static code analysis of a software framework, such as QP-nano, has really two major aspects. First, the source code of the framework itself has to be analyzed. But even more important and helpful to the users of the framework is providing the infrastructure to effectively analyze the application-level code based on the framework. With this in mind, the PC-Lint-Plus options for static analysis of QP-nano are divided into two groups, located in directories <span class=\"img folder\">qpn/include</span> and <span class=\"img folder\">qpn/ports/lint</span>. These two groups are for analyzing QP-nano **applications** and QP-nano **source code**, respectively.\n\nAs shown in the PC-Lint-Plus \"port\" files description, the directory <span class=\"img folder\">qpn/include</span>, contains the PC-Lint-Plus options for \"linting\" the application code along with all platform-independent QP-nano header files required by the applications. This collocation of lint options with header files simplifies \"linting\", because specifying just `-iqpn/include` include directory to PC-Lint-Plus accomplishes both inclusion of QP-nano header files and PC-Lint-Plus options.\nNote that the `qpn/include` directory contains all PC-Lint-Plus option files used in \"linting\" the code, including the standard MISRA-C:2012 `au-misr3.lnt` option file as well as Dan Saks' recommendations `au-ds.lnt`, which are copied from the PC-Lint-Plus distribution. This design freezes the lint options for which the compliance has been checked.\n\n\n\n@subsection lint_std_lnt The std.lnt option file\nAccording to the Gimpel Software *PC-Lint-Plus Configuration Guidelines*, the file `qpn/ports/lint-plus/std.lnt` file, contains the top-level options, which Quantum Leaps recommends for all projects. These options include the formatting of the PC-Lint-Plus messages and making two passes to perform better cross-module analysis. However, the most important option is `-restore_at_end`, which has the effect of surrounding each source file with options `-save` and `-restore`. This precaution prevents options from \"bleeding\" from one file to another.\n\n<b>Top-level option file std.lnt</b>\n@include std.lnt\n\n\n\n@subsection lint_qpn_lnt  The qpn.lnt option file\nThe most important file for \"linting\" QP-nano applications is the **qpn.lnt** option file. This file handles all deviations from the MISRA-C:2012 rules, which might arise at the application-level code from the use of the QP-nano framework. In other words, the **qpn.lnt** option file allows completely clean \"linting\" of the application-level code, as long as the application code does not violate any of the MISRA-C:2012 rules.\n\nAt the same time, the **qpn.lnt** option file has been very carefully designed not to suppress any MISRA-C:2012 rule checking outside the very specific context of the QP-nano API. In other words, the qpn.lnt option file still supports 100% of the MISRA-C:2012 rule checks that PC-Lint-Plus is capable of performing.\n\n@remarks\nFor example, for reasons explained in Section 5.10 of the <a href=\"https://www.state-machine.com/doc/AN_QP-nano_MISRA.pdf\" target=\"_blank\" class=\"extern\">\"QP-nano MISRA Compliance Matrix\"</a>, QP-nano extensively uses function-like macros, which deviates from the MISRA-C:2012 advisory Rule 4.9 and which PC-Lint-Plus checks with the warning 9026. However, instead of suppressing this warning globally (with the -e9096 directive), the qpn.lnt option file suppresses warning 9096 only for the specific QP function-like macros that are visible to the application level. So specifically, the qpn.lnt file contains directives `-esym(9026, Q_TRAN, Q_SUPER, ...)`, which suppresses the warning only for the specified macros, but does not disable checking of any other macros in the application-level code.\n\n@next{arm-cm}\n*/\n/*##########################################################################*/\n/*! @page arm-cm ARM Cortex-M\n\n@image html under_construction.jpg\n\n@section arm7-9_qk Preemptive QK Kernel\n\n@includelineno ports/arm-sm/qk/iar/qkn_port.s\n\n\n@next{arm7-9}\n*/\n/*##########################################################################*/\n/*! @page arm7-9 ARM7/ARM9\n\n@image html under_construction.jpg\n\n@section arm7-9_qk Preemptive QK Kernel\n\n@includelineno ports/arm7-9/qk/iar/qkn_port.s\n\n@section arm7-9_qv Cooperative QV Kernel\n\n@next{msp430}\n*/\n/*##########################################################################*/\n/*! @page msp430 MSP430\n\n@image html under_construction.jpg\n\n@section msp430_qk Preemptive QK Kernel\n\n@section msp430_qv Cooperative QV Kernel\n\n@next{avr}\n*/\n/*##########################################################################*/\n/*! @page avr AVR\n\n@image html under_construction.jpg\n\n@section avr_qk Preemptive QK Kernel\n\n@section avr_qv Cooperative QV Kernel\n\n*/\n"
  },
  {
    "path": "doxygen/ports_os.dox",
    "content": "/*##########################################################################*/\n/*! @page ports_os Ports to Third-Party OS\n\n- @subpage posix-qv (Linux, embedded-Linux, BSD, etc.)\n- @subpage win32-qv (Windows with QV)\n\n*/\n/*##########################################################################*/\n/*! @page posix-qv POSIX-QV\n\n@image html under_construction.jpg\n\n@sa\n@ref exa_posix-qv \"Examples for POSIX-QV\"\n\n*/\n/*##########################################################################*/\n/*! @page win32-qv Win32-QV\n\n@image html under_construction.jpg\n\n@sa\n@ref exa_win32-qv \"Examples for Win32-QV\"\n*/\n"
  },
  {
    "path": "doxygen/preview.js",
    "content": "/* Image preview script \n * powered by jQuery (http://www.jquery.com)\n * written by Alen Grakalic (http://cssglobe.com)\n * for more info visit\n * http://cssglobe.com/post/1695/easiest-tooltip-and-image-preview-using-jquery\n */\nthis.imagePreview = function(){\t\n  // you might want to adjust to get the right result\n  horOffset = -100;\n  verOffset = 0;\n\t\t\n  /* END CONFIG */\n  $(\"a.preview\").hover(function(e){\n    this.t = this.title;\n    this.title = \"\";\t\n    var c = (this.t != \"\") ? \"<br/>\" + this.t : \"\";\n    $(\"body\").append(\"<p id='preview'><img src='\"+ this.href +\"' alt='Image preview' />\"+ c +\"</p>\");\t\t\t\t\t\t\t\t \n    $(\"#preview\")\n      .css(\"top\",(e.pageY - verOffset) + \"px\")\n      .css(\"left\",(e.pageX + horOffset) + \"px\")\n      .fadeIn(\"fast\");\t\t\t\t\t\t\n  },\n  function(){\n    this.title = this.t;\t\n    $(\"#preview\").remove();\n  });\t\n  $(\"a.preview\").mousemove(function(e){\n    $(\"#preview\")\n      .css(\"top\",(e.pageY - verOffset) + \"px\")\n      .css(\"left\",(e.pageX + horOffset) + \"px\");\n  });\t\t\t\n};\n// starting the script on page load\n$(document).ready(function(){\n\timagePreview();\n});"
  },
  {
    "path": "doxygen/rsm.bat",
    "content": "@echo off\n::  ==========================================================================\n::  Product: QP-nano script for running MSquared Resource Standard Metrics (RSM)\n::  Last Updated for Version: 5.2.0\n::  Date of the Last Update:  Dec 20, 2013\n::\n::                    Q u a n t u m     L e a P s\n::                    ---------------------------\n::                    innovating embedded systems\n::\n:: Copyright (C) 2002-2013 Quantum Leaps, LLC. All rights reserved.\n::\n:: This program is open source software: you can redistribute it and/or\n:: modify it under the terms of the GNU General Public License as published\n:: by the Free Software Foundation, either version 3 of the License, or\n:: (at your option) any later version.\n::\n:: Alternatively, this program may be distributed and modified under the\n:: terms of Quantum Leaps commercial licenses, which expressly supersede\n:: the GNU General Public License and are specifically designed for\n:: licensees interested in retaining the proprietary status of their code.\n::\n:: This program is distributed in the hope that it will be useful,\n:: but WITHOUT ANY WARRANTY; without even the implied warranty of\n:: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n:: GNU General Public License for more details.\n::\n:: You should have received a copy of the GNU General Public License\n:: along with this program. If not, see <http://www.gnu.org/licenses/>.\n::\n:: Contact information:\n:: Quantum Leaps Web sites: http://www.quantum-leaps.com\n::                          http://www.state-machine.com\n:: e-mail:                  info@quantum-leaps.com\n::  ==========================================================================\nsetlocal\n\nset RCMHOME=\"C:\\tools\\MSquared\\M2 RSM\"\n\nset RSM_OUTPUT=qpn_metrics.txt\nset RSM_INPUT=..\\include\\*.h ..\\source\\*.h ..\\source\\*.c\n\n%RCMHOME%\\rsm.exe -fd -n -xNOCOMMAND -xNOCONFIG -u\"File cfg rsm_qpn.cfg\" %RSM_INPUT% > %RSM_OUTPUT%\n\nendlocal\n"
  },
  {
    "path": "doxygen/rsm_qpn.cfg",
    "content": "# ==========================================================================\n# Product: Configuration file for MSquared Resource Standard Metrics (RSM)\n# Last Updated for Version: 5.2.0\n# Date of the Last Update:  Dec 20, 2013\n#\n#                    Q u a n t u m     L e a P s\n#                    ---------------------------\n#                    innovating embedded systems\n#\n# Copyright (C) 2002-2013 Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# Quantum Leaps Web sites: http://www.quantum-leaps.com\n#                          http://www.state-machine.com\n# e-mail:                  info@quantum-leaps.com\n# ==========================================================================\n\n####################################################################\n# RSM Operational Configuration ####################################\n\n# Company Specific Header\n# This line will appear at the top of all reports\n# Typical uses include copyrights, security and project markings\n# You must specify both a text version for text and csv reports\n# and an HTML version.\nReport Header Active                    : No\nReport Header Text Line                 : Standard Metrics Report\nReport Header HTML Line                 : <font color=\"RED\" size=\"+2\"><B><I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Standard Metrics Report</I></B></font>\n\n# Enable user defined configuration files.\n# The file rsm.cfg is read from the location of the rsm.lic file.\n# This file can enable this option to allow users to override the\n# operational configuration of RSM.  This option is enabled by the\n# end user with the -u \"File cfg path\\file\" option\nEnable user defined configuration files : Yes\n\n# Windows 9x and DOS are case insensitive file systems.\n# Files like foo.c and foo.C are seen as C source files.\n# If *.C files are C++ files under these operating systems\n# or you are operating on NT or UNIX set this option to\n# case sensitivity equal to Yes.\nSource file names are case sensitive    : No\n\n# Show a progress indicator when processing files and\n# code differentials.\nShow progress indicator                 : Yes\nDetailed Progress Showing File Names    : Yes\n\n# Number of files which comprise a status marker when\n# status is indicated during lengthy operations.\nProgress status interval number of files: 10\n\n# Show file dates when displaying file metrics.\nShow file date and size                 : No\n\n# RSM will process only files with the following extensions.\n# The user may add to this list, but RSM is designed to process\n# only the C, C++, C# and Java languages.\nValidate file extensions for processing : Yes\n\n# Specify the extensions for each type of supported language.\n# Files extensions are separated by commas and are case sensitive\n# if case sensitivity is specified in this file (comma separated,no spaces).\nC File Extensions                       : c\nC Header File Extensions                : h\nC++ File Extensions                     : cc,cpp,cxx,h,hh,H,hxx\nC++ Header File Extensions              : h,hh,H,hxx\nC# File Extensions                      : cs\nJava File Extensions                    : java\n# Other files are not officially supported by RSM\n# but lines will be counted as LOC\nOther File Extensions                   : \n\n# When analyzing *.h files, treat header files as\n# both C and C++.  If you use separate extensions for C++ and\n# C header files, then set this option to No.\nTreat C headers as C++                  : Yes\n\n# RSM will not process files when the path/file name contains\n# a pattern in the pattern list (comma separated,no spaces).\nPattern Filter Active                   : No\nPattern Filter                          : .designer.c\n\n# RSM Code skip strings allow the RSM parser to skip\n# processing of all code between the start and stop\n# tokens.  This is useful for machine generated code.\n# Code tokens are unique in the could base and if\n# found on a code line the rsm processing will be effected.\n# Start and stop tokens must match within a file and\n# cannot span files.  A token cannot contain spaces and\n# must be alphnumeric and can contain the underscore.\n# Quality skip tokens turn off just quality notice checking.\n# i.e.  // RSM_IGNORE_BEGIN\n#       some code ....\n#       // RSM_IGNORE_END\nRSM Code Skip Start Token               : RSM_IGNORE_BEGIN\nRSM Code Skip End Token                 : RSM_IGNORE_END\nRSM Code Quality Skip Start Token       : RSM_IGNORE_QUALITY_BEGIN\nRSM Code Quality Skip End Token         : RSM_IGNORE_QUALITY_END\nActivate RSM code skip tokens           : Yes\n\n# RSM will not process files in local directories when this\n# flag is set.  This will prevent recursive descent into\n# these directories (comma separated,no spaces).\nDo not process these local directories  : No\nLocal directory names not processed     : test,sccs,cvs,rcs,svn\n\n# Names in reports include file, namespace or package, class\n# and function names.  These names can get quite long and will\n# extend beyond the report right margin.  This setting will\n# wrap the name to the report right margin.\nWrap long names in reports              : Yes\n\n####################################################################\n# RSM Configuration for Baseline Metrics Differentials #############\n\n# The following path location specifies where work files\n# are to be created.  The path must be a location with write\n# permissions.  RSM will create work files in the current\n# directory if no path is specified.\nWork file location path                 : \n\n# When processing code line differentials, ignore\n# blank line changes in the code.\nIgnore code differential blank lines    : Yes\n\n# When processing code line differentials, ignore\n# blanks and tab changes in the code.\nIgnore code differential white space    : Yes\n\n# Maximum number of lines in a file when using Longest Common Sequence\n# differential algorithm.  This value establishes the line to line\n# comparison matrix size.  This value has been set to the maximum allowed\n# under 32 bit operating systems.  It is not advised to make this value >\n# than 10000.  If you have a machine with very low physical memory you may\n# want to use a value of 6000 to 7000 where 10000 should be a maximum.\n# When file lengths exceed the matrix limits, the file is segmented to fit\n# the matrix size.\nMaximum LCS file size, number of lines  : 10000\n\n# Code differential metrics determine lines that are\n# different in the current baseline compared to the\n# older baseline.  This metric can include\n# lines that are removed from the current baseline.\nAdd removed older lines as modified     : No\n\n# When showing differential details for each file\n# using the switch -ws\nShow equal lines                        : Yes\nShow lines removed from older file      : Yes\nShow lines added (mod) to newer file    : Yes\n\n# The following parameter, when set to Yes will cause\n# the files stored into work files to be relative to the\n# location specified by the -w\"create top_dir\", baseline\n# top directory.\nRelative Work Files                     : Yes\n\n# User defined productivity values for determining works\n# rates for baseline metric differentials.\nWork Seconds per Hour                   : 3600\nWork Hours per Shift                    : 8\nWork Shifts per Day                     : 1\nWork Days per Week                      : 5\nWork Hours per Man Day                  : 8\nWork Hours per Man Week                 : 40\nWork Hours per Man Month                : 160\nWork Hours per Man Year                 : 1960\n\n#####################################################################\n# Function point conversion factors for LOC metrics\n#\nHeader File Function Points per LOC     : 0\nHeader File Function Points per eLOC    : 0\nHeader File Function Points per lLOC    : 0\nC File Function Points per LOC          : 128\nC File Function Points per eLOC         : 128\nC File Function Points per lLOC         : 128\nC++ File Function Points per LOC        : 53\nC++ File Function Points per eLOC       : 53\nC++ File Function Points per lLOC       : 53\nJava File Function Points per LOC       : 53\nJava File Function Points per eLOC      : 53\nJava File Function Points per lLOC      : 53\nC# File Function Points per LOC         : 53\nC# File Function Points per eLOC        : 53\nC# File Function Points per lLOC        : 53\nOther File Function Points per LOC      : 0\nOther File Function Points per eLOC     : 0\nOther File Function Points per lLOC     : 0\n\n####################################################################\n# RSM Configuration for cyclomatic complexity ######################\n#\n# McCabe Cyclomatic Complexity includes the following constructs in\n# the calculation.\n#   function call + if + inline if + while + for + foreach\n#   case + goto + logical or + Logical and\n#\n# You may tailor the cyclomatic complexity calculation to meet your\n# specific requirements.\n\nInclude 'function call' in cyclomatic complexity: Yes\nInclude 'while' in cyclomatic complexity        : Yes\nInclude 'for' in cyclomatic complexity          : Yes\nInclude 'switch' in cyclomatic complexity       : No\nInclude 'case' in cyclomatic complexity         : Yes\nInclude 'if' in cyclomatic complexity           : Yes\nInclude 'else' in cyclomatic complexity         : No\nInclude '?' inlined if in cyclomatic complexity : Yes\nInclude 'goto' in cyclomatic complexity         : Yes\nInclude '||' or 'or' in cyclomatic complexity   : Yes\nInclude '&&' or 'and' in cyclomatic complexity  : Yes\n\n####################################################################\n# RSM Quality Notices Configuration ################################\n\n# User Defined Quality Notices UDQN\n# Specify the file name which contains the UDQN definitions\n# See this provided example for a tutorial on UDQN.\nRSM user defined quality notice file    : rsm_udqn.cfg\n\n# Re-order the quality notice format so that if a line number\n# is emitted, the line number precedes the notice number.  This\n# option enables code editors to parse the notice line.\nReorder notice, line in quality notices : No\n\n# RSM Quality Notices For Code Style ###################################\n\n# Quality Notice No. 1\n# Emit a quality notice when the physical line length\n# is greater than the specified number of characters.\nQuality Notice 1                        : Yes\nMaximum Line Length                     : 80\n\n# Quality Notice No. 2\n# Emit a quality notice when the function name length\n# is greater than the specified number of characters.\nQuality Notice 2                        : Yes\nMaximum Function Name Length            : 32\n\n# Quality Notice No. 21\n# Emit a quality notice when a file does not contain\n# the specified key string.\nQuality Notice 21                       : No\nRSM KEY String                          : \n\n# RSM Quality Notices For Stability and Maintainability ################\n\n# Quality Notice No. 3\n# Emit a quality notice when ellipsis '...' are identified\n# within a functions parameter list thus enabling variable\n# arguments.\nQuality Notice 3                        : Yes\n\n# Quality Notice No. 4\n# Emit a quality notice if there exists an assignment\n# operator '=' within a logical 'if' condition.\nQuality Notice 4                        : Yes\n\n# Quality Notice No. 5\n# Emit a quality notice if there exists an assignment\n# operator '=' within a logical 'while' condition.\nQuality Notice 5                        : Yes\n\n# Quality Notice No. 6\n# Emit a quality notice when a pre-decrement operator '--'\n# is identified within the code.\nQuality Notice 6                        : No\n\n# Quality Notice No. 7\n# Emit a quality notice when a pre-increment operator '++'\n# is identified within the code.\nQuality Notice 7                        : No\n\n# Quality Notice No. 8\n# Emit a quality notice when the 'realloc' function\n# is identified within the code.\nQuality Notice 8                        : Yes\n\n# Quality Notice No. 9\n# Emit a quality notice when the 'goto' function\n# is identified within the code.\nQuality Notice 9                        : Yes\n\n# Quality Notice No. 10\n# Emit a quality notice when the Non-ANSI function\n# prototype is identified within the code.\nQuality Notice 10                       : Yes\n\n# Quality Notice No. 11\n# Emit a quality notice when open and closed brackets\n# '[ ]' are not balance within a file.\nQuality Notice 11                       : Yes\n\n# Quality Notice No. 12\n# Emit a quality notice when open and closed parenthesis\n# '()' are not balance within a file.\nQuality Notice 12                       : Yes\n\n# Quality Notice No. 13\n# Emit a quality notice when a 'switch' statement does\n# not have a 'default' condition.\nQuality Notice 13                       : Yes\n\n# Quality Notice No. 14\n# Emit a quality notice when there are more 'case' conditions\n# than 'break' statements or 'fall through' comments.\nUse default in case/break comparison    : Yes\nQuality Notice 14                       : Yes\n\n# Quality Notice No. 15\n# Emit a quality notice when a friend class\n# is identified within the code.\nQuality Notice 15                       : Yes\n\n# Quality Notice No. 22\n# Emit a quality notice when each if, else, for\n# or while is not bound by scope.\nQuality Notice 22                       : Yes\n\n# Quality Notice No. 23\n# Emit a quality notice when the '?' or the implied\n# if-then-else construct has been identified.\nQuality Notice 23                       : Yes\n\n# Quality Notice No. 24\n# Emit a quality notice when an ANSI C++ keyword\n# is identified within a *.c or a *.h file.\nQuality Notice 24                       : Yes\n\n# Quality Notice No. 26\n# Emit a quality notice when a void * is identified\n# within a source file.\nQuality Notice 26                       : No\n\n# Quality Notice No. 27\n# Emit a quality notice when the number of function\n# return points is greater than the specified maximum.\nQuality Notice 27                       : Yes\nMaximum functional return points        : 1\nCount goto as a function return point   : Yes\n\n# Quality Notice No. 28\n# Emit a quality notice when the cyclomatic complexity\n# of a function exceeds the specified maximum.\nQuality Notice 28                       : Yes\nMaximum functional cyclomatic complexity: 10\n\n# Quality Notice No. 29\n# Emit a quality notice when the number of function\n# input parameters exceeds the specified maximum.\nQuality Notice 29                       : Yes\nMaximum functional interface complexity : 6\n\n# Quality Notice No. 49\n# Emit a quality notice when function parameters\n# are blank or not specified, thus requiring void.\nQuality Notice 49                       : Yes\n\n# Quality Notice No. 30\n# Emit a quality notice when a TAB character is identified\n# within the source code.  Indentation with TAB will create\n# editor and device dependent formatting.\nQuality Notice 30                       : Yes\n\n# Quality Notice No. 32\n# Emit a quality notice when 'using namespace'\n# has been identified in a C++ source file.\nQuality Notice 32                       : Yes\n\n# Quality Notice No. 33\n# Emit a quality notice when a class/struct definition\n# is identified within a function definition.\nQuality Notice 33                       : Yes\n\n# Quality Notice No. 34\n# Emit a quality notice when a class definition\n# contains a pointer to a data item.\nQuality Notice 34                       : Yes\n\n# Quality Notice No. 35\n# Emit a quality notice when a class definition\n# contains public data.\nQuality Notice 35                       : Yes\n\n# Reference Quality Notice No. 35\n# Ignore public data for specific types of data\nIgnore public event data                : Yes\nIgnore public const data                : Yes\nIgnore public delegate data             : Yes\n\n# Quality Notice No. 36\n# Emit a quality notice when a class definition\n# contains protected data.\nQuality Notice 36                       : Yes\n\n# Quality Notice No. 37\n# Emit a quality notice when a base class, with virtual\n# functions, does not contain a virtual destructor.\nQuality Notice 37                       : Yes\n\n# Quality Notice No. 38\n# Emit a quality notice when exception handling is\n# present within a function.\nQuality Notice 38                       : Yes\n\n# Quality Notice No. 39\n# Emit a quality notice when the number of class/struct methods\n# exceed the specified maximum (public, protected and private).\nQuality Notice 39                       : Yes\nMaximum number of methods per class     : 100\n\n# Quality Notice No. 40\n# Emit a quality notice when the depth of the inheritance\n# tree exceeds the specified maximum value.\nQuality Notice 40                       : Yes\nMaximum depth of inheritance tree       : 4\n\n# Quality Notice No. 41\n# Emit a quality notice when the number of direct derived\n# classes exceeds the specified maximum value.\nQuality Notice 41                       : Yes\nMaximum number of derived child classes : 10\n\n# Quality Notice No. 42\n# Emit a quality notice when the multiple inheritance\n# has been identified.\nQuality Notice 42                       : Yes\n\n# Quality Notice No. 43\n# Emit a quality notice when the keyword 'continue'\n# has been identified.\nQuality Notice 43                       : Yes\n\n# Quality Notice No. 44\n# Emit a quality notice when the keyword 'break'\n# has been identified outside a 'switch' logic\n# control structure.\nQuality Notice 44                       : Yes\n\n# Quality Notice No. 45\n# Emit a quality notice when a file does not\n# have equal counts of new and delete.\nQuality Notice 45                       : Yes\n\n# Quality Notice No. 50\n# Emit a quality notice when a variable is assigned\n# to a literal number and not a symbolic constant.\nQuality Notice 50                       : No\nInclude zero (0) as literal assignment  : No\n\n# Quality Notice No. 55\n# Emit a quality notice when the depth of scope\n# exceeds the specified maximum value.  This condition\n# indicates complex logic and/or a maintenance concern.\nQuality Notice 55                       : Yes\nMaximum depth of scope                  : 6\n\n# Quality Notice No. 56\n# Emit a quality notice when sequential breaks are\n# identified without a respective case statement.\nQuality Notice 56                       : Yes\n\n# RSM Quality Notices for Functional/Struct and Class Content ##########\n\n# Minimum LOC for content analysis for blank lines\n# comments, and white space.\nMin. Function LOC for content analysis  : 5\nMin. Class/Struct LOC content analysis  : 10\n\n# Quality Notice No. 16\n# Emit a quality notice when function, struct, class\n# or interface white space percentage is less than\n# the specified minimum.\nQuality Notice 16                       : Yes\nMinimum Function Whitespace Percent     : 10.00 \n\n# Quality Notice No. 17\n# Emit a quality notice when function comment line\n# percentage is less than the specified minimum.\nQuality Notice 17                       : No\nMinimum Function Comment Line Percent   : 10.00 \n\n# Quality Notice No. 18\n# Emit a quality notice when the eLOC within a\n# function exceeds the specified maximum.\nQuality Notice 18                       : Yes\nMaximum Function eLOC                   : 200\n\n# Quality Notice No. 48\n# Emit a quality notice when the lLOC within a\n# function does not meet the specified minimum.\n# This notice serves to find nop functions.\nQuality Notice 48                       : Yes\nMinimum Function lLOC                   : 0\n\n# Quality Notice No. 31\n# Emit a quality notice when class/struct comment line\n# percentage is less than the specified minimum.\nQuality Notice 31                       : Yes\nMinimum Class/Struct Comment Percent    : 10.00 \n\n# Quality Notice No. 46\n# Emit a quality notice when function, struct, class\n# or interface blank line percentage is less than the\n# specified minimum.\nQuality Notice 46                       : No\nMinimum Function Blank Line Percent     : 10.00 \n\n# Quality Notice No. 51\n# Emit a quality notice when a function\n# does not have a preceding comment.\nQuality Notice 51                       : Yes\n\n# Quality Notice No. 52\n# Emit a quality notice when a class\n# does not have a preceding comment.\nQuality Notice 52                       : Yes\n\n# Quality Notice No. 53\n# Emit a quality notice when a struct\n# does not have a preceding comment.\nQuality Notice 53                       : Yes\n\n# Quality Notice No. 54\n# Emit a quality notice when a interface\n# does not have a preceding comment.\nQuality Notice 54                       : Yes\n\n# RSM Quality Notices for File Content #\n\n# Quality Notice No. 19\n# Emit a quality notice when file white space\n# percentage is less than the specified minimum.\n# Consider setting Notice 30 to No.\nQuality Notice 19                       : Yes\nMinimum File Whitespace Percent         : 10.00 \nA TAB is equivalent to n space          : 2\n\n# Quality Notice No. 20\n# Emit a quality notice when file comment line\n# percentage is less than the specified minimum.\nQuality Notice 20                       : Yes\nMinimum File Comment Line Percent       : 10.00 \n\n# Quality Notice No. 47\n# Emit a quality notice when file blank line\n# percentage is less than the specified minimum.\nQuality Notice 47                       : No\nMinimum File Blank Line Percent         : 10.00 \n\n# Quality Notice No. 57\n# Emit a quality notice when RSM skip lines conditions\n# are met by a matching token.\nQuality Notice 57                       : No\n\n# Quality Notice No. 58\n# Emit a quality notice when RSM skip quality notice conditions\n# are met by a matching token.\nQuality Notice 58                       : No\n\n# RSM Quality Notices Miscellaneous ####################################\n\n# Quality Notice No. 25\n# Deprecated in Version 6.70\n# See settings under language extensions.\n\n####################################################################\n# Code Listing Report Configuration ################################\n\n# The following parameters setup source code printing.\n# These values become the default settings.\nPrinted Line Length                     : 80\nPrinted Page Length                     : 55\nPrinted Left Margin                     : 5\nPrinted Top Margin                      : 1\nPrinted Page Header                     : RSM Code Listing\nPage breaks in code print format        : No\n\n####################################################################\n# HTML Report and Color Configuration ##############################\n\n# The following parameters setup HTML report output.  The hyperlinks\n# for source code can be either absolute or relative.\nRelative HTML Links                     : No\n\n# The following color parameters modify the HTML report\n# output.  Colors can be specified as Hex or Name.\n# Blank color parameters will result to the browser default.\nHTML RSM Color                          : #0000FF\nHTML Date Color                         : #0000FF\nHTML Text Color                         : #000000\nHTML VLink Color                        : #660099\nHTML Link Color                         : #0000EE\nHTML Background Color                   : #F8F8F8\nHTML Error Color                        : #FF0000\nHTML Line Color                         : #003399\nHTML Old File Differential Color        : #CC0033\nHTML New File Differential Color        : #336666\nHTML File Name Color                    : #0000FF\nHTML Function Color                     : #0000FF\nHTML Function Parameter Color           : #006600\nHTML Template Color                     : #006699\nHTML Macro Color                        : #33CCFF\nHTML Class Color                        : #663300\nHTML Inheritance Color                  : #FF3300\nHTML Struct Color                       : #990000\nHTML Notice Color                       : #CC0000\nHTML Header Color                       : #993300\nHTML New Code Differential Color        : #3366CC\nHTML Removed Code Differential Color    : #FF0000\nHTML Modified Code Differential Color   : #993300\nHTML Equal Code Differential Color      : #00CC00\nHTML Total Color                        : #993300\nHTML Inheritance Depth Color            : #333300\nHTML Inheritance Child Color            : #CC6600\n####################################################################\n# end of rsm.cfg\n"
  },
  {
    "path": "doxygen/snippets/qepn_qhist.c",
    "content": "typedef struct  {\n    QHsm super; /* inherit QHsm */\n\n    QStateHandler hist_doorClosed; /* history of doorClosed */\n} ToastOven;\n\n/*..........................................................*/\nstatic QState ToastOven_doorClosed(ToastOven * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        ~ ~ ~\n        case Q_EXIT_SIG: {\n            me->hist_doorClosed = QHsm_state(&me->super);\n            status_ = Q_HANDLED();\n            break;\n        }\n    }\n    return status_;\n}\n/*..........................................................*/\nstatic QState ToastOven_doorOpen(ToastOven * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        ~ ~ ~\n        case CLOSE_SIG: {\n            status_ = Q_TRAN_HIST(hist_doorClosed); /*<== */\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n"
  },
  {
    "path": "doxygen/snippets/qepn_qhsm.c",
    "content": "typedef struct {\n    QHsm super;  /* inherits QHsm */\n\n    double operand1;\n    double operand2;\n    char display[DISP_WIDTH + 1];\n    uint8_t len;\n    uint8_t opKey;\n} Calc;\n"
  },
  {
    "path": "doxygen/snippets/qepn_qhsm_ctor.c",
    "content": "void Alarm_ctor(Alarm * const me) {\n    QHsm_ctor(&me->super, Q_STATE_CAST(&Alarm_initial));\n}\n"
  },
  {
    "path": "doxygen/snippets/qepn_qhsm_use.c",
    "content": "#include \"qpn.h\"   /* QP-nano */\n#include \"calc.h\"  /* Application interface */\n\nQ_DEFINE_THIS_FILE\n\nstatic Calc l_calc; /* an instance of Calc HSM */\n\nint main() {\n    Calc_ctor(&l_calc); /* Calc HSM \"constructor\" invokes QHsm_ctor() */\n\n    QHSM_INIT(&l_calc.super); /* trigger initial transition, late biniding */\n\n    for (;;) { /* event loop */\n        . . .\n        /* wait for the next event and assign it to the current event */\n        QSIG(&l_calc) = ...\n        QPAR(&l_calc) = ...\n        QHSM_DISPATCH(&l_calc.super); /* dispatch the event, late binding */\n    }\n    return 0;\n}\n"
  },
  {
    "path": "doxygen/snippets/qepn_qinit.c",
    "content": "/*..........................................................................*/\nvoid Pelican_ctor(Pelican * const me) {\n    QActive_ctor(me, Q_STATE_CAST(&Pelican_initial));\n}\n\n/* HSM definition ----------------------------------------------------------*/\nQState Pelican_initial(Pelican * const me) { /* the initial pseudo-state */\n    return Q_TRAN(&Pelican_operational);\n}\n/*..........................................................................*/\nQState Pelican_operational(Pelican * const me) { /* a regular state handler */\n    QState status_;\n    switch (Q_SIG(me)) {\n        case Q_ENTRY_SIG: {\n            BSP_signalCars(CARS_RED);\n            BSP_signalPeds(PEDS_DONT_WALK);\n            status_ = Q_HANDLED();\n            break;\n        }\n        case Q_INIT_SIG: {\n            status_ = Q_TRAN(&Pelican_carsEnabled); /* regular transition */\n            break;\n        }\n        case OFF_SIG: {\n            status_ = Q_TRAN(&Pelican_offline);     /* regular transition */\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);           /* the superstate */\n            break;\n        }\n    }\n    return status_;\n}\n\n"
  },
  {
    "path": "doxygen/snippets/qepn_qtran.c",
    "content": "/* HSM definition ----------------------------------------------------------*/\nQState Pelican_carsGreenNoPed(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        case Q_ENTRY_SIG: {\n            BSP_showState(me->super.prio, \"carsGreenNoPed\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        case PEDS_WAITING_SIG: {\n            status_ = Q_TRAN(&Pelican_carsGreenPedWait);\n            break;\n        }\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Pelican_carsGreenInt);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Pelican_carsGreen);\n            break;\n        }\n    }\n    return status_;\n}\n/*..........................................................................*/\nQState Pelican_carsGreenPedWait(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        case Q_ENTRY_SIG: {\n            BSP_showState(me->super.prio, \"carsGreenPedWait\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Pelican_carsYellow);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Pelican_carsGreen);\n            break;\n        }\n    }\n    return status_;\n}\n\n"
  },
  {
    "path": "doxygen/snippets/qfn_armx.c",
    "content": "/* when #QF_TIMEEVT_PERIODIC is NOT defined... */\nQState Pelican_carsGreen(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        case Q_ENTRY_SIG: {\n            /* arm timer (one-shot) at tick rate 0 */\n            QActive_armX(&me->super, 0U,\n                         CARS_GREEN_MIN_TOUT);\n            BSP_signalCars(CARS_GREEN);\n            status_ = Q_HANDLED();\n            break;\n        }\n        case Q_EXIT_SIG: {\n            QActive_disarm(&me->super)\n            status_ = Q_HANDLED();\n            break;\n        }\n        case Q_INIT_SIG: {\n            status_ = Q_TRAN(&Pelican_carsGreenNoPed);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Pelican_carsEnabled);\n            break;\n        }\n    }\n    return status_;\n}\n\n/* when #QF_TIMEEVT_PERIODIC is defined... */\nQState Pelican_carsGreen(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        case Q_ENTRY_SIG: {\n            /* arm timer (one-shot) at tick rate 0 */\n            QActive_armX(&me->super, 0U,\n                         CARS_GREEN_MIN_TOUT, 0U);\n            BSP_signalCars(CARS_GREEN);\n            status_ = Q_HANDLED();\n            break;\n        }\n        case Q_EXIT_SIG: {\n            QActive_disarm(&me->super)\n            status_ = Q_HANDLED();\n            break;\n        }\n        case Q_INIT_SIG: {\n            status_ = Q_TRAN(&Pelican_carsGreenNoPed);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Pelican_carsEnabled);\n            break;\n        }\n    }\n    return status_;\n}\n"
  },
  {
    "path": "doxygen/snippets/qfn_main.c",
    "content": "#include \"qpn.h\"     /* QP-nano API */\n#include \"bsp.h\"     /* Board Support Package (BSP) */\n#include \"pelican.h\" /* Application interface */\n\n/*..........................................................................*/\nstatic QEvt l_pelicanQueue[2];\nstatic QEvt l_pedQueue[1];\n\n/* QF_active[] array defines all active object control blocks --------------*/\nQActiveCB const Q_ROM QF_active[] = {\n    { (QActive *)0,           (QEvt *)0,      0                     },\n    { (QActive *)&AO_Pelican, l_pelicanQueue, Q_DIM(l_pelicanQueue) },\n    { (QActive *)&AO_Ped,     l_pedQueue,     Q_DIM(l_pedQueue)     }\n};\n\n/*..........................................................................*/\nint_t main (void) {\n    Pelican_ctor();  /* instantiate the  Pelican AO */\n    Ped_ctor();      /* instantiate the  Ped     AO */\n\n    QF_init(Q_DIM(QF_active)); /* initialize the QF-nano framework */\n    BSP_init();      /* initialize the Board Support Package */\n\n    return QF_run(); /* transfer control to QF-nano */\n}\n"
  },
  {
    "path": "doxygen/snippets/qfn_post.c",
    "content": "/* event posting from the interrupt context (QACTIVE_POST_ISR()) ... */\n#pragma vector=TIMER0_A0_VECTOR\n__interrupt void TIMER0_A0_ISR(void) {\n    QK_ISR_ENTRY();  /* infrom QK-nano about entering an ISR */\n\n    QF_tickXISR(0U); /* process time events for rate 0 */\n\n    /* post TIME_TICK events to all interested active objects... */\n    QACTIVE_POST_ISR((QActive *)&AO_Tunnel,  TIME_TICK_SIG, 0U);\n    QACTIVE_POST_ISR((QActive *)&AO_Ship,    TIME_TICK_SIG, 0U);\n    QACTIVE_POST_ISR((QActive *)&AO_Missile, TIME_TICK_SIG, 0U);\n\n    QK_ISR_EXIT();   /* infrom QK-nano about exiting an ISR */\n}\n\n/* event posting from the task context (QACTIVE_POST())... */\nstatic QState Ship_flying(Ship * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        case TIME_TICK_SIG: {\n            . . .\n            if ((me->score % 10) == 0) { /* is the score \"round\"? */\n                QACTIVE_POST((QActive *)&AO_Tunnel,\n                    SCORE_SIG, me->score); /* signal and parameter */\n            }\n            status_ = Q_HANDLED();\n            break;\n        }\n        . . .\n    }\n    return status_;\n}\n"
  },
  {
    "path": "doxygen/snippets/qfn_postx.c",
    "content": "/* \"extended\" event posting from the interrupt context (QACTIVE_POST_X_ISR) */\nvoid SysTick_Handler(void) {\n    . . .\n    if (!QACTIVE_POST_X_ISR((QActive *)&AO_Cruncher,\n             5U,            /* margin of free slots in the queue */\n             ECHO_SIG, 0U)) /* signal and parameter */\n    {\n        /* event posting failed... */\n    }\n}\n\n/* \"extended\" event posting from the task context (QACTIVE_POST_X())... */\nstatic QState Ship_flying(Ship * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        case TIME_TICK_SIG: {\n            . . .\n            if ((me->score % 10) == 0) { /* is the score \"round\"? */\n                if (!QACTIVE_POST_X((QActive *)&AO_Tunnel,\n                        4U, /* margin of free slots in the queue */\n                        SCORE_SIG, me->score)) /* signal and parameter */\n                {\n                    /* event posting failed... */\n                }\n            }\n            status_ = Q_HANDLED();\n            break;\n        }\n        . . .\n    }\n    return status_;\n}\n"
  },
  {
    "path": "doxygen/snippets/qfn_qactive.c",
    "content": "/* PEdestrian Light CONtrolled (PELICAN) crossing active object */\ntypedef struct {\n    QActive super;       /* inherits QActive */\n    uint8_t pedFlashCtr; /* pedestrian flash counter */\n} Pelican;\n\n/* the ctor */\nvoid Pelican_ctor(Pelican * const me, uint8_t timeout) {\n    /* call the superclass' ctor... */\n    QActive_ctor(&me->super, Q_STATE_CAST(&Pelican_initial));\n    . . .    /* initialize the added attributes */\n}"
  },
  {
    "path": "doxygen/snippets/qfn_tickx.c",
    "content": "/* system clock tick ISR for MSP430 from TI (cooperative QV-nano kernel) */\n#pragma vector = TIMERA0_VECTOR\n__interrupt void timerA_ISR(void) {\n    __low_power_mode_off_on_exit();\n   QF_tickXISR(0U);  /* handle all armed time events at tick rate 0 */\n}\n\n/* system clock tick ISR for MSP430 from TI (preemptive QK-nano kernel) */\n#pragma vector = TIMERA0_VECTOR\n__interrupt void timerA_ISR(void) {\n    QK_ISR_ENTRY();  /* inform QK-nano about entering the ISR */\n    QF_tickXISR(0U); /* handle all armed time events  at tick rate 0 */\n    QK_ISR_EXIT();   /* inform QK-nano about exiting the ISR */\n}\n"
  },
  {
    "path": "doxygen/snippets/qkn_lock.c",
    "content": "uint32_t BSP_random(void) { /* a very cheap pseudo-random-number generator */\n    uint32_t rnd;\n    QSchedStatus lockStat; /* <=== QK-nano scheduler lock status */\n\n    lockStat = QK_schedLock(N_PHILO); /* <=== lock scheduler up to N_PHILO prio */\n    /* \"Super-Duper\" Linear Congruential Generator (LCG)\n    * LCG(2^32, 3*7*11*13*23, 0, seed)\n    */\n    rnd = l_rnd * (3U*7U*11U*13U*23U);\n    l_rnd = rnd; /* set for the next time */\n    QK_schedUnlock(lockStat); /* <=== unlock the scheduler */\n\n    return (rnd >> 8);\n}\n"
  },
  {
    "path": "doxygen/snippets/qkn_oncontextsw.c",
    "content": "#ifdef QK_ON_CONTEXT_SW\n/* NOTE: the context-switch callback is called with interrupts DISABLED */\nvoid QK_onContextSw(uint_fast8_t prev, uint_fast8_t next) {\n    (void)prev;\n    if (next != (uint_fast8_t)0) {\n        //_impure_ptr = &reentrant[next];\n    }\n}\n#endif /* QK_ON_CONTEXT_SW */\n"
  },
  {
    "path": "doxygen/struct.dox",
    "content": "/*! @page struct Structure and Features\n\n@tableofcontents\n\n@section files Directories and Files\n\nThe following annotated directory tree lists the top-level directories provided in the standard QP-nano distribution.\n\n<ul class=\"tag\">\n  <li><span class=\"img folder\">qpn/</span>\n  </li>\n  <ul class=\"tag\">\n    <li><span class=\"img folder\">3rd_party/</span> &mdash; Third-Party code used in the QP-nano @ref ports \"ports\" and @ref exa \"examples\"\n    </li>\n    <li><span class=\"img folder\">examples/</span> &mdash; @ref exa \"QP-nano Examples\"\n    </li>\n    <li><span class=\"img folder\">ports/</span> &mdash; @ref ports \"QP-nano Ports\"\n    </li>\n    <li><span class=\"img folder\">include/</span> &mdash; Platform-independent QP-nano API (see @ref ../include \"include\")\n    </li>\n    <li><span class=\"img folder\">src/</span> &mdash; Platform-independent QP-nano source code (see @ref ../src \"src\")\n    </li>\n  </ul>\n</ul>\n\n@note\nThe standard QP-nano distribution contains many @ref exa \"Example Projects\", which are specifically designed to help you learn to use QP-nano and to serve you as starting points for your own projects.\n\n\n\n\n@section comp Components of QP-nano\nThe QP-nano active object framework is comprised of the following components:\n\n@image html qpn_components.jpg \"Components of the QP-nano Framework\"\n\n\n@subsection comp_qep QEP-nano Hierarchical Event Processor\nQEP-nano is a universal, UML-compliant event processor that enables developers to code UML state machines in highly readable ANSI-C, in which every state machine element is mapped to code precisely, unambiguously, and exactly once (traceability). QEP-nano fully supports hierarchical state nesting, which is the fundamental mechanism for reusing behavior across many states instead of repeating the same actions and transitions over and over again. (See also @ref qepn).\n\n\n@subsection comp_qf QF-nano Active-Object Framework\nQF-nano is a portable, event-driven, active-object (actor) framework for execution of **active objects** (concurrent state machines) specifically designed for real-time embedded (RTE) systems. (See also @ref qfn).\n\n\n@subsection comp_qv  QV-nano Cooperative Kernel\nQV-nano is a simple **cooperative** kernel (previously called \"Vanilla\" kernel). This kernel executes active objects one at a time, with priority-based scheduling performed before processing of each event. Due to naturally short duration of event processing in state machines, the simple QV kernel is often adequate for many real-time systems. (See also @ref qvn).\n\n\n@subsection comp_qk QK-nano Preemptive Kernel\nQK-nano is a tiny **preemptive**, priority-based, non-blocking, real-time kernel designed specifically for executing active objects. QK-nano meets all the requirement of the <a class=\"extern\" target=\"_blank\" href=\"http://en.wikipedia.org/wiki/Rate-monotonic_scheduling\"><strong>Rate Monotonic Scheduling</strong></a> (a.k.a. Rate Monotonic Analysis &mdash; RMA) and can be used in hard real-time systems. (See also @ref qkn).\n\n\n\n@section classes Classes in QP-nano\nThe figure below shows the main classes comprising the QP-nano framework and their relation to the application-level code, such as the @ref game example application.\n\n@image html qpn_classes.gif \"Main Classes in the QP-nano Framework\"\n\n<ul class=\"tag\">\n  <li><span class=\"tag\">0</span> The ::QEvt class represents events, possibly with a parameter (the existence of event parameter is configured by the macro #Q_PARAM_SIZE).\n  </li>\n\n  <li><span class=\"tag\">1</span> The abstract ::QHsm class represents a Hierarchical State Machine (HSM) with full support for hierarchical nesting of states, entry/exit actions, initial transitions, and transitions to history in any composite state. This class is designed for ease of manual coding of HSMs in C, but it is also supported by the <a class=\"extern\" target=\"_blank\" href=\"https://www.state-machine.com/qm\">QM modeling tool</a>. The class is abstract, meaning that it is not designed to be instantiated directly, but rather only for inheritance. The @ref game application provides an example of application-level classes deriving directly from ::QHsm (see [5]).\n  </li>\n\n  <li><span class=\"tag\">2</span> The abstract ::QActive class represents an active object that uses the ::QHsm style state machine implementation strategy. This strategy is tailored to manual coding, but it is also supported by the QM modeling tool. The @ref game application provides an example of application-level classes deriving directly from ::QActive (see [4]).\n  </li>\n\n  <li><span class=\"tag\">3</span> ::QActiveCB (QActive Control Block) represents the read-only (constant) information that the QF-nano needs to manage the active object. ::QActiveCB objects are grouped in the array ::QF_active, which typically can be placed in ROM.\n  </li>\n\n  <li><span class=\"tag\">4</span> Active Objects in the application derive from the ::QActive base class.\n  </li>\n\n  <li><span class=\"tag\">5</span> Applications can also use classes derived directly from the ::QHsm base class to represent \"raw\" state machines that are not active objects, because they don't have event queue and execution thread. Such \"raw\" state machines are typically used as \"Orthogonal Components\".\n  </li>\n\n</ul>\n\n\n@section sm State Machines\n\nThe behavior of each active object in QP-nano is specified by means of a <a href=\"https://www.state-machine.com/doc/concepts#HSM\" target=\"_blank\" class=\"extern\">hierarchical state machine</a> (UML statechart), which is the most effective and elegant technique of describing event-driven behavior. The most important innovation of UML state machines over classical finite state machines (FSMs) is the hierarchical state nesting. The value of state nesting lies in avoiding repetitions, which are inevitable in the traditional \"flat\" FSM formalism and are the main reason for the \"state-transition explosion\" in FSMs. The semantics of state nesting allow substates to define only the differences of behavior from the superstates, thus promoting sharing and reusing behavior.\n\n@htmlonly\n<div class=\"image\">\n<a target=\"_blank\" href=\"https://www.state-machine.com/doc/AN_Crash_Course_in_UML_State_Machines.pdf\"><img border=\"0\" src=\"img/AN_Crash_Course_in_UML_State_Machines.jpg\" title=\"Download PDF\"></a>\n<div class=\"caption\">\nApplication Note: A Crash Course in UML State Machines\n</div>\n</div>\n@endhtmlonly\n\nThe Quantum Leaps Application Note <a class=\"extern\" target=\"_blank\" href=\"https://www.state-machine.com/doc/AN_Crash_Course_in_UML_State_Machines.pdf\"><strong>A Crash Course in UML State Machines</strong></a> introduces the main state machine concepts backed up by examples.\n<div class=\"clear\"></div>\n\n@note\nThe hallmark of the QP-nano implementation of UML state machines is **traceability**, which is direct, precise, and unambiguous mapping of every state machine element to human-readable, portable, MISRA-compliant C code. Preserving the traceability from requirements through design to code is essential for mission-critical systems, such as medical devices or avionic systems.\n\n\n\n@section coding Coding Standard\nThe QP-nano framework has been developed in strict adherence to the documented <a class=\"extern\" target=\"_blank\" href=\"https://www.state-machine.com/doc/AN_QL_Coding_Standard.pdf\"><strong>Quantum Leaps Coding Standard</strong></a>.\n\n@htmlonly\n<div class=\"image\">\n<a target=\"_blank\" href=\"https://www.state-machine.com/doc/AN_QL_Coding_Standard.pdf\"><img border=\"0\" src=\"img/AN_Coding_Standard.jpg \" title=\"Download PDF\"></a>\n<div class=\"caption\">\nApplication Note: Quantum Leaps C/C++ Coding Standard\n</div>\n</div>\n@endhtmlonly\n\n\n\n@section misra MISRA Compliance\n\n<p>The QP-nano framework complies with most of the Motor Industry Software Reliability Association (MISRA) MISRA-C:2004 rules.\n</p>\n\n@htmlonly\n<div class=\"image\">\n<a target=\"_blank\" href=\"https://www.state-machine.com/doc/AN_QP-nano_MISRA.pdf\"><img border=\"0\" src=\"img/AN_MISRA-QPn.jpg\" title=\"Download PDF\"></a>\n<div class=\"caption\">\nApplication Note: QP-nano MISRA-C:2004 Compliance Matrix\n</div>\n</div>\n@endhtmlonly\n\nAll deviations are carefully limited into very specific contexts and are documented with the Application Note: <a class=\"extern\" target=\"_blank\" href=\"https://www.state-machine.com/doc/AN_QP-nano_MISRA.pdf\"><strong>QP-nano MISRA-C:2004 Compliance Matrix</strong></a>.\n\n@note\nMISRA and MISRA C are registered trademarks of MIRA Ltd, held on behalf of the MISRA Consortium.\n\nThe MISRA guidelines place great emphasis on the use of static code analysts tools to check compliance with the MISRA-C language subset. To this end, QP-nano comes with an extensive support for automatic rule checking with @ref lint \"PC-Lint\". The QP frameworks go even beyond MISRA, by complying with the <strong>strict type checking</strong> of PC-Lint.\n\n\n\n@section pc-lint PC-Lint Support\n\nThe QP-nano framework comes with extensive support for automatic rule checking by means of <a class=\"extern\" target=\"_blank\" href=\"http://www.gimpel.com/\">PC-Lint</a>, which is designed not just for proving compliance of the QP-nano framework code, but more importantly, to aid in checking compliance of the application-level code. Any organization engaged in designing safety-related embedded software could benefit from the unprecedented quality infrastructure built around the QP-nano framework.\n\n@sa @ref lint \"Lint Port\"\n\n*/\n\n/*##########################################################################*/\n/*! @dir ../include\n\nPlatform-independent QP-nano API\n\n@note\nThe QP-nano <span class=\"img folder\">include</span> directory needs to be added to the compiler's include path in the applications using QP-nano.\n*/\n\n/*##########################################################################*/\n/*! @dir ../src\n\nPlatform-independent QP-nano source code\n\nFiles from this directory need to be added to the project, to build the QP-nano framework from source code.\n\n@note\nThe QP-nano <span class=\"img folder\">src</span> directory needs to be added to the compiler's include path in the applications that build QP-nano framework from sources (as opposed to using QP as a pre-built library).\n\n*/\n\n/*##########################################################################*/\n/*! @dir ../src/qfn\n\nPlatform-independent implementation of the @ref qepn and @ref qfn components.\n\n@note\nTypically, files in this directory need to be added to the application build, but some QP ports might not need all the files in this directory. For example, a QP port to a 3rd-party RTOS kernel might be using a message queue of the RTOS instead of the native QP event queue, in which case the file qf_actq.c would not be needed and should be excluded from the build.\n\n*/\n\n/*##########################################################################*/\n/*! @dir ../src/qvn\n\nPlatform-independent implementation of the @ref qvn built-in kernel.\n\n@attention\nFiles in this directory need to be included in the QP application build only if the application uses the @ref qvn kernel.\n*/\n\n\n/*##########################################################################*/\n/*! @dir ../src/qkn\n\nPlatform-independent implementation of the @ref qkn built-in kernel.\n\n@attention\nFiles in this directory need to be included in the QP application build only if the application uses the @ref qkn kernel.\n*/\n\n\n"
  },
  {
    "path": "examples/README.url",
    "content": "[InternetShortcut]\nURL=http://www.state-machine.com/qpn/exa.html\nIconFile=http://www.state-machine.com/qp.ico\n\n"
  },
  {
    "path": "examples/arm-cm/README.url",
    "content": "[InternetShortcut]\nURL=http://www.state-machine.com/qpn/exa_arm-cm.html\nIconFile=http://www.state-machine.com/qp.ico"
  },
  {
    "path": "examples/arm-cm/blinky_efm32-slstk3401a/README.txt",
    "content": "About this Example\n==================\nThis directory contains a QP example application for the\nEFM32-SLSTK3401A board (Pearl Gecko Starter Kit). This directory\ncontains portable code that should compile with any C compiler for\nARM Cortex-M.\n\nThe sub-directories contain code and project files, which are specific\nto the particular ARM toolchains, such as ARM (MDK-ARM), GNU, and IAR.\n\nPlease refer to the README files in the sub-directories for specific\ninstructions how to use and customize the example to your needs.\n\n\nSupport Code for EFM32-SLSTK3401A Board\n=======================================\nThe directory qpc\\3rd_party\\efm32pg1b contains the CMSIS-compliant\ndevice code for the EFM32PG1B200F256GM48 MCU. Please see the README.txt\nfile in this folder for more details.\n\n\nWin32-QV Emulation\n==================\nThe sub-directory win32-qv provides the emulation of the example\non Windows GUI (with the cooperative QV scheduler). This sub-directory\ncontains the Makefile for the MinGW toolset and Visual Studio solution\nfile (game-gui.sln) for Visual C++.\n\nThe Win32-QV emulation uses exactly the same code as the embedded board and\ndiffer only in the Board Support Package (bsp.c). This example demonstrates\nthe \"dual targeting\" development approach, where most of the embedded code\nis developed on the desktop machine (Windows), but is intended for a deeply\nembedded target (EFM32-SLSTK3401A here).\n"
  },
  {
    "path": "examples/arm-cm/blinky_efm32-slstk3401a/README.url",
    "content": "[InternetShortcut]\nURL=http://www.state-machine.com/qpn/arm-cm_blinky_ek-tm4c123gxl.html\nIconFile=http://www.state-machine.com/qp.ico\n"
  },
  {
    "path": "examples/arm-cm/blinky_efm32-slstk3401a/blinky.c",
    "content": "/*****************************************************************************\n* Product: Simple Blinky example\n* Last updated for version 5.4.0\n* Last updated on  2015-05-18\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, www.state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"blinky.h\"\n#include \"bsp.h\"\n\n//Q_DEFINE_THIS_FILE\n\n/*..........................................................................*/\ntypedef struct BlinkyTag {  /* the Blinky active object */\n    QActive super;          /* inherit QActive */\n} Blinky;\n\n/* hierarchical state machine ... */\nstatic QState Blinky_initial(Blinky * const me);\nstatic QState Blinky_off    (Blinky * const me);\nstatic QState Blinky_on     (Blinky * const me);\n\n/* Global objects ----------------------------------------------------------*/\nBlinky AO_Blinky;   /* the single instance of the Blinky AO */\n\n/*..........................................................................*/\nvoid Blinky_ctor(void) {\n    Blinky * const me = &AO_Blinky;\n    QActive_ctor(&me->super, Q_STATE_CAST(&Blinky_initial));\n}\n\n/* HSM definition ----------------------------------------------------------*/\nQState Blinky_initial(Blinky * const me) {\n    QActive_armX((QActive *)me, 0U,\n                 BSP_TICKS_PER_SEC/2U, BSP_TICKS_PER_SEC/2U);\n    return Q_TRAN(&Blinky_off);\n}\n/*..........................................................................*/\nQState Blinky_off(Blinky * const me) {\n    QState status;\n    switch (Q_SIG(me)) {\n        case Q_ENTRY_SIG: {\n            BSP_ledOff();\n            status = Q_HANDLED();\n            break;\n        }\n        case Q_TIMEOUT_SIG: {\n            status = Q_TRAN(&Blinky_on);\n            break;\n        }\n        default: {\n            status = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status;\n}\n/*..........................................................................*/\nQState Blinky_on(Blinky * const me) {\n    QState status;\n    switch (Q_SIG(me)) {\n        case Q_ENTRY_SIG: {\n            BSP_ledOn();\n            status = Q_HANDLED();\n            break;\n        }\n        case Q_TIMEOUT_SIG: {\n            status = Q_TRAN(&Blinky_off);\n            break;\n        }\n        default: {\n            status = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status;\n}\n"
  },
  {
    "path": "examples/arm-cm/blinky_efm32-slstk3401a/blinky.h",
    "content": "/*****************************************************************************\n* Product: simple \"Blinky\" example\n* Last updated for version 5.4.0\n* Last updated on  2015-05-18\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, www.state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BLINKY_H\n#define BLINKY_H\n\nenum BlinkySignals {\n    DUMMY_SIG = Q_USER_SIG,\n    MAX_PUB_SIG,          /* the last published signal */\n\n    TIMEOUT_SIG,\n    MAX_SIG               /* the last signal */\n};\n\nvoid Blinky_ctor(void);\n\nextern struct BlinkyTag AO_Blinky;\n\n#endif /* BLINKY_H */\n"
  },
  {
    "path": "examples/arm-cm/blinky_efm32-slstk3401a/bsp.h",
    "content": "/*****************************************************************************\n* Product: Simple Blinky example\n* Last updated for version 5.4.0\n* Last updated on  2015-05-18\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, www.state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BSP_H\n#define BSP_H\n\n#define BSP_TICKS_PER_SEC    100U\n\nvoid BSP_init(void);\nvoid BSP_ledOff(void);\nvoid BSP_ledOn(void);\n\n#endif /* BSP_H */\n"
  },
  {
    "path": "examples/arm-cm/blinky_efm32-slstk3401a/main.c",
    "content": "/*****************************************************************************\n* Product: \"Blinky\" example\n* Last Updated for Version: 5.8.0\n* Date of the Last Update:  2016-04-05\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"     /* QP-nano API */\n#include \"bsp.h\"     /* Board Support Package */\n#include \"blinky.h\"  /* Application interface */\n\n/* Local-scope objects -----------------------------------------------------*/\nstatic QEvt l_blinkyQSto[10]; /* Event queue storage for Blinky */\n\n/* QF_active[] array defines all active object control blocks --------------*/\nQActiveCB const Q_ROM QF_active[] = {\n    { (QActive *)0,           (QEvt *)0,        0U                      },\n    { (QActive *)&AO_Blinky,  l_blinkyQSto,     Q_DIM(l_blinkyQSto)     }\n};\n\n/*..........................................................................*/\nint main(void) {\n    Blinky_ctor(); /* instantiate all Blinky AO */\n\n    QF_init(Q_DIM(QF_active)); /* initialize the QF-nano framework */\n    BSP_init();      /* initialize the Board Support Package */\n\n    return QF_run(); /* transfer control to QF-nano */\n}\n"
  },
  {
    "path": "examples/arm-cm/blinky_efm32-slstk3401a/qk/armclang/README.txt",
    "content": "About this Example\n==================\nThis example demonstrates how to use the uVision IDE together with\nthe MDK-ARM toolchain.\n\nuVision Project File\n====================\nThe MDK-ARM uVision project file provided with this example uses\nrelative paths to the QP framework location (includes, port, and\nlibraries. These relative paths must be modified when the project\nis moved to different relative location.\n\n\nAdjusting Stack and Heap Sizes\n==============================\nThe stack and heap sizes are determined in this project by the\ncommand-line options for the ARM assembler (see the Asm tab in\nthe \"Options for Target\" dialog box in uVision). Specifically,\nyou should define symbols: Stack_Size=xxx Heap_Size=yyy, where\nxxx represents a numerical value of stack size and yyy the\nnumerical value of the heap size (for most embedded projects\nyyy should be 0, as the using the heap is not recommended).\n\n\nStartup Code\n============\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\efm32pg1b\\arm\\startup_efm32pg1b.s\n\nThe file startup_efm32pg1b.s provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n  "
  },
  {
    "path": "examples/arm-cm/blinky_efm32-slstk3401a/qk/armclang/blinky-qk.uvoptx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<ProjectOpt xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_optx.xsd\">\n\n  <SchemaVersion>1.0</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Extensions>\n    <cExt>*.c</cExt>\n    <aExt>*.s*; *.src; *.a*</aExt>\n    <oExt>*.obj; *.o</oExt>\n    <lExt>*.lib</lExt>\n    <tExt>*.txt; *.h; *.inc</tExt>\n    <pExt>*.plm</pExt>\n    <CppX>*.cpp</CppX>\n    <nMigrate>0</nMigrate>\n  </Extensions>\n\n  <DaveTm>\n    <dwLowDateTime>0</dwLowDateTime>\n    <dwHighDateTime>0</dwHighDateTime>\n  </DaveTm>\n\n  <Target>\n    <TargetName>blinky-dbg</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\dbg\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>1</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>3</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>1</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>3</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>Segger\\JL2CM3.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGUARM</Key>\n          <Name>/</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>JL2CM3</Key>\n          <Name>-U440060969 -O207 -S2 -ZTIFSpeedSel5000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00(\"ARM CoreSight SW-DP\") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO7 -FD20000000 -FC8000 -FN1 -FF0GECKOP2.FLM -FS00 -FL040000 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>UL2CM3(-O207 -S0 -C0 -FO7  -FN1 -FC8000 -FD20000000 -FF0GECKOP2 -FL020000 -FS00 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E2006F4 -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Target>\n    <TargetName>blinky-rel</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\rel\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>0</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>3</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>1</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>3</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>Segger\\JL2CM3.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>JL2CM3</Key>\n          <Name>-U440060969 -O207 -S2 -ZTIFSpeedSel5000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00(\"ARM CoreSight SW-DP\") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO7 -FD20000000 -FC8000 -FN1 -FF0GECKOP2.FLM -FS00 -FL020000 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGUARM</Key>\n          <Name>/</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E10259B -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>-O207 -S0 -C0 -FO7  -FN1 -FC8000 -FD20000000 -FF0GECKOP2 -FL020000 -FS00 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM)</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Group>\n    <GroupName>Applicatioin</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>1</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\bsp.c</PathWithFileName>\n      <FilenameWithoutPath>bsp.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>2</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\blinky.c</PathWithFileName>\n      <FilenameWithoutPath>blinky.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>3</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\main.c</PathWithFileName>\n      <FilenameWithoutPath>main.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>4</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\blinky.h</PathWithFileName>\n      <FilenameWithoutPath>blinky.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>5</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\include\\qstamp.c</PathWithFileName>\n      <FilenameWithoutPath>qstamp.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>efm32pg1b</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>6</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_cmu.c</PathWithFileName>\n      <FilenameWithoutPath>em_cmu.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>7</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_emu.c</PathWithFileName>\n      <FilenameWithoutPath>em_emu.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>8</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_gpio.c</PathWithFileName>\n      <FilenameWithoutPath>em_gpio.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>9</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_int.c</PathWithFileName>\n      <FilenameWithoutPath>em_int.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>10</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_rtcc.c</PathWithFileName>\n      <FilenameWithoutPath>em_rtcc.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>11</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_system.c</PathWithFileName>\n      <FilenameWithoutPath>em_system.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>12</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\system_efm32pg1b.c</PathWithFileName>\n      <FilenameWithoutPath>system_efm32pg1b.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>13</FileNumber>\n      <FileType>2</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\arm\\startup_efm32pg1b.s</PathWithFileName>\n      <FilenameWithoutPath>startup_efm32pg1b.s</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>14</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</PathWithFileName>\n      <FilenameWithoutPath>qepn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>15</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</PathWithFileName>\n      <FilenameWithoutPath>qfn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>16</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qkn\\qkn.c</PathWithFileName>\n      <FilenameWithoutPath>qkn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP_port</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>17</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qfn_port.h</PathWithFileName>\n      <FilenameWithoutPath>qfn_port.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>18</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qkn_port.c</PathWithFileName>\n      <FilenameWithoutPath>qkn_port.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n</ProjectOpt>\n"
  },
  {
    "path": "examples/arm-cm/blinky_efm32-slstk3401a/qk/armclang/blinky-qk.uvprojx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<Project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_projx.xsd\">\n\n  <SchemaVersion>2.1</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Targets>\n    <Target>\n      <TargetName>blinky-dbg</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6130001::V6.13.1::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>EFM32PG1B200F256GM48</Device>\n          <Vendor>Silicon Labs</Vendor>\n          <PackID>SiliconLabs.EFM32PG1B_DFP.5.5.0</PackID>\n          <PackURL>https://www.silabs.com/documents/public/cmsis-packs/</PackURL>\n          <Cpu>IRAM(0x20000000,0x00008000) IROM(0x00000000,0x00020000) CPUTYPE(\"Cortex-M4\") FPU2 CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC8000 -FN1 -FF0GECKOP2 -FS00 -FL020000 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:EFM32PG1B200F256GM48$Device\\EFM32PG1B\\Include\\em_device.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:EFM32PG1B200F256GM48$SVD\\EFM32PG1B\\EFM32PG1B200F256GM48.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\dbg\\</OutputDirectory>\n          <OutputName>blinky-qk</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>1</DebugInformation>\n          <BrowseInformation>1</BrowseInformation>\n          <ListingPath>.\\dbg\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>cmd /c \"del .\\dbg\\qstamp.o\"</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\dbg\\blinky-qk.bin .\\dbg\\blinky-qk.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>1</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4096</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3>\"\" ()</Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M4\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>2</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x20000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x20000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>1</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>0</vShortEn>\n            <vShortWch>0</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>EFM32PG1B200F256GM48=1 __FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\efm32pg1b</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile></ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Applicatioin</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>blinky.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\blinky.c</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>blinky.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\blinky.h</FilePath>\n            </File>\n            <File>\n              <FileName>qstamp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\include\\qstamp.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>efm32pg1b</GroupName>\n          <Files>\n            <File>\n              <FileName>em_cmu.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_cmu.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_emu.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_emu.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_gpio.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_gpio.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_int.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_int.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_rtcc.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_rtcc.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_system.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_system.c</FilePath>\n            </File>\n            <File>\n              <FileName>system_efm32pg1b.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\system_efm32pg1b.c</FilePath>\n            </File>\n            <File>\n              <FileName>startup_efm32pg1b.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\arm\\startup_efm32pg1b.s</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qkn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qkn\\qkn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qkn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qkn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n    <Target>\n      <TargetName>blinky-rel</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6130001::V6.13.1::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>EFM32PG1B200F256GM48</Device>\n          <Vendor>Silicon Labs</Vendor>\n          <PackID>SiliconLabs.EFM32PG1B_DFP.5.5.0</PackID>\n          <PackURL>https://www.silabs.com/documents/public/cmsis-packs/</PackURL>\n          <Cpu>IRAM(0x20000000,0x00008000) IROM(0x00000000,0x00020000) CPUTYPE(\"Cortex-M4\") FPU2 CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC8000 -FN1 -FF0GECKOP2 -FS00 -FL020000 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:EFM32PG1B200F256GM48$Device\\EFM32PG1B\\Include\\em_device.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:EFM32PG1B200F256GM48$SVD\\EFM32PG1B\\EFM32PG1B200F256GM48.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\rel\\</OutputDirectory>\n          <OutputName>blinky-qk</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>0</DebugInformation>\n          <BrowseInformation>0</BrowseInformation>\n          <ListingPath>.\\rel\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>cmd /c \"del .\\rel\\qstamp.o\"</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\rel\\blinky-qk.bin .\\rel\\blinky-qk.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>1</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4096</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3>\"\" ()</Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M4\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>2</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x20000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x20000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>1</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>0</vShortEn>\n            <vShortWch>0</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>NDEBUG EFM32PG1B200F256GM48=1 __FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\efm32pg1b</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile>blinky-qk.sct</ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Applicatioin</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>blinky.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\blinky.c</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>blinky.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\blinky.h</FilePath>\n            </File>\n            <File>\n              <FileName>qstamp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\include\\qstamp.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>efm32pg1b</GroupName>\n          <Files>\n            <File>\n              <FileName>em_cmu.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_cmu.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_emu.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_emu.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_gpio.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_gpio.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_int.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_int.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_rtcc.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_rtcc.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_system.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_system.c</FilePath>\n            </File>\n            <File>\n              <FileName>system_efm32pg1b.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\system_efm32pg1b.c</FilePath>\n            </File>\n            <File>\n              <FileName>startup_efm32pg1b.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\arm\\startup_efm32pg1b.s</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qkn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qkn\\qkn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qkn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qkn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n  </Targets>\n\n  <RTE>\n    <apis/>\n    <components/>\n    <files/>\n  </RTE>\n\n</Project>\n"
  },
  {
    "path": "examples/arm-cm/blinky_efm32-slstk3401a/qk/bsp.c",
    "content": "/*****************************************************************************\n* Product: \"Blinky\" on EFM32-SLSTK3401A board, preemptive QK kernel\n* Last Updated for Version: 5.6.5\n* Date of the Last Update:  2016-06-02\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"blinky.h\"\n#include \"bsp.h\"\n\n#include \"em_device.h\"  /* the device specific header (SiLabs) */\n#include \"em_cmu.h\"     /* Clock Management Unit (SiLabs) */\n#include \"em_gpio.h\"    /* GPIO (SiLabs) */\n/* add other drivers if necessary... */\n\n//Q_DEFINE_THIS_FILE\n\n/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n* Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n* DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n*/\nenum KernelUnawareISRs { /* see NOTE00 */\n    /* ... */\n    MAX_KERNEL_UNAWARE_CMSIS_PRI  /* keep always last */\n};\n/* \"kernel-unaware\" interrupts can't overlap \"kernel-aware\" interrupts */\nQ_ASSERT_COMPILE(MAX_KERNEL_UNAWARE_CMSIS_PRI <= QF_AWARE_ISR_CMSIS_PRI);\n\nenum KernelAwareISRs {\n    SYSTICK_PRIO = QF_AWARE_ISR_CMSIS_PRI, /* see NOTE00 */\n    /* ... */\n    MAX_KERNEL_AWARE_CMSIS_PRI /* keep always last */\n};\n/* \"kernel-aware\" interrupts should not overlap the PendSV priority */\nQ_ASSERT_COMPILE(MAX_KERNEL_AWARE_CMSIS_PRI <= (0xFF >>(8-__NVIC_PRIO_BITS)));\n\n/* ISRs defined in this BSP ------------------------------------------------*/\nvoid SysTick_Handler(void);\n\n/* Local-scope objects -----------------------------------------------------*/\n#define LED_PORT    gpioPortF\n#define LED0_PIN    4\n#define LED1_PIN    5\n\n#define PB_PORT     gpioPortF\n#define PB0_PIN     6\n#define PB1_PIN     7\n\n\n/* ISRs used in this project ===============================================*/\nvoid SysTick_Handler(void) {\n    QK_ISR_ENTRY();  /* inform QK about entering an ISR */\n    QF_tickXISR(0U); /* process time events for rate 0 */\n    QK_ISR_EXIT();   /* inform QK about exiting an ISR */\n}\n\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    /* NOTE: SystemInit() already called from the startup code\n    *  but SystemCoreClock needs to be updated\n    */\n    SystemCoreClockUpdate();\n\n    /* configure the FPU usage by choosing one of the options... */\n#if 1\n    /* OPTION 1:\n    * Use the automatic FPU state preservation and the FPU lazy stacking.\n    *\n    * NOTE:\n    * Use the following setting when FPU is used in more than one task or\n    * in any ISRs. This setting is the safest and recommended, but requires\n    * extra stack space and CPU cycles.\n    */\n    FPU->FPCCR |= (1U << FPU_FPCCR_ASPEN_Pos) | (1U << FPU_FPCCR_LSPEN_Pos);\n#else\n    /* OPTION 2:\n    * Do NOT to use the automatic FPU state preservation and\n    * do NOT to use the FPU lazy stacking.\n    *\n    * NOTE:\n    * Use the following setting when FPU is used in ONE task only and not\n    * in any ISR. This setting is very efficient, but if more than one task\n    * (or ISR) start using the FPU, this can lead to corruption of the\n    * FPU registers. This option should be used with CAUTION.\n    */\n    FPU->FPCCR &= ~((1U << FPU_FPCCR_ASPEN_Pos)\n                   | (1U << FPU_FPCCR_LSPEN_Pos));\n#endif\n\n    /* enable clock for to the peripherals used by this application... */\n    CMU_ClockEnable(cmuClock_HFPER, true);\n    CMU_ClockEnable(cmuClock_GPIO, true);\n    CMU_ClockEnable(cmuClock_HFPER, true);\n    CMU_ClockEnable(cmuClock_GPIO, true);\n\n    /* configure the LEDs */\n    GPIO_PinModeSet(LED_PORT, LED0_PIN, gpioModePushPull, 0);\n    GPIO_PinModeSet(LED_PORT, LED1_PIN, gpioModePushPull, 0);\n    GPIO_PinOutClear(LED_PORT, LED0_PIN);\n    GPIO_PinOutClear(LED_PORT, LED1_PIN);\n\n    /* configure the Buttons */\n    GPIO_PinModeSet(PB_PORT, PB0_PIN, gpioModeInputPull, 1);\n    GPIO_PinModeSet(PB_PORT, PB1_PIN, gpioModeInputPull, 1);\n}\n/*..........................................................................*/\nvoid BSP_ledOff(void) {\n    //GPIO_PinOutClear(LED_PORT, LED0_PIN);\n    GPIO->P[LED_PORT].DOUT &= ~(1U << LED0_PIN);\n}\n/*..........................................................................*/\nvoid BSP_ledOn(void) {\n    /* exercise the FPU with some floating point computations */\n    float volatile x = 3.1415926F;\n    x = x + 2.7182818F;\n\n    //GPIO_PinOutSet(LED0_PORT, LED0_PIN);\n    GPIO->P[LED_PORT].DOUT |= (1U << LED0_PIN);\n}\n\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    /* set up the SysTick timer to fire at BSP_TICKS_PER_SEC rate */\n    SysTick_Config(SystemCoreClock / BSP_TICKS_PER_SEC);\n\n    /* assing all priority bits for preemption-prio. and none to sub-prio. */\n    NVIC_SetPriorityGrouping(0U);\n\n    /* set priorities of ALL ISRs used in the system, see NOTE00\n    *\n    * !!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n    * Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n    * DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n    */\n    NVIC_SetPriority(SysTick_IRQn,   SYSTICK_PRIO);\n    /* ... */\n\n    /* enable IRQs... */\n}\n/*..........................................................................*/\nvoid QK_onIdle(void) {\n    /* toggle LED1 on and then off, see NOTE01 */\n    QF_INT_DISABLE();\n    GPIO->P[LED_PORT].DOUT |=  (1U << LED1_PIN);\n    GPIO->P[LED_PORT].DOUT &= ~(1U << LED1_PIN);\n    QF_INT_ENABLE();\n\n#ifdef NDEBUG\n    /* Put the CPU and peripherals to the low-power mode.\n    * you might need to customize the clock management for your application,\n    * see the datasheet for your particular Cortex-M3 MCU.\n    */\n    __WFI(); /* Wait-For-Interrupt */\n#endif\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const module, int loc) {\n    /*\n    * NOTE: add here your application-specific error handling\n    */\n    (void)module;\n    (void)loc;\n\n#ifndef NDEBUG\n    /* light up both LEDs */\n    GPIO->P[LED_PORT].DOUT |= ((1U << LED0_PIN) | (1U << LED1_PIN));\n    /* for debugging, hang on in an endless loop until PB1 is pressed... */\n    while ((GPIO->P[PB_PORT].DIN & (1U << PB1_PIN)) != 0) {\n    }\n#endif\n\n    NVIC_SystemReset();\n}\n\n/*****************************************************************************\n* NOTE00:\n* The QF_AWARE_ISR_CMSIS_PRI constant from the QF port specifies the highest\n* ISR priority that is disabled by the QF framework. The value is suitable\n* for the NVIC_SetPriority() CMSIS function.\n*\n* Only ISRs prioritized at or below the QF_AWARE_ISR_CMSIS_PRI level (i.e.,\n* with the numerical values of priorities equal or higher than\n* QF_AWARE_ISR_CMSIS_PRI) are allowed to call any QF services. These ISRs\n* are \"QF-aware\".\n*\n* Conversely, any ISRs prioritized above the QF_AWARE_ISR_CMSIS_PRI priority\n* level (i.e., with the numerical values of priorities less than\n* QF_AWARE_ISR_CMSIS_PRI) are never disabled and are not aware of the kernel.\n* Such \"QF-unaware\" ISRs cannot call any QF services. The only mechanism\n* by which a \"QF-unaware\" ISR can communicate with the QF framework is by\n* triggering a \"QF-aware\" ISR, which can post/publish events.\n*\n* NOTE01:\n* One of the LEDs is used to visualize the idle loop activity. The brightness\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n"
  },
  {
    "path": "examples/arm-cm/blinky_efm32-slstk3401a/qk/gnu/Makefile",
    "content": "##############################################################################\n# Product: Makefile for QP-nano on EMF32-SLSTK3401A, QK-nano kernel, GNU-ARM\n# Last Updated for Version: 6.5.0\n# Date of the Last Update:  2019-04-15\n#\n#                    Q u a n t u m  L e a P s\n#                    ------------------------\n#                    Modern Embedded Software\n#\n# Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# https://www.state-machine.com\n# mailto:info@state-machine.com\n##############################################################################\n# examples of invoking this Makefile:\n# building configurations: Debug (default), Release, and Spy\n# make\n# make CONF=rel\n#\n# cleaning configurations: Debug (default), Release, and Spy\n# make clean\n# make CONF=rel clean\n#\n# NOTE:\n# To use this Makefile on Windows, you will need the GNU make utility, which\n# is included in the Qtools collection for Windows, see:\n#    http://sourceforge.net/projects/qpc/files/Qtools/\n#\n\n#-----------------------------------------------------------------------------\n# project name\n#\nPROJECT     := blinky-qk\n\n#-----------------------------------------------------------------------------\n# project directories\n#\n\n# location of the QP-nano framework (if not provided in an environemnt var.)\nifeq ($(QPN),)\nQPN := ../../../../..\nendif\n\n# QP port used in this project\nQP_PORT_DIR := $(QPN)/ports/arm-cm/qk/gnu\n\n# list of all source directories used by this project\nVPATH = \\\n\t.. \\\n\t../.. \\\n\t$(QPN)/src/qfn \\\n\t$(QPN)/src/qkn \\\n\t$(QP_PORT_DIR) \\\n\t$(QPN)/3rd_party/efm32pg1b \\\n\t$(QPN)/3rd_party/efm32pg1b/gnu\n\n# list of all include directories needed by this project\nINCLUDES  = \\\n\t-I../.. \\\n\t-I$(QPN)/include \\\n\t-I$(QP_PORT_DIR) \\\n\t-I$(QPN)/3rd_party/CMSIS/Include \\\n\t-I$(QPN)/3rd_party/efm32pg1b\n\n#-----------------------------------------------------------------------------\n# files\n#\n\n# assembler source files\nASM_SRCS :=\n\n# C source files\nC_SRCS := \\\n\tblinky.c \\\n\tbsp.c \\\n\tmain.c \\\n\tstartup_efm32pg1b.c \\\n\tsystem_efm32pg1b.c \\\n\tem_cmu.c \\\n\tem_emu.c \\\n\tem_gpio.c\n\n# C++ source files\nCPP_SRCS :=\n\nOUTPUT    := $(PROJECT)\nLD_SCRIPT := $(PROJECT).ld\n\nQP_SRCS := \\\n\tqepn.c \\\n\tqfn.c \\\n\tqkn.c \\\n\tqkn_port.c\n\nQP_ASMS :=\n\nLIB_DIRS  :=\nLIBS      :=\n\n# defines\nDEFINES   := -DEFM32PG1B200F256GM48=1\n\n# ARM CPU, ARCH, FPU, and Float-ABI types...\n# ARM_CPU:   [cortex-m0 | cortex-m0plus | cortex-m1 | cortex-m3 | cortex-m4]\n# ARM_ARCH:  [6 | 7] (NOTE: must match ARM_CPU!)\n# ARM_FPU:   [ | vfp]\n# FLOAT_ABI: [ | soft | softfp | hard]\n#\nARM_CPU   := -mcpu=cortex-m4\nARM_ARCH  := 7   # NOTE: must match the ARM_CPU!\nARM_FPU   := -mfpu=vfp\nFLOAT_ABI := -mfloat-abi=softfp\n\n#-----------------------------------------------------------------------------\n# GNU-ARM toolset (NOTE: You need to adjust to your machine)\n# see https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads\n#\nifeq ($(GNU_ARM),)\nGNU_ARM := $(QTOOLS)/gnu_arm-none-eabi\nendif\n\n# make sure that the GNU-ARM toolset exists...\nifeq (\"$(wildcard $(GNU_ARM))\",\"\")\n$(error GNU_ARM toolset not found. Please adjust the Makefile)\nendif\n\nCC    := $(GNU_ARM)/bin/arm-none-eabi-gcc\nCPP   := $(GNU_ARM)/bin/arm-none-eabi-g++\nAS    := $(GNU_ARM)/bin/arm-none-eabi-as\nLINK  := $(GNU_ARM)/bin/arm-none-eabi-g++\nBIN   := $(GNU_ARM)/bin/arm-none-eabi-objcopy\n\n\n##############################################################################\n# Typically, you should not need to change anything below this line\n\n# basic utilities (included in Qtools for Windows), see:\n#    http://sourceforge.net/projects/qpc/files/Qtools\n\nMKDIR := mkdir\nRM    := rm\n\n#-----------------------------------------------------------------------------\n# build options for various configurations for ARM Cortex-M\n#\n\n# combine all the soruces...\nC_SRCS += $(QP_SRCS)\nASM_SRCS += $(QP_ASMS)\n\nifeq (rel, $(CONF)) # Release configuration ..................................\n\nBIN_DIR := rel\n\nASFLAGS = $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O1 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nCPPFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O1 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nelse # default Debug configuration ..........................................\n\nBIN_DIR := dbg\n\nASFLAGS = -g $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O $(INCLUDES) $(DEFINES)\n\nCPPFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O $(INCLUDES) $(DEFINES)\n\nendif # ......................................................................\n\n\nLINKFLAGS = -T$(LD_SCRIPT) $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb \\\n\t-specs=nosys.specs -specs=nano.specs \\\n\t-Wl,-Map,$(BIN_DIR)/$(OUTPUT).map,--cref,--gc-sections $(LIB_DIRS)\n\n\nASM_OBJS     := $(patsubst %.s,%.o,  $(notdir $(ASM_SRCS)))\nC_OBJS       := $(patsubst %.c,%.o,  $(notdir $(C_SRCS)))\nCPP_OBJS     := $(patsubst %.cpp,%.o,$(notdir $(CPP_SRCS)))\n\nTARGET_BIN   := $(BIN_DIR)/$(OUTPUT).bin\nTARGET_ELF   := $(BIN_DIR)/$(OUTPUT).elf\nASM_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(ASM_OBJS))\nC_OBJS_EXT   := $(addprefix $(BIN_DIR)/, $(C_OBJS))\nC_DEPS_EXT   := $(patsubst %.o, %.d, $(C_OBJS_EXT))\nCPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))\nCPP_DEPS_EXT := $(patsubst %.o, %.d, $(CPP_OBJS_EXT))\n\n# create $(BIN_DIR) if it does not exist\nifeq (\"$(wildcard $(BIN_DIR))\",\"\")\n$(shell $(MKDIR) $(BIN_DIR))\nendif\n\n#-----------------------------------------------------------------------------\n# rules\n#\n\nall: $(TARGET_BIN)\n#all: $(TARGET_ELF)\n\n$(TARGET_BIN): $(TARGET_ELF)\n\t$(BIN) -O binary $< $@\n\n$(TARGET_ELF) : $(ASM_OBJS_EXT) $(C_OBJS_EXT) $(CPP_OBJS_EXT)\n\t$(CC) $(CFLAGS) $(QPN)/include/qstamp.c -o $(BIN_DIR)/qstamp.o\n\t$(LINK) $(LINKFLAGS) -o $@ $^ $(BIN_DIR)/qstamp.o $(LIBS)\n\n$(BIN_DIR)/%.d : %.c\n\t$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@\n\n$(BIN_DIR)/%.d : %.cpp\n\t$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@\n\n$(BIN_DIR)/%.o : %.s\n\t$(AS) $(ASFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.c\n\t$(CC) $(CFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.cpp\n\t$(CPP) $(CPPFLAGS) $< -o $@\n\n# include dependency files only if our goal depends on their existence\nifneq ($(MAKECMDGOALS),clean)\n  ifneq ($(MAKECMDGOALS),show)\n-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)\n  endif\nendif\n\n\n.PHONY : clean\nclean:\n\t-$(RM) $(BIN_DIR)/*.o \\\n\t$(BIN_DIR)/*.d \\\n\t$(BIN_DIR)/*.bin \\\n\t$(BIN_DIR)/*.elf \\\n\t$(BIN_DIR)/*.map\n\t\nshow:\n\t@echo PROJECT = $(PROJECT)\n\t@echo CONF = $(CONF)\n\t@echo DEFINES = $(DEFINES)\n\t@echo ASM_FPU = $(ASM_FPU)\n\t@echo ASM_SRCS = $(ASM_SRCS)\n\t@echo C_SRCS = $(C_SRCS)\n\t@echo CPP_SRCS = $(CPP_SRCS)\n\t@echo ASM_OBJS_EXT = $(ASM_OBJS_EXT)\n\t@echo C_OBJS_EXT = $(C_OBJS_EXT)\n\t@echo C_DEPS_EXT = $(C_DEPS_EXT)\n\t@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)\n\t@echo TARGET_ELF = $(TARGET_ELF)\n"
  },
  {
    "path": "examples/arm-cm/blinky_efm32-slstk3401a/qk/gnu/README.txt",
    "content": "About this Example\n==================\nThis example can be built from the command prompt with the provided\nMakefile. The example can also be imported as a Makefile-based\nproject into Eclipse-based IDEs.\n\n\nThe Makefile\n============\nThe provided Makefile should be easy to adapt for your own projects.\nIt contains two build configurations: Debug (default) and Release.\n\nAlso, the Makefile has been specifically designed to work as an external\nMakefile with the Eclipse CDT.\n\nThe various build configurations are built as follows:\n\nmake\nmake CONF=rel\nmake clean\nmake CONF=rel clean\n\n***\nNOTE:\nThe installation folder of the GNU-ARM toolset on YOUR machine needs\nto be adjusted in the provided Makefile, by editing the symbol: GNU_ARM.\nAs described in the comment for this symbol, the GNU-ARM toolset is taken\nfrom: http://gnutoolchains.com/arm-eabi\n\nIt is highly recommened to use the same GNU-ARM distribution, especially\nfor ARM Cortex-M4F projects, due to the support for the hardware FPU\n(float-abi=hard).\n***\n\n\nAdjusting Stack and Heap Sizes\n==============================\nThe stack and heap sizes are determined in this project by the GCC linker\nscript (.ld file), which provides a template of the recommended GCC linker\nscript for QP applications.\n\n\nStartup Code\n============\nThe startup code for the EFM32PG1B200F256GM48 MCU used in this project\nis located in the \"3rd_party\" folder in the following location:\n\nqpc\\3rd_party\\efm32pg1b\\gnu\\startup_efm32pg1b.c\n\nThe file startup_efm32pg1b.c provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n"
  },
  {
    "path": "examples/arm-cm/blinky_efm32-slstk3401a/qk/gnu/blinky-qk.ld",
    "content": "/*****************************************************************************\n* Product: Linker script for EFM32-SLSTK3401A, GNU-ARM linker\n* Last Updated for Version: 5.9.8\n* Date of the Last Update:  2017-09-13\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <http://www.gnu.org/licenses/>.\n*\n* Contact information:\n* http://www.state-machine.com\n* mailto:info@state-machine.com\n*****************************************************************************/\nOUTPUT_FORMAT(\"elf32-littlearm\", \"elf32-bigarm\", \"elf32-littlearm\")\nOUTPUT_ARCH(arm)\nENTRY(Reset_Handler) /* entry Point */\n\nMEMORY { /* memory map of Pearl Gecko EFM32PG1B200F256GM48 */\n    ROM (rx)  : ORIGIN = 0x00000000, LENGTH = 256K\n    RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K\n}\n\n/* The size of the stack used by the application. NOTE: you need to adjust  */\nSTACK_SIZE = 1024;\n\n/* The size of the heap used by the application. NOTE: you need to adjust   */\nHEAP_SIZE = 0;\n\nSECTIONS {\n\n    .isr_vector : {        /* the vector table goes FIRST into ROM */\n        KEEP(*(.isr_vector)) /* vector table */\n        . = ALIGN(4);\n    } >ROM\n\n    .text : {              /* code and constants */\n        . = ALIGN(4);\n        *(.text)           /* .text sections (code) */\n        *(.text*)          /* .text* sections (code) */\n        *(.rodata)         /* .rodata sections (constants, strings, etc.) */\n        *(.rodata*)        /* .rodata* sections (constants, strings, etc.) */\n\n        KEEP (*(.init))\n        KEEP (*(.fini))\n\n        . = ALIGN(4);\n    } >ROM\n\n    .preinit_array : {\n        PROVIDE_HIDDEN (__preinit_array_start = .);\n        KEEP (*(.preinit_array*))\n        PROVIDE_HIDDEN (__preinit_array_end = .);\n    } >ROM\n\n    .init_array : {\n        PROVIDE_HIDDEN (__init_array_start = .);\n        KEEP (*(SORT(.init_array.*)))\n        KEEP (*(.init_array*))\n        PROVIDE_HIDDEN (__init_array_end = .);\n    } >ROM\n\n    .fini_array : {\n        PROVIDE_HIDDEN (__fini_array_start = .);\n        KEEP (*(.fini_array*))\n        KEEP (*(SORT(.fini_array.*)))\n        PROVIDE_HIDDEN (__fini_array_end = .);\n    } >ROM\n\n    _etext = .;            /* global symbols at end of code */\n\n    .stack : {\n        __stack_start__ = .;\n        . = . + STACK_SIZE;\n        . = ALIGN(4);\n        __stack_end__ = .;\n    } >RAM\n\n    .data :  AT (_etext) {\n        __data_load = LOADADDR (.data);\n        __data_start = .;\n        *(.data)           /* .data sections */\n        *(.data*)          /* .data* sections */\n        . = ALIGN(4);\n        __data_end__ = .;\n        _edata = __data_end__;\n    } >RAM\n\n    .bss : {\n        __bss_start__ = .;\n        *(.bss)\n        *(.bss*)\n        *(COMMON)\n        . = ALIGN(4);\n        _ebss = .;         /* define a global symbol at bss end */\n        __bss_end__ = .;\n    } >RAM\n\n    __exidx_start = .;\n    .ARM.exidx   : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } >RAM\n    __exidx_end = .;\n\n    PROVIDE ( end = _ebss );\n    PROVIDE ( _end = _ebss );\n    PROVIDE ( __end__ = _ebss );\n\n    .heap : {\n        __heap_start__ = .;\n        . = . + HEAP_SIZE;\n        . = ALIGN(4);\n        __heap_end__ = .;\n    } >RAM\n\n    /* Remove information from the standard libraries */\n    /DISCARD/ : {\n        libc.a ( * )\n        libm.a ( * )\n        libgcc.a ( * )\n    }\n}\n"
  },
  {
    "path": "examples/arm-cm/blinky_efm32-slstk3401a/qk/gnu/flash.bat",
    "content": "::============================================================================\n:: Batch file to program the flash of EFM32-SLSTK3401A board\n:: \n:: NOTE: requires the J-Link commander (JLink.exe) from SEGGER, see:\n:: https://www.segger.com/j-link-commander.html\n:: \nsetlocal\n\n@echo off\n@echo Load a given binary file to the flash of EFM32-SLSTK3401A \n@echo usage:   flash bin-file\n@echo example: flash dbg\\blinky-qk.bin\n\n::----------------------------------------------------------------------------\n:: NOTE: Adjust the following symbol to the location of the\n:: JLink utility on your machine\n::\nif [%JLINK%] EQU [] set JLINK=%QTOOLS%\\..\\JLink\nif not exist \"%JLINK%\\JLink.exe\" (\n    @echo The JLink tool not found. Please adjust flash.bat \n    @goto end\n)\n\nif [\"%~1\"]==[\"\"] (\n    @echo The binary file missing\n    @goto end\n)\nif not exist %~s1 (\n    @echo The binary file '%1' does not exist\n    @goto end\n)\n\n:: generate the Jlink command file depending on the first parameter %1\n@echo si 1 >flash.jlink\n@echo speed 4000 >>flash.jlink\n@echo r >>flash.jlink\n@echo h >>flash.jlink\n@echo loadbin %1, 0 >>flash.jlink\n@echo exit >>flash.jlink\n\n@echo on\n%JLINK%\\JLink.exe -device EFM32PG1B200F256GM48 flash.jlink\n@echo off\n\n@del flash.jlink\n\n:end\n\nendlocal"
  },
  {
    "path": "examples/arm-cm/blinky_efm32-slstk3401a/qk/iar/README.txt",
    "content": "About this Example\n==================\nThis example demonstrates how to use the IAR EWARM IDE to build\na QP application.\n\n\nIAR Project File\n----------------\nThe IAR EWARM project file provided with this example uses relative paths\nto the QP/C framework location (includes, port, and libraries. These\nrelative paths must be modified when the project is moved to different\nrelative location.\n\n\nStack Size and Heap Size\n------------------------\nIn this project, the size of the C stack and heap are determined in\nthe linker script blinky-qk.icf (see the next section).\n\n\nLinker Script\n-------------\nThe IAR linker script provides a template of the recommended linker script\nfor QP applications. This file needs to be customized to set the\napplication-specific sizes of the Stack and Heap. This file can be edited\nfrom the IAR EWARM IDE via the Project Options/Linker settings.\n\n\nStartup Code\n============\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\efm32pg1b\\iar\\startup_efm32pg1b.s\n\nThe file startup_efm32pg1b.s provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n"
  },
  {
    "path": "examples/arm-cm/blinky_efm32-slstk3401a/qk/iar/blinky-qk.ewd",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project>\n    <fileVersion>3</fileVersion>\n    <configuration>\n        <name>Debug</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>1</debug>\n        <settings>\n            <name>C-SPY</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCVariant</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>MemOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MemFile</name>\n                    <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\SiliconLaboratories\\EFM32PG1B200F256GM48.ddf</state>\n                </option>\n                <option>\n                    <name>RunToEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RunToName</name>\n                    <state>main</state>\n                </option>\n                <option>\n                    <name>CExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDDFArgumentProducer</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadSuppressDownload</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDownloadVerifyAll</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCProductVersion</name>\n                    <state>7.30.4.8186</state>\n                </option>\n                <option>\n                    <name>OCDynDriverList</name>\n                    <state>JLINK_ID</state>\n                </option>\n                <option>\n                    <name>OCLastSavedByProductVersion</name>\n                    <state>8.11.1.13270</state>\n                </option>\n                <option>\n                    <name>UseFlashLoader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CLowLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CDevice</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>FlashLoadersV3</name>\n                    <state>$TOOLKIT_DIR$\\config\\flashloader\\SiliconLaboratories\\FlashGECKOP2.board</state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OverrideDefFlashBoard</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesOffset1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesUse1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDeviceConfigMacroFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDebuggerExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAllMTBOptions</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreNrOfCores</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreMaster</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCMulticorePort</name>\n                    <state>53461</state>\n                </option>\n                <option>\n                    <name>OCMulticoreWorkspace</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveProject</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveConfiguration</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadExtraImage</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAttachSlave</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ARMSIM_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCSimDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCSimEnablePSP</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspOverrideConfig</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspConfigFile</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CADI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCadiMemory</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Fast Model</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCADILogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCADILogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CMSISDAP_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CMSISDAPResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>CMSISDAPDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CMSISDAPProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>GDBSERVER_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJTagBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IJET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>8</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>IjetPowerFromProbe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPowerRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetProtocolRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPin</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPrescalerList</name>\n                    <version>1</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IjetProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPreferETB</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetTraceSettingsList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetTraceSizeList</name>\n                    <version>0</version>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>FlashBoardPathSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>JLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>16</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>JLinkSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJLinkHWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>JLinkInitialSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCDoJlinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkCommRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>CCJLinkSpeedRadioV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCUSBDevice</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceRadio</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkResetList</name>\n                    <version>6</version>\n                    <state>7</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCTcpIpAlt</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTcpIpSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSourceDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkDeviceName</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>LMIFTDI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>2</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>LmiftdiSpeed</name>\n                    <state>500</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceRadio</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>PEMICRO_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>3</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJPEMicroShowSettings</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>STLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCSTLinkCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDAPNumber</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkResetList</name>\n                    <version>3</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDebugAccessPortRadio</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>THIRDPARTY_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CThirdPartyDriverDll</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>TIFET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVccTypeDefault</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVoltage</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CCMSPFetVCCDefault</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetSettlingtime</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioJtagSpeedType</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetConnection</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetUsbComPort</name>\n                    <state>Automatic</state>\n                </option>\n                <option>\n                    <name>CCMSPFetAllowAccessToBSL</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioEraseFlash</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>XDS100_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>6</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCXds100CatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TIPackageOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TIPackage</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>BoardFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCXds100BreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100DoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockEdit</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCXds100HWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100JtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ProbeList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPortRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPort</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <debuggerPlugins>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n                <loadFlag>1</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n        </debuggerPlugins>\n    </configuration>\n    <configuration>\n        <name>Release</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>0</debug>\n        <settings>\n            <name>C-SPY</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCVariant</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>MemOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MemFile</name>\n                    <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\SiliconLaboratories\\EFM32PG1B200F256GM48.ddf</state>\n                </option>\n                <option>\n                    <name>RunToEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RunToName</name>\n                    <state>main</state>\n                </option>\n                <option>\n                    <name>CExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDDFArgumentProducer</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadSuppressDownload</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDownloadVerifyAll</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCProductVersion</name>\n                    <state>7.30.4.8186</state>\n                </option>\n                <option>\n                    <name>OCDynDriverList</name>\n                    <state>JLINK_ID</state>\n                </option>\n                <option>\n                    <name>OCLastSavedByProductVersion</name>\n                    <state>7.60.1.11206</state>\n                </option>\n                <option>\n                    <name>UseFlashLoader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CLowLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CDevice</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>FlashLoadersV3</name>\n                    <state>$TOOLKIT_DIR$\\config\\flashloader\\SiliconLaboratories\\FlashGECKOP2.board</state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OverrideDefFlashBoard</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesOffset1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesUse1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDeviceConfigMacroFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDebuggerExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAllMTBOptions</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreNrOfCores</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreMaster</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCMulticorePort</name>\n                    <state>53461</state>\n                </option>\n                <option>\n                    <name>OCMulticoreWorkspace</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveProject</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveConfiguration</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadExtraImage</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAttachSlave</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ARMSIM_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCSimDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCSimEnablePSP</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspOverrideConfig</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspConfigFile</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CADI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCadiMemory</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Fast Model</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCADILogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCADILogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CMSISDAP_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CMSISDAPResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>CMSISDAPDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CMSISDAPProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>GDBSERVER_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJTagBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IJET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>8</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>IjetPowerFromProbe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPowerRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetProtocolRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPin</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPrescalerList</name>\n                    <version>1</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IjetProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPreferETB</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetTraceSettingsList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetTraceSizeList</name>\n                    <version>0</version>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>FlashBoardPathSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>JLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>16</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>JLinkSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJLinkHWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>JLinkInitialSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCDoJlinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkCommRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>CCJLinkSpeedRadioV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCUSBDevice</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceRadio</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkResetList</name>\n                    <version>6</version>\n                    <state>7</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCTcpIpAlt</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTcpIpSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSourceDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkDeviceName</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>LMIFTDI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>2</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>LmiftdiSpeed</name>\n                    <state>500</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceRadio</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>PEMICRO_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>3</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJPEMicroShowSettings</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>STLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCSTLinkCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDAPNumber</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkResetList</name>\n                    <version>3</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDebugAccessPortRadio</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>THIRDPARTY_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CThirdPartyDriverDll</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>TIFET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVccTypeDefault</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVoltage</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CCMSPFetVCCDefault</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetSettlingtime</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioJtagSpeedType</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetConnection</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetUsbComPort</name>\n                    <state>Automatic</state>\n                </option>\n                <option>\n                    <name>CCMSPFetAllowAccessToBSL</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioEraseFlash</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>XDS100_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>6</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCXds100CatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TIPackageOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TIPackage</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>BoardFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCXds100BreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100DoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockEdit</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCXds100HWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100JtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ProbeList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPortRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPort</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <debuggerPlugins>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n                <loadFlag>1</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n        </debuggerPlugins>\n    </configuration>\n</project>\n"
  },
  {
    "path": "examples/arm-cm/blinky_efm32-slstk3401a/qk/iar/blinky-qk.ewp",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project>\n    <fileVersion>3</fileVersion>\n    <configuration>\n        <name>Debug</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>1</debug>\n        <settings>\n            <name>General</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>ExePath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>ObjPath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>ListPath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>GEndianMode</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>Input description</name>\n                    <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n                </option>\n                <option>\n                    <name>Output description</name>\n                    <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n                </option>\n                <option>\n                    <name>GOutputBinary</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCoreOrChip</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelect</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelectSlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RTDescription</name>\n                    <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n                </option>\n                <option>\n                    <name>OGProductVersion</name>\n                    <state>5.11.0.50579</state>\n                </option>\n                <option>\n                    <name>OGLastSavedByProductVersion</name>\n                    <state>8.11.1.13270</state>\n                </option>\n                <option>\n                    <name>GeneralEnableMisra</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVerbose</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGChipSelectEditMenu</name>\n                    <state>EFM32PG1B200F256GM48\tSiliconLaboratories EFM32PG1B200F256GM48</state>\n                </option>\n                <option>\n                    <name>GenLowLevelInterface</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GEndianModeBE</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OGBufferedTerminalOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenStdoutInterface</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>RTConfigPath2</name>\n                    <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n                </option>\n                <option>\n                    <name>GBECoreSlave</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>OGUseCmsis</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsisDspLib</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibThreads</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CoreVariant</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>GFPUDeviceSlave</name>\n                    <state>EFM32PG1B200F256GM48\tSiliconLaboratories EFM32PG1B200F256GM48</state>\n                </option>\n                <option>\n                    <name>FPU2</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>NrRegs</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>NEON</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUCoreSlave2</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>OGCMSISPackSelectDevice</name>\n                </option>\n                <option>\n                    <name>OgLibHeap</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGLibAdditionalLocale</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGPrintfVariant</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>OGPrintfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGScanfVariant</name>\n                    <version>0</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OGScanfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenLocaleTags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>GenLocaleDisplayOnly</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ICCARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>34</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCOptimizationNoSizeConstraints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDefines</name>\n                    <state>EFM32PG1B200F256GM48</state>\n                </option>\n                <option>\n                    <name>CCPreprocFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocComments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMnemonics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMessages</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDiagSuppress</name>\n                    <state>Pa050</state>\n                </option>\n                <option>\n                    <name>CCDiagRemark</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagWarning</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagError</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCAllowList</name>\n                    <version>1</version>\n                    <state>00000000</state>\n                </option>\n                <option>\n                    <name>CCDebugInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IEndianMode</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCLangConformance</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSignedPlainChar</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRequirePrototypes</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCDiagWarnAreErr</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCompilerRuntimeInfo</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>CCLibConfigHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>PreInclude</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CompilerMisraOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIncludePath2</name>\n                    <state>$PROJ_DIR$\\..</state>\n                    <state>$PROJ_DIR$\\..\\..</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\iar</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b</state>\n                </option>\n                <option>\n                    <name>CCStdIncCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCodeSection</name>\n                    <state>.text</state>\n                </option>\n                <option>\n                    <name>IProcessorMode2</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptStrategy</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevelSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>CCPosIndRopi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndRwpi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndNoDynInit</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccLang</name>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>IccCDialect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccAllowVLA</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccStaticDestr</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCppInlineSemantics</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccFloatSemantics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCOptStrategySlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCGuardCalls</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccExceptions2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccRTTI2</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>AARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>10</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>AObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>ACaseSensitivity</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacroChars</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnWhat</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnOne</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>ADebug</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AltRegisterNames</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ADefines</name>\n                    <state>ewarm</state>\n                </option>\n                <option>\n                    <name>AList</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AListHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AListing</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Includes</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacDefs</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacExps</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacExec</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OnlyAssed</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MultiLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLengthCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLength</name>\n                    <state>80</state>\n                </option>\n                <option>\n                    <name>TabSpacing</name>\n                    <state>8</state>\n                </option>\n                <option>\n                    <name>AXRef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDefines</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefInternal</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDual</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AOutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsEdit</name>\n                    <state>100</state>\n                </option>\n                <option>\n                    <name>AIgnoreStdInclude</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AUserIncludes</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AExtraOptionsCheckV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AExtraOptionsV2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AsmNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>OBJCOPY</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OOCOutputFormat</name>\n                    <version>3</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OCOutputOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OOCOutputFile</name>\n                    <state>blinky-qk.bin</state>\n                </option>\n                <option>\n                    <name>OOCCommandLineProducer</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OOCObjCopyEnable</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CUSTOM</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <extensions></extensions>\n                <cmdline></cmdline>\n                <hasPrio>0</hasPrio>\n            </data>\n        </settings>\n        <settings>\n            <name>BICOMP</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>BUILDACTION</name>\n            <archiveVersion>1</archiveVersion>\n            <data>\n                <prebuild>cmd /c \"if exist $OBJ_DIR$\\qstamp.o del $OBJ_DIR$\\qstamp.o\"</prebuild>\n                <postbuild></postbuild>\n            </data>\n        </settings>\n        <settings>\n            <name>ILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>20</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>IlinkLibIOConfig</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>XLinkMisraHandler</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkInputFileSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOutputFile</name>\n                    <state>blinky-qk.out</state>\n                </option>\n                <option>\n                    <name>IlinkDebugInfoEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkKeepSymbols</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkConfigDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkMapFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogInitialization</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogModule</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogSection</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogVeneer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfOverride</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile</name>\n                    <state>$PROJ_DIR$\\blinky-qk.icf</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFileSlave</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkSuppressDiags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsRem</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsWarn</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsErr</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkWarningsAreErrors</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkUseExtraOptions</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkLowLevelInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAutoLibEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAdditionalLibs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkOverrideProgramEntryLabel</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabelSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabel</name>\n                    <state>__iar_program_start</state>\n                </option>\n                <option>\n                    <name>DoFill</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>FillerByte</name>\n                    <state>0xFF</state>\n                </option>\n                <option>\n                    <name>FillerStart</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>FillerEnd</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>CrcSize</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcAlign</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcPoly</name>\n                    <state>0x11021</state>\n                </option>\n                <option>\n                    <name>CrcCompl</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcBitOrder</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcInitialValue</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>DoCrc</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkBufferedTerminalOutput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkStdoutInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcFullSize</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIElfToolPostProcess</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogAutoLibSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogRedirSymbols</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogUnusedFragments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcReverseByteOrder</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcUseAsInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptInline</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsAllow</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsForce</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptMergeDuplSections</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptUseVfe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptForceVfe</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackAnalysisEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackControlFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkStackCallGraphFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CrcAlgorithm</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcUnitSize</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkThreadsSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogCallGraph</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile_AltDefault</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkHeapSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLocaleSelect</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IARCHIVE</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>IarchiveInputs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IarchiveOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IarchiveOutput</name>\n                    <state>###Unitialized###</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>BILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>Coder</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n    </configuration>\n    <configuration>\n        <name>Release</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>0</debug>\n        <settings>\n            <name>General</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>ExePath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>ObjPath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>ListPath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>GEndianMode</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>Input description</name>\n                    <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n                </option>\n                <option>\n                    <name>Output description</name>\n                    <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n                </option>\n                <option>\n                    <name>GOutputBinary</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCoreOrChip</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelect</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelectSlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RTDescription</name>\n                    <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n                </option>\n                <option>\n                    <name>OGProductVersion</name>\n                    <state>5.11.0.50579</state>\n                </option>\n                <option>\n                    <name>OGLastSavedByProductVersion</name>\n                    <state>7.60.1.11206</state>\n                </option>\n                <option>\n                    <name>GeneralEnableMisra</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVerbose</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGChipSelectEditMenu</name>\n                    <state>EFM32PG1B200F256GM48\tSiliconLaboratories EFM32PG1B200F256GM48</state>\n                </option>\n                <option>\n                    <name>GenLowLevelInterface</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GEndianModeBE</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OGBufferedTerminalOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenStdoutInterface</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>RTConfigPath2</name>\n                    <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n                </option>\n                <option>\n                    <name>GBECoreSlave</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>OGUseCmsis</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsisDspLib</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibThreads</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CoreVariant</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>GFPUDeviceSlave</name>\n                    <state>EFM32PG1B200F256GM48\tSiliconLaboratories EFM32PG1B200F256GM48</state>\n                </option>\n                <option>\n                    <name>FPU2</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>NrRegs</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>NEON</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUCoreSlave2</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>OGCMSISPackSelectDevice</name>\n                </option>\n                <option>\n                    <name>OgLibHeap</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGLibAdditionalLocale</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGPrintfVariant</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>OGPrintfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGScanfVariant</name>\n                    <version>0</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OGScanfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenLocaleTags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>GenLocaleDisplayOnly</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ICCARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>34</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCOptimizationNoSizeConstraints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDefines</name>\n                    <state>NDEBUG</state>\n                    <state>EFM32PG1B200F256GM48</state>\n                </option>\n                <option>\n                    <name>CCPreprocFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocComments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMnemonics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMessages</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDiagSuppress</name>\n                    <state>Pa050</state>\n                </option>\n                <option>\n                    <name>CCDiagRemark</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagWarning</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagError</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCAllowList</name>\n                    <version>1</version>\n                    <state>11111110</state>\n                </option>\n                <option>\n                    <name>CCDebugInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IEndianMode</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCLangConformance</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSignedPlainChar</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRequirePrototypes</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCDiagWarnAreErr</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCompilerRuntimeInfo</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>CCLibConfigHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>PreInclude</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CompilerMisraOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIncludePath2</name>\n                    <state>$PROJ_DIR$\\..</state>\n                    <state>$PROJ_DIR$\\..\\..</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\iar</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b</state>\n                </option>\n                <option>\n                    <name>CCStdIncCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCodeSection</name>\n                    <state>.text</state>\n                </option>\n                <option>\n                    <name>IProcessorMode2</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevel</name>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>CCOptStrategy</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevelSlave</name>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>CCPosIndRopi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndRwpi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndNoDynInit</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccLang</name>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>IccCDialect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccAllowVLA</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccStaticDestr</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCppInlineSemantics</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccFloatSemantics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCOptStrategySlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCGuardCalls</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccExceptions2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccRTTI2</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>AARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>10</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>AObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>ACaseSensitivity</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacroChars</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnWhat</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnOne</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>ADebug</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AltRegisterNames</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ADefines</name>\n                    <state>ewarm</state>\n                </option>\n                <option>\n                    <name>AList</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AListHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AListing</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Includes</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacDefs</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacExps</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacExec</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OnlyAssed</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MultiLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLengthCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLength</name>\n                    <state>80</state>\n                </option>\n                <option>\n                    <name>TabSpacing</name>\n                    <state>8</state>\n                </option>\n                <option>\n                    <name>AXRef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDefines</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefInternal</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDual</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AOutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsEdit</name>\n                    <state>100</state>\n                </option>\n                <option>\n                    <name>AIgnoreStdInclude</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AUserIncludes</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AExtraOptionsCheckV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AExtraOptionsV2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AsmNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>OBJCOPY</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OOCOutputFormat</name>\n                    <version>3</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OCOutputOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OOCOutputFile</name>\n                    <state>blinky-qk.bin</state>\n                </option>\n                <option>\n                    <name>OOCCommandLineProducer</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OOCObjCopyEnable</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CUSTOM</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <extensions></extensions>\n                <cmdline></cmdline>\n                <hasPrio>0</hasPrio>\n            </data>\n        </settings>\n        <settings>\n            <name>BICOMP</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>BUILDACTION</name>\n            <archiveVersion>1</archiveVersion>\n            <data>\n                <prebuild>cmd /c \"if exist $OBJ_DIR$\\qstamp.o del $OBJ_DIR$\\qstamp.o\"</prebuild>\n                <postbuild></postbuild>\n            </data>\n        </settings>\n        <settings>\n            <name>ILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>20</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>IlinkLibIOConfig</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>XLinkMisraHandler</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkInputFileSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOutputFile</name>\n                    <state>blinky-qk.out</state>\n                </option>\n                <option>\n                    <name>IlinkDebugInfoEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkKeepSymbols</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkConfigDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkMapFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogInitialization</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogModule</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogSection</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogVeneer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfOverride</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile</name>\n                    <state>$PROJ_DIR$\\blinky-qk.icf</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFileSlave</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkSuppressDiags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsRem</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsWarn</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsErr</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkWarningsAreErrors</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkUseExtraOptions</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkLowLevelInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAutoLibEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAdditionalLibs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkOverrideProgramEntryLabel</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabelSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabel</name>\n                    <state>__iar_program_start</state>\n                </option>\n                <option>\n                    <name>DoFill</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>FillerByte</name>\n                    <state>0xFF</state>\n                </option>\n                <option>\n                    <name>FillerStart</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>FillerEnd</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>CrcSize</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcAlign</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcPoly</name>\n                    <state>0x11021</state>\n                </option>\n                <option>\n                    <name>CrcCompl</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcBitOrder</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcInitialValue</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>DoCrc</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkBufferedTerminalOutput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkStdoutInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcFullSize</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIElfToolPostProcess</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogAutoLibSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogRedirSymbols</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogUnusedFragments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcReverseByteOrder</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcUseAsInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptInline</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsAllow</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsForce</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptMergeDuplSections</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptUseVfe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptForceVfe</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackAnalysisEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackControlFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkStackCallGraphFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CrcAlgorithm</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcUnitSize</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkThreadsSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogCallGraph</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile_AltDefault</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkHeapSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLocaleSelect</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IARCHIVE</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>IarchiveInputs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IarchiveOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IarchiveOutput</name>\n                    <state>###Unitialized###</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>BILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>Coder</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n    </configuration>\n    <group>\n        <name>Application</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\blinky.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\blinky.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\bsp.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\bsp.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\main.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\include\\qstamp.c</name>\n        </file>\n    </group>\n    <group>\n        <name>efm32pg1b</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_assert.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_cmu.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_emu.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_gpio.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_system.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\iar\\startup_efm32pg1b.s</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\system_efm32pg1b.c</name>\n        </file>\n    </group>\n    <group>\n        <name>QP</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qepn.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qfn.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qkn\\qkn.c</name>\n        </file>\n    </group>\n    <group>\n        <name>QP_port</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\iar\\qkn_port.c</name>\n        </file>\n    </group>\n</project>\n"
  },
  {
    "path": "examples/arm-cm/blinky_efm32-slstk3401a/qk/iar/blinky-qk.eww",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<workspace>\n  <project>\n    <path>$WS_DIR$\\blinky-qk.ewp</path>\n  </project>\n  <batchBuild/>\n</workspace>\n\n\n"
  },
  {
    "path": "examples/arm-cm/blinky_efm32-slstk3401a/qk/iar/blinky-qk.icf",
    "content": "/*###ICF### Section handled by ICF editor, don't touch! ****/\n/*-Editor annotation file-*/\n/* IcfEditorFile=\"$TOOLKIT_DIR$\\config\\ide\\IcfEditor\\cortex_v1_0.xml\" */\n/*-Specials-*/\ndefine symbol __ICFEDIT_intvec_start__ = 0x00000000;\n/*-Memory Regions-*/\ndefine symbol __ICFEDIT_region_ROM_start__ = 0x00000000;\ndefine symbol __ICFEDIT_region_ROM_end__   = 0x0003FFFF;\ndefine symbol __ICFEDIT_region_RAM_start__ = 0x20000000;\ndefine symbol __ICFEDIT_region_RAM_end__   = 0x20007FFF;\n/*-Sizes-*/\ndefine symbol __ICFEDIT_size_cstack__ = 1024;\ndefine symbol __ICFEDIT_size_heap__   = 0;\n/**** End of ICF editor section. ###ICF###*/\n\ndefine memory mem with size = 4G;\ndefine region ROM_region   = mem:[from __ICFEDIT_region_ROM_start__   to __ICFEDIT_region_ROM_end__];\ndefine region RAM_region   = mem:[from __ICFEDIT_region_RAM_start__   to __ICFEDIT_region_RAM_end__];\n\ndefine block CSTACK    with alignment = 8, size = __ICFEDIT_size_cstack__   { };\ndefine block HEAP      with alignment = 8, size = __ICFEDIT_size_heap__     { };\n\ninitialize by copy { readwrite };\ndo not initialize  { section .noinit };\n\nplace at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };\nplace in ROM_region   { readonly };\nplace at start of RAM_region {block CSTACK }; \nplace in RAM_region   { readwrite, block HEAP  };"
  },
  {
    "path": "examples/arm-cm/blinky_efm32-slstk3401a/qpn_conf.h",
    "content": "/*****************************************************************************\n* Product: QP-nano configuration for the Blinky example\n* Last Updated for Version: 5.6.2\n* Date of the Last Update:  2016-04-05\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef QPN_CONF_H\n#define QPN_CONF_H\n\n#define Q_PARAM_SIZE            4U\n#define QF_MAX_TICK_RATE        1U\n#define QF_TIMEEVT_CTR_SIZE     2U\n#define QF_TIMEEVT_PERIODIC\n\n#endif  /* QPN_CONF_H */\n"
  },
  {
    "path": "examples/arm-cm/blinky_efm32-slstk3401a/qv/armclang/README.txt",
    "content": "About this Example\n==================\nThis example demonstrates how to use the uVision IDE together with\nthe MDK-ARM toolchain.\n\nuVision Project File\n====================\nThe MDK-ARM uVision project file provided with this example uses\nrelative paths to the QP framework location (includes, port, and\nlibraries. These relative paths must be modified when the project\nis moved to different relative location.\n\n\nAdjusting Stack and Heap Sizes\n==============================\nThe stack and heap sizes are determined in this project by the\ncommand-line options for the ARM assembler (see the Asm tab in\nthe \"Options for Target\" dialog box in uVision). Specifically,\nyou should define symbols: Stack_Size=xxx Heap_Size=yyy, where\nxxx represents a numerical value of stack size and yyy the\nnumerical value of the heap size (for most embedded projects\nyyy should be 0, as the using the heap is not recommended).\n\n\nStartup Code\n============\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\efm32pg1b\\arm\\startup_efm32pg1b.s\n\nThe file startup_efm32pg1b.s provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n  "
  },
  {
    "path": "examples/arm-cm/blinky_efm32-slstk3401a/qv/armclang/blinky-qv.uvoptx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<ProjectOpt xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_optx.xsd\">\n\n  <SchemaVersion>1.0</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Extensions>\n    <cExt>*.c</cExt>\n    <aExt>*.s*; *.src; *.a*</aExt>\n    <oExt>*.obj; *.o</oExt>\n    <lExt>*.lib</lExt>\n    <tExt>*.txt; *.h; *.inc</tExt>\n    <pExt>*.plm</pExt>\n    <CppX>*.cpp</CppX>\n    <nMigrate>0</nMigrate>\n  </Extensions>\n\n  <DaveTm>\n    <dwLowDateTime>0</dwLowDateTime>\n    <dwHighDateTime>0</dwHighDateTime>\n  </DaveTm>\n\n  <Target>\n    <TargetName>blinky-dbg</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\dbg\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>1</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>3</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>1</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>3</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>Segger\\JL2CM3.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGUARM</Key>\n          <Name>/</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>JL2CM3</Key>\n          <Name>-U440060969 -O207 -S2 -ZTIFSpeedSel5000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00(\"ARM CoreSight SW-DP\") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO7 -FD20000000 -FC8000 -FN1 -FF0GECKOP2.FLM -FS00 -FL040000 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>UL2CM3(-O207 -S0 -C0 -FO7  -FN1 -FC8000 -FD20000000 -FF0GECKOP2 -FL020000 -FS00 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E2006F4 -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Target>\n    <TargetName>blinky-rel</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\rel\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>0</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>3</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>1</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>3</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>Segger\\JL2CM3.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>JL2CM3</Key>\n          <Name>-U440060969 -O207 -S2 -ZTIFSpeedSel5000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00(\"ARM CoreSight SW-DP\") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO7 -FD20000000 -FC8000 -FN1 -FF0GECKOP2.FLM -FS00 -FL020000 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGUARM</Key>\n          <Name>/</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E10259B -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>-O207 -S0 -C0 -FO7  -FN1 -FC8000 -FD20000000 -FF0GECKOP2 -FL020000 -FS00 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM)</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Group>\n    <GroupName>Applicatioin</GroupName>\n    <tvExp>0</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>1</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\bsp.c</PathWithFileName>\n      <FilenameWithoutPath>bsp.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>2</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\blinky.c</PathWithFileName>\n      <FilenameWithoutPath>blinky.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>3</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\main.c</PathWithFileName>\n      <FilenameWithoutPath>main.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>4</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\blinky.h</PathWithFileName>\n      <FilenameWithoutPath>blinky.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>5</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\include\\qstamp.c</PathWithFileName>\n      <FilenameWithoutPath>qstamp.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>efm32pg1b</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>6</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_cmu.c</PathWithFileName>\n      <FilenameWithoutPath>em_cmu.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>7</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_emu.c</PathWithFileName>\n      <FilenameWithoutPath>em_emu.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>8</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_gpio.c</PathWithFileName>\n      <FilenameWithoutPath>em_gpio.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>9</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_int.c</PathWithFileName>\n      <FilenameWithoutPath>em_int.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>10</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_rtcc.c</PathWithFileName>\n      <FilenameWithoutPath>em_rtcc.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>11</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_system.c</PathWithFileName>\n      <FilenameWithoutPath>em_system.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>12</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\system_efm32pg1b.c</PathWithFileName>\n      <FilenameWithoutPath>system_efm32pg1b.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>13</FileNumber>\n      <FileType>2</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\arm\\startup_efm32pg1b.s</PathWithFileName>\n      <FilenameWithoutPath>startup_efm32pg1b.s</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>14</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</PathWithFileName>\n      <FilenameWithoutPath>qepn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>15</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</PathWithFileName>\n      <FilenameWithoutPath>qfn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>16</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qvn\\qvn.c</PathWithFileName>\n      <FilenameWithoutPath>qvn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP_port</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>17</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qfn_port.h</PathWithFileName>\n      <FilenameWithoutPath>qfn_port.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>18</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qvn_port.c</PathWithFileName>\n      <FilenameWithoutPath>qvn_port.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n</ProjectOpt>\n"
  },
  {
    "path": "examples/arm-cm/blinky_efm32-slstk3401a/qv/armclang/blinky-qv.uvprojx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<Project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_projx.xsd\">\n\n  <SchemaVersion>2.1</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Targets>\n    <Target>\n      <TargetName>blinky-dbg</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6130001::V6.13.1::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>EFM32PG1B200F256GM48</Device>\n          <Vendor>Silicon Labs</Vendor>\n          <PackID>SiliconLabs.EFM32PG1B_DFP.5.5.0</PackID>\n          <PackURL>https://www.silabs.com/documents/public/cmsis-packs/</PackURL>\n          <Cpu>IRAM(0x20000000,0x00008000) IROM(0x00000000,0x00020000) CPUTYPE(\"Cortex-M4\") FPU2 CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC8000 -FN1 -FF0GECKOP2 -FS00 -FL020000 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:EFM32PG1B200F256GM48$Device\\EFM32PG1B\\Include\\em_device.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:EFM32PG1B200F256GM48$SVD\\EFM32PG1B\\EFM32PG1B200F256GM48.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\dbg\\</OutputDirectory>\n          <OutputName>blinky-qv</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>1</DebugInformation>\n          <BrowseInformation>1</BrowseInformation>\n          <ListingPath>.\\dbg\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>cmd /c \"del .\\dbg\\qstamp.o\"</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\dbg\\blinky-qv.bin .\\dbg\\blinky-qv.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>1</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4096</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3>\"\" ()</Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M4\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>2</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x20000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x20000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>1</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>0</vShortEn>\n            <vShortWch>0</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>EFM32PG1B200F256GM48=1 __FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\efm32pg1b</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile></ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Applicatioin</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>blinky.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\blinky.c</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>blinky.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\blinky.h</FilePath>\n            </File>\n            <File>\n              <FileName>qstamp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\include\\qstamp.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>efm32pg1b</GroupName>\n          <Files>\n            <File>\n              <FileName>em_cmu.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_cmu.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_emu.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_emu.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_gpio.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_gpio.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_int.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_int.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_rtcc.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_rtcc.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_system.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_system.c</FilePath>\n            </File>\n            <File>\n              <FileName>system_efm32pg1b.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\system_efm32pg1b.c</FilePath>\n            </File>\n            <File>\n              <FileName>startup_efm32pg1b.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\arm\\startup_efm32pg1b.s</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qvn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qvn\\qvn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qvn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qvn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n    <Target>\n      <TargetName>blinky-rel</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6130001::V6.13.1::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>EFM32PG1B200F256GM48</Device>\n          <Vendor>Silicon Labs</Vendor>\n          <PackID>SiliconLabs.EFM32PG1B_DFP.5.5.0</PackID>\n          <PackURL>https://www.silabs.com/documents/public/cmsis-packs/</PackURL>\n          <Cpu>IRAM(0x20000000,0x00008000) IROM(0x00000000,0x00020000) CPUTYPE(\"Cortex-M4\") FPU2 CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC8000 -FN1 -FF0GECKOP2 -FS00 -FL020000 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:EFM32PG1B200F256GM48$Device\\EFM32PG1B\\Include\\em_device.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:EFM32PG1B200F256GM48$SVD\\EFM32PG1B\\EFM32PG1B200F256GM48.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\rel\\</OutputDirectory>\n          <OutputName>blinky-qv</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>0</DebugInformation>\n          <BrowseInformation>0</BrowseInformation>\n          <ListingPath>.\\rel\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>cmd /c \"del .\\rel\\qstamp.o\"</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\rel\\blinky-qv.bin .\\rel\\blinky-qv.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>1</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4096</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3>\"\" ()</Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M4\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>2</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x20000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x20000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>1</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>0</vShortEn>\n            <vShortWch>0</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>NDEBUG EFM32PG1B200F256GM48=1 __FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\efm32pg1b</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile>blinky-qv.sct</ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Applicatioin</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>blinky.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\blinky.c</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>blinky.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\blinky.h</FilePath>\n            </File>\n            <File>\n              <FileName>qstamp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\include\\qstamp.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>efm32pg1b</GroupName>\n          <Files>\n            <File>\n              <FileName>em_cmu.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_cmu.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_emu.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_emu.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_gpio.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_gpio.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_int.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_int.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_rtcc.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_rtcc.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_system.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_system.c</FilePath>\n            </File>\n            <File>\n              <FileName>system_efm32pg1b.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\system_efm32pg1b.c</FilePath>\n            </File>\n            <File>\n              <FileName>startup_efm32pg1b.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\arm\\startup_efm32pg1b.s</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qvn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qvn\\qvn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qvn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qvn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n  </Targets>\n\n  <RTE>\n    <apis/>\n    <components/>\n    <files/>\n  </RTE>\n\n</Project>\n"
  },
  {
    "path": "examples/arm-cm/blinky_efm32-slstk3401a/qv/bsp.c",
    "content": "/*****************************************************************************\n* Product: \"Blinky\" on EFM32-SLSTK3401A board, cooperative QV kernel\n* Last Updated for Version: 5.6.5\n* Date of the Last Update:  2016-06-02\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"blinky.h\"\n#include \"bsp.h\"\n\n#include \"em_device.h\"  /* the device specific header (SiLabs) */\n#include \"em_cmu.h\"     /* Clock Management Unit (SiLabs) */\n#include \"em_gpio.h\"    /* GPIO (SiLabs) */\n/* add other drivers if necessary... */\n\n//Q_DEFINE_THIS_FILE\n\n/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n* Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n* DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n*/\nenum KernelUnawareISRs { /* see NOTE00 */\n    /* ... */\n    MAX_KERNEL_UNAWARE_CMSIS_PRI  /* keep always last */\n};\n/* \"kernel-unaware\" interrupts can't overlap \"kernel-aware\" interrupts */\nQ_ASSERT_COMPILE(MAX_KERNEL_UNAWARE_CMSIS_PRI <= QF_AWARE_ISR_CMSIS_PRI);\n\nenum KernelAwareISRs {\n    SYSTICK_PRIO = QF_AWARE_ISR_CMSIS_PRI, /* see NOTE00 */\n    /* ... */\n    MAX_KERNEL_AWARE_CMSIS_PRI /* keep always last */\n};\n/* \"kernel-aware\" interrupts should not overlap the PendSV priority */\nQ_ASSERT_COMPILE(MAX_KERNEL_AWARE_CMSIS_PRI <= (0xFF >>(8-__NVIC_PRIO_BITS)));\n\n/* ISRs defined in this BSP ------------------------------------------------*/\nvoid SysTick_Handler(void);\n\n/* Local-scope objects -----------------------------------------------------*/\n#define LED_PORT    gpioPortF\n#define LED0_PIN    4\n#define LED1_PIN    5\n\n#define PB_PORT     gpioPortF\n#define PB0_PIN     6\n#define PB1_PIN     7\n\n\n\n/* ISRs used in this project ===============================================*/\nvoid SysTick_Handler(void) {\n    QF_tickXISR(0U); /* process time events for rate 0 */\n}\n\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    /* NOTE: SystemInit() already called from the startup code\n    *  but SystemCoreClock needs to be updated\n    */\n    SystemCoreClockUpdate();\n\n    /* configure the FPU usage by choosing one of the options...\n    *\n    * Do NOT to use the automatic FPU state preservation and\n    * do NOT to use the FPU lazy stacking.\n    *\n    * NOTE:\n    * Use the following setting when FPU is used only by active objects\n    * and NOT in any ISR. This setting is very efficient, but if any ISRs\n    * start using the FPU, this can lead to corruption of the FPU registers.\n    */\n    FPU->FPCCR &= ~((1U << FPU_FPCCR_ASPEN_Pos) | (1U << FPU_FPCCR_LSPEN_Pos));\n\n    /* enable clock for to the peripherals used by this application... */\n    CMU_ClockEnable(cmuClock_HFPER, true);\n    CMU_ClockEnable(cmuClock_GPIO, true);\n    CMU_ClockEnable(cmuClock_HFPER, true);\n    CMU_ClockEnable(cmuClock_GPIO, true);\n\n    /* configure the LEDs */\n    GPIO_PinModeSet(LED_PORT, LED0_PIN, gpioModePushPull, 0);\n    GPIO_PinModeSet(LED_PORT, LED1_PIN, gpioModePushPull, 0);\n    GPIO_PinOutClear(LED_PORT, LED0_PIN);\n    GPIO_PinOutClear(LED_PORT, LED1_PIN);\n\n    /* configure the Buttons */\n    GPIO_PinModeSet(PB_PORT, PB0_PIN, gpioModeInputPull, 1);\n    GPIO_PinModeSet(PB_PORT, PB1_PIN, gpioModeInputPull, 1);\n}\n/*..........................................................................*/\nvoid BSP_ledOff(void) {\n    //GPIO_PinOutClear(LED_PORT, LED0_PIN);\n    GPIO->P[LED_PORT].DOUT &= ~(1U << LED0_PIN);\n}\n/*..........................................................................*/\nvoid BSP_ledOn(void) {\n    /* exercise the FPU with some floating point computations */\n    float volatile x = 3.1415926F;\n    x = x + 2.7182818F;\n\n    //GPIO_PinOutSet(LED0_PORT, LED0_PIN);\n    GPIO->P[LED_PORT].DOUT |= (1U << LED0_PIN);\n}\n\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    /* set up the SysTick timer to fire at BSP_TICKS_PER_SEC rate */\n    SysTick_Config(SystemCoreClock / BSP_TICKS_PER_SEC);\n\n    /* assing all priority bits for preemption-prio. and none to sub-prio. */\n    NVIC_SetPriorityGrouping(0U);\n\n    /* set priorities of ALL ISRs used in the system, see NOTE00\n    *\n    * !!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n    * Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n    * DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n    */\n    NVIC_SetPriority(SysTick_IRQn,   SYSTICK_PRIO);\n    /* ... */\n\n    /* enable IRQs... */\n}\n/*..........................................................................*/\nvoid QV_onIdle(void) { /* CATION: called with interrupts DISABLED, NOTE01 */\n    /* toggle LED1 on and then off, see NOTE02 */\n    GPIO_PinOutSet(LED_PORT, LED1_PIN);\n    //GPIO->P[LED_PORT].DOUT |= (1U << LED1_PIN);\n    GPIO_PinOutClear(LED_PORT, LED1_PIN);\n    //GPIO->P[LED_PORT].DOUT &= ~(1U << LED1_PIN);\n\n#ifdef NDEBUG\n    /* Put the CPU and peripherals to the low-power mode.\n    * you might need to customize the clock management for your application,\n    * see the datasheet for your particular Cortex-M MCU.\n    */\n    QV_CPU_SLEEP();  /* atomically go to sleep and enable interrupts */\n#else\n    QF_INT_ENABLE(); /* just enable interrupts */\n#endif\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const module, int loc) {\n    /*\n    * NOTE: add here your application-specific error handling\n    */\n    (void)module;\n    (void)loc;\n\n#ifndef NDEBUG\n    /* light up both LEDs */\n    GPIO->P[LED_PORT].DOUT |= ((1U << LED0_PIN) | (1U << LED1_PIN));\n    /* for debugging, hang on in an endless loop until PB1 is pressed... */\n    while ((GPIO->P[PB_PORT].DIN & (1U << PB1_PIN)) != 0) {\n    }\n#endif\n\n    NVIC_SystemReset();\n}\n\n/*****************************************************************************\n* NOTE00:\n* The QF_AWARE_ISR_CMSIS_PRI constant from the QF port specifies the highest\n* ISR priority that is disabled by the QF framework. The value is suitable\n* for the NVIC_SetPriority() CMSIS function.\n*\n* Only ISRs prioritized at or below the QF_AWARE_ISR_CMSIS_PRI level (i.e.,\n* with the numerical values of priorities equal or higher than\n* QF_AWARE_ISR_CMSIS_PRI) are allowed to call any QF services. These ISRs\n* are \"QF-aware\".\n*\n* Conversely, any ISRs prioritized above the QF_AWARE_ISR_CMSIS_PRI priority\n* level (i.e., with the numerical values of priorities less than\n* QF_AWARE_ISR_CMSIS_PRI) are never disabled and are not aware of the kernel.\n* Such \"QF-unaware\" ISRs cannot call any QF services. The only mechanism\n* by which a \"QF-unaware\" ISR can communicate with the QF framework is by\n* triggering a \"QF-aware\" ISR, which can post/publish events.\n*\n* NOTE01:\n* The QV_onIdle() callback is called with interrupts disabled, because the\n* determination of the idle condition might change by any interrupt posting\n* an event. QV_onIdle() must internally enable interrupts, ideally\n* atomically with putting the CPU to the power-saving mode.\n*\n* NOTE02:\n* One of the LEDs is used to visualize the idle loop activity. The brightness\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n"
  },
  {
    "path": "examples/arm-cm/blinky_efm32-slstk3401a/qv/gnu/Makefile",
    "content": "##############################################################################\n# Product: Makefile for QP-nano on EMF32-SLSTK3401A, QV-nano kernel, GNU-ARM\n# Last Updated for Version: 6.5.0\n# Date of the Last Update:  2019-04-15\n#\n#                    Q u a n t u m  L e a P s\n#                    ------------------------\n#                    Modern Embedded Software\n#\n# Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# https://www.state-machine.com\n# mailto:info@state-machine.com\n##############################################################################\n# examples of invoking this Makefile:\n# building configurations: Debug (default), Release, and Spy\n# make\n# make CONF=rel\n#\n# cleaning configurations: Debug (default), Release, and Spy\n# make clean\n# make CONF=rel clean\n#\n# NOTE:\n# To use this Makefile on Windows, you will need the GNU make utility, which\n# is included in the Qtools collection for Windows, see:\n#    http://sourceforge.net/projects/qpc/files/Qtools/\n#\n\n#-----------------------------------------------------------------------------\n# project name\n#\nPROJECT     := blinky-qv\n\n#-----------------------------------------------------------------------------\n# project directories\n#\n\n# location of the QP-nano framework (if not provided in an environemnt var.)\nifeq ($(QPN),)\nQPN := ../../../../..\nendif\n\n# QP port used in this project\nQP_PORT_DIR := $(QPN)/ports/arm-cm/qv/gnu\n\n# list of all source directories used by this project\nVPATH = \\\n\t.. \\\n\t../.. \\\n\t$(QPN)/src/qfn \\\n\t$(QPN)/src/qvn \\\n\t$(QP_PORT_DIR) \\\n\t$(QPN)/3rd_party/efm32pg1b \\\n\t$(QPN)/3rd_party/efm32pg1b/gnu\n\n# list of all include directories needed by this project\nINCLUDES  = \\\n\t-I../.. \\\n\t-I$(QPN)/include \\\n\t-I$(QP_PORT_DIR) \\\n\t-I$(QPN)/3rd_party/CMSIS/Include \\\n\t-I$(QPN)/3rd_party/efm32pg1b\n\n#-----------------------------------------------------------------------------\n# files\n#\n\n# assembler source files\nASM_SRCS :=\n\n# C source files\nC_SRCS := \\\n\tblinky.c \\\n\tbsp.c \\\n\tmain.c \\\n\tstartup_efm32pg1b.c \\\n\tsystem_efm32pg1b.c \\\n\tem_cmu.c \\\n\tem_emu.c \\\n\tem_gpio.c\n\n# C++ source files\nCPP_SRCS :=\n\nOUTPUT    := $(PROJECT)\nLD_SCRIPT := $(PROJECT).ld\n\nQP_SRCS := \\\n\tqepn.c \\\n\tqfn.c \\\n\tqvn.c \\\n\tqvn_port.c\n\nQP_ASMS := \\\n\nLIB_DIRS  :=\nLIBS      :=\n\n# defines\nDEFINES   := -DEFM32PG1B200F256GM48=1\n\n# ARM CPU, ARCH, FPU, and Float-ABI types...\n# ARM_CPU:   [cortex-m0 | cortex-m0plus | cortex-m1 | cortex-m3 | cortex-m4]\n# ARM_ARCH:  [6 | 7] (NOTE: must match ARM_CPU!)\n# ARM_FPU:   [ | vfp]\n# FLOAT_ABI: [ | soft | softfp | hard]\n#\nARM_CPU   := -mcpu=cortex-m4\nARM_ARCH  := 7   # NOTE: must match the ARM_CPU!\nARM_FPU   := -mfpu=vfp\nFLOAT_ABI := -mfloat-abi=softfp\n\n#-----------------------------------------------------------------------------\n# GNU-ARM toolset (NOTE: You need to adjust to your machine)\n# see https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads\n#\nifeq ($(GNU_ARM),)\nGNU_ARM := $(QTOOLS)/gnu_arm-none-eabi\nendif\n\n# make sure that the GNU-ARM toolset exists...\nifeq (\"$(wildcard $(GNU_ARM))\",\"\")\n$(error GNU_ARM toolset not found. Please adjust the Makefile)\nendif\n\nCC    := $(GNU_ARM)/bin/arm-none-eabi-gcc\nCPP   := $(GNU_ARM)/bin/arm-none-eabi-g++\nAS    := $(GNU_ARM)/bin/arm-none-eabi-as\nLINK  := $(GNU_ARM)/bin/arm-none-eabi-g++\nBIN   := $(GNU_ARM)/bin/arm-none-eabi-objcopy\n\n\n##############################################################################\n# Typically, you should not need to change anything below this line\n\n# basic utilities (included in Qtools for Windows), see:\n#    http://sourceforge.net/projects/qpc/files/Qtools\n\nMKDIR := mkdir\nRM    := rm\n\n#-----------------------------------------------------------------------------\n# build options for various configurations for ARM Cortex-M\n#\n\n# combine all the soruces...\nC_SRCS += $(QP_SRCS)\nASM_SRCS += $(QP_ASMS)\n\nifeq (rel, $(CONF)) # Release configuration ..................................\n\nBIN_DIR := rel\n\nASFLAGS = $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O1 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nCPPFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O1 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nelse # default Debug configuration ..........................................\n\nBIN_DIR := dbg\n\nASFLAGS = -g $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O $(INCLUDES) $(DEFINES)\n\nCPPFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O $(INCLUDES) $(DEFINES)\n\nendif # ......................................................................\n\n\nLINKFLAGS = -T$(LD_SCRIPT) $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb \\\n\t-specs=nosys.specs -specs=nano.specs \\\n\t-Wl,-Map,$(BIN_DIR)/$(OUTPUT).map,--cref,--gc-sections $(LIB_DIRS)\n\n\nASM_OBJS     := $(patsubst %.s,%.o,  $(notdir $(ASM_SRCS)))\nC_OBJS       := $(patsubst %.c,%.o,  $(notdir $(C_SRCS)))\nCPP_OBJS     := $(patsubst %.cpp,%.o,$(notdir $(CPP_SRCS)))\n\nTARGET_BIN   := $(BIN_DIR)/$(OUTPUT).bin\nTARGET_ELF   := $(BIN_DIR)/$(OUTPUT).elf\nASM_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(ASM_OBJS))\nC_OBJS_EXT   := $(addprefix $(BIN_DIR)/, $(C_OBJS))\nC_DEPS_EXT   := $(patsubst %.o, %.d, $(C_OBJS_EXT))\nCPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))\nCPP_DEPS_EXT := $(patsubst %.o, %.d, $(CPP_OBJS_EXT))\n\n# create $(BIN_DIR) if it does not exist\nifeq (\"$(wildcard $(BIN_DIR))\",\"\")\n$(shell $(MKDIR) $(BIN_DIR))\nendif\n\n#-----------------------------------------------------------------------------\n# rules\n#\n\nall: $(TARGET_BIN)\n#all: $(TARGET_ELF)\n\n$(TARGET_BIN): $(TARGET_ELF)\n\t$(BIN) -O binary $< $@\n\n$(TARGET_ELF) : $(ASM_OBJS_EXT) $(C_OBJS_EXT) $(CPP_OBJS_EXT)\n\t$(CC) $(CFLAGS) $(QPN)/include/qstamp.c -o $(BIN_DIR)/qstamp.o\n\t$(LINK) $(LINKFLAGS) -o $@ $^ $(BIN_DIR)/qstamp.o $(LIBS)\n\n$(BIN_DIR)/%.d : %.c\n\t$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@\n\n$(BIN_DIR)/%.d : %.cpp\n\t$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@\n\n$(BIN_DIR)/%.o : %.s\n\t$(AS) $(ASFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.c\n\t$(CC) $(CFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.cpp\n\t$(CPP) $(CPPFLAGS) $< -o $@\n\n# include dependency files only if our goal depends on their existence\nifneq ($(MAKECMDGOALS),clean)\n  ifneq ($(MAKECMDGOALS),show)\n-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)\n  endif\nendif\n\n\n.PHONY : clean\nclean:\n\t-$(RM) $(BIN_DIR)/*.o \\\n\t$(BIN_DIR)/*.d \\\n\t$(BIN_DIR)/*.bin \\\n\t$(BIN_DIR)/*.elf \\\n\t$(BIN_DIR)/*.map\n\t\nshow:\n\t@echo PROJECT = $(PROJECT)\n\t@echo CONF = $(CONF)\n\t@echo DEFINES = $(DEFINES)\n\t@echo ASM_FPU = $(ASM_FPU)\n\t@echo ASM_SRCS = $(ASM_SRCS)\n\t@echo C_SRCS = $(C_SRCS)\n\t@echo CPP_SRCS = $(CPP_SRCS)\n\t@echo ASM_OBJS_EXT = $(ASM_OBJS_EXT)\n\t@echo C_OBJS_EXT = $(C_OBJS_EXT)\n\t@echo C_DEPS_EXT = $(C_DEPS_EXT)\n\t@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)\n\t@echo TARGET_ELF = $(TARGET_ELF)\n"
  },
  {
    "path": "examples/arm-cm/blinky_efm32-slstk3401a/qv/gnu/README.txt",
    "content": "About this Example\n==================\nThis example can be built from the command prompt with the provided\nMakefile. The example can also be imported as a Makefile-based\nproject into Eclipse-based IDEs.\n\n\nThe Makefile\n============\nThe provided Makefile should be easy to adapt for your own projects.\nIt contains two build configurations: Debug (default) and Release.\n\nAlso, the Makefile has been specifically designed to work as an external\nMakefile with the Eclipse CDT.\n\nThe various build configurations are built as follows:\n\nmake\nmake CONF=rel\nmake clean\nmake CONF=rel clean\n\n***\nNOTE:\nThe installation folder of the GNU-ARM toolset on YOUR machine needs\nto be adjusted in the provided Makefile, by editing the symbol: GNU_ARM.\nAs described in the comment for this symbol, the GNU-ARM toolset is taken\nfrom: http://gnutoolchains.com/arm-eabi\n\nIt is highly recommened to use the same GNU-ARM distribution, especially\nfor ARM Cortex-M4F projects, due to the support for the hardware FPU\n(float-abi=hard).\n***\n\n\nAdjusting Stack and Heap Sizes\n==============================\nThe stack and heap sizes are determined in this project by the GCC linker\nscript (.ld file), which provides a template of the recommended GCC linker\nscript for QP applications.\n\n\nStartup Code\n============\nThe startup code for the EFM32PG1B200F256GM48 MCU used in this project\nis located in the \"3rd_party\" folder in the following location:\n\nqpc\\3rd_party\\efm32pg1b\\gnu\\startup_efm32pg1b.c\n\nThe file startup_efm32pg1b.c provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n"
  },
  {
    "path": "examples/arm-cm/blinky_efm32-slstk3401a/qv/gnu/blinky-qv.ld",
    "content": "/*****************************************************************************\n* Product: Linker script for EFM32-SLSTK3401A, GNU-ARM linker\n* Last Updated for Version: 5.9.8\n* Date of the Last Update:  2017-09-13\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <http://www.gnu.org/licenses/>.\n*\n* Contact information:\n* http://www.state-machine.com\n* mailto:info@state-machine.com\n*****************************************************************************/\nOUTPUT_FORMAT(\"elf32-littlearm\", \"elf32-bigarm\", \"elf32-littlearm\")\nOUTPUT_ARCH(arm)\nENTRY(Reset_Handler) /* entry Point */\n\nMEMORY { /* memory map of Pearl Gecko EFM32PG1B200F256GM48 */\n    ROM (rx)  : ORIGIN = 0x00000000, LENGTH = 256K\n    RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K\n}\n\n/* The size of the stack used by the application. NOTE: you need to adjust  */\nSTACK_SIZE = 1024;\n\n/* The size of the heap used by the application. NOTE: you need to adjust   */\nHEAP_SIZE = 0;\n\nSECTIONS {\n\n    .isr_vector : {        /* the vector table goes FIRST into ROM */\n        KEEP(*(.isr_vector)) /* vector table */\n        . = ALIGN(4);\n    } >ROM\n\n    .text : {              /* code and constants */\n        . = ALIGN(4);\n        *(.text)           /* .text sections (code) */\n        *(.text*)          /* .text* sections (code) */\n        *(.rodata)         /* .rodata sections (constants, strings, etc.) */\n        *(.rodata*)        /* .rodata* sections (constants, strings, etc.) */\n\n        KEEP (*(.init))\n        KEEP (*(.fini))\n\n        . = ALIGN(4);\n    } >ROM\n\n    .preinit_array : {\n        PROVIDE_HIDDEN (__preinit_array_start = .);\n        KEEP (*(.preinit_array*))\n        PROVIDE_HIDDEN (__preinit_array_end = .);\n    } >ROM\n\n    .init_array : {\n        PROVIDE_HIDDEN (__init_array_start = .);\n        KEEP (*(SORT(.init_array.*)))\n        KEEP (*(.init_array*))\n        PROVIDE_HIDDEN (__init_array_end = .);\n    } >ROM\n\n    .fini_array : {\n        PROVIDE_HIDDEN (__fini_array_start = .);\n        KEEP (*(.fini_array*))\n        KEEP (*(SORT(.fini_array.*)))\n        PROVIDE_HIDDEN (__fini_array_end = .);\n    } >ROM\n\n    _etext = .;            /* global symbols at end of code */\n\n    .stack : {\n        __stack_start__ = .;\n        . = . + STACK_SIZE;\n        . = ALIGN(4);\n        __stack_end__ = .;\n    } >RAM\n\n    .data :  AT (_etext) {\n        __data_load = LOADADDR (.data);\n        __data_start = .;\n        *(.data)           /* .data sections */\n        *(.data*)          /* .data* sections */\n        . = ALIGN(4);\n        __data_end__ = .;\n        _edata = __data_end__;\n    } >RAM\n\n    .bss : {\n        __bss_start__ = .;\n        *(.bss)\n        *(.bss*)\n        *(COMMON)\n        . = ALIGN(4);\n        _ebss = .;         /* define a global symbol at bss end */\n        __bss_end__ = .;\n    } >RAM\n\n    __exidx_start = .;\n    .ARM.exidx   : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } >RAM\n    __exidx_end = .;\n\n    PROVIDE ( end = _ebss );\n    PROVIDE ( _end = _ebss );\n    PROVIDE ( __end__ = _ebss );\n\n    .heap : {\n        __heap_start__ = .;\n        . = . + HEAP_SIZE;\n        . = ALIGN(4);\n        __heap_end__ = .;\n    } >RAM\n\n    /* Remove information from the standard libraries */\n    /DISCARD/ : {\n        libc.a ( * )\n        libm.a ( * )\n        libgcc.a ( * )\n    }\n}\n"
  },
  {
    "path": "examples/arm-cm/blinky_efm32-slstk3401a/qv/gnu/flash.bat",
    "content": "::============================================================================\n:: Batch file to program the flash of EFM32-SLSTK3401A board\n:: \n:: NOTE: requires the J-Link commander (JLink.exe) from SEGGER, see:\n:: https://www.segger.com/j-link-commander.html\n:: \nsetlocal\n\n@echo off\n@echo Load a given binary file to the flash of EFM32-SLSTK3401A \n@echo usage:   flash bin-file\n@echo example: flash dbg\\blinky-qk.bin\n\n::----------------------------------------------------------------------------\n:: NOTE: Adjust the following symbol to the location of the\n:: JLink utility on your machine\n::\nif [%JLINK%] EQU [] set JLINK=%QTOOLS%\\..\\JLink\nif not exist \"%JLINK%\\JLink.exe\" (\n    @echo The JLink tool not found. Please adjust flash.bat \n    @goto end\n)\n\nif [\"%~1\"]==[\"\"] (\n    @echo The binary file missing\n    @goto end\n)\nif not exist %~s1 (\n    @echo The binary file '%1' does not exist\n    @goto end\n)\n\n:: generate the Jlink command file depending on the first parameter %1\n@echo si 1 >flash.jlink\n@echo speed 4000 >>flash.jlink\n@echo r >>flash.jlink\n@echo h >>flash.jlink\n@echo loadbin %1, 0 >>flash.jlink\n@echo exit >>flash.jlink\n\n@echo on\n%JLINK%\\JLink.exe -device EFM32PG1B200F256GM48 flash.jlink\n@echo off\n\n@del flash.jlink\n\n:end\n\nendlocal"
  },
  {
    "path": "examples/arm-cm/blinky_efm32-slstk3401a/qv/iar/README.txt",
    "content": "About this Example\n==================\nThis example demonstrates how to use the IAR EWARM IDE to build\na QP application.\n\n\nIAR Project File\n----------------\nThe IAR EWARM project file provided with this example uses relative paths\nto the QP/C framework location (includes, port, and libraries. These\nrelative paths must be modified when the project is moved to different\nrelative location.\n\n\nStack Size and Heap Size\n------------------------\nIn this project, the size of the C stack and heap are determined in\nthe linker script blinky-qk.icf (see the next section).\n\n\nLinker Script\n-------------\nThe IAR linker script provides a template of the recommended linker script\nfor QP applications. This file needs to be customized to set the\napplication-specific sizes of the Stack and Heap. This file can be edited\nfrom the IAR EWARM IDE via the Project Options/Linker settings.\n\n\nStartup Code\n============\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\efm32pg1b\\iar\\startup_efm32pg1b.s\n\nThe file startup_efm32pg1b.s provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n"
  },
  {
    "path": "examples/arm-cm/blinky_efm32-slstk3401a/qv/iar/blinky-qv.ewd",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project>\n    <fileVersion>3</fileVersion>\n    <configuration>\n        <name>Debug</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>1</debug>\n        <settings>\n            <name>C-SPY</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCVariant</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>MemOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MemFile</name>\n                    <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\SiliconLaboratories\\EFM32PG1B200F256GM48.ddf</state>\n                </option>\n                <option>\n                    <name>RunToEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RunToName</name>\n                    <state>main</state>\n                </option>\n                <option>\n                    <name>CExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDDFArgumentProducer</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadSuppressDownload</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDownloadVerifyAll</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCProductVersion</name>\n                    <state>7.30.4.8186</state>\n                </option>\n                <option>\n                    <name>OCDynDriverList</name>\n                    <state>JLINK_ID</state>\n                </option>\n                <option>\n                    <name>OCLastSavedByProductVersion</name>\n                    <state>8.11.1.13270</state>\n                </option>\n                <option>\n                    <name>UseFlashLoader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CLowLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CDevice</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>FlashLoadersV3</name>\n                    <state>$TOOLKIT_DIR$\\config\\flashloader\\SiliconLaboratories\\FlashGECKOP2.board</state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OverrideDefFlashBoard</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesOffset1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesUse1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDeviceConfigMacroFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDebuggerExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAllMTBOptions</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreNrOfCores</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreMaster</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCMulticorePort</name>\n                    <state>53461</state>\n                </option>\n                <option>\n                    <name>OCMulticoreWorkspace</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveProject</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveConfiguration</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadExtraImage</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAttachSlave</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ARMSIM_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCSimDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCSimEnablePSP</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspOverrideConfig</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspConfigFile</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CADI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCadiMemory</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Fast Model</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCADILogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCADILogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CMSISDAP_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CMSISDAPResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>CMSISDAPDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CMSISDAPProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>GDBSERVER_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJTagBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IJET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>8</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>IjetPowerFromProbe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPowerRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetProtocolRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPin</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPrescalerList</name>\n                    <version>1</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IjetProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPreferETB</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetTraceSettingsList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetTraceSizeList</name>\n                    <version>0</version>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>FlashBoardPathSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>JLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>16</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>JLinkSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJLinkHWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>JLinkInitialSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCDoJlinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkCommRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>CCJLinkSpeedRadioV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCUSBDevice</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceRadio</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkResetList</name>\n                    <version>6</version>\n                    <state>7</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCTcpIpAlt</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTcpIpSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSourceDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkDeviceName</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>LMIFTDI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>2</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>LmiftdiSpeed</name>\n                    <state>500</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceRadio</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>PEMICRO_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>3</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJPEMicroShowSettings</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>STLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCSTLinkCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDAPNumber</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkResetList</name>\n                    <version>3</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDebugAccessPortRadio</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>THIRDPARTY_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CThirdPartyDriverDll</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>TIFET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVccTypeDefault</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVoltage</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CCMSPFetVCCDefault</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetSettlingtime</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioJtagSpeedType</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetConnection</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetUsbComPort</name>\n                    <state>Automatic</state>\n                </option>\n                <option>\n                    <name>CCMSPFetAllowAccessToBSL</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioEraseFlash</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>XDS100_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>6</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCXds100CatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TIPackageOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TIPackage</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>BoardFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCXds100BreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100DoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockEdit</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCXds100HWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100JtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ProbeList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPortRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPort</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <debuggerPlugins>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n                <loadFlag>1</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n        </debuggerPlugins>\n    </configuration>\n    <configuration>\n        <name>Release</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>0</debug>\n        <settings>\n            <name>C-SPY</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCVariant</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>MemOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MemFile</name>\n                    <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\SiliconLaboratories\\EFM32PG1B200F256GM48.ddf</state>\n                </option>\n                <option>\n                    <name>RunToEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RunToName</name>\n                    <state>main</state>\n                </option>\n                <option>\n                    <name>CExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDDFArgumentProducer</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadSuppressDownload</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDownloadVerifyAll</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCProductVersion</name>\n                    <state>7.30.4.8186</state>\n                </option>\n                <option>\n                    <name>OCDynDriverList</name>\n                    <state>JLINK_ID</state>\n                </option>\n                <option>\n                    <name>OCLastSavedByProductVersion</name>\n                    <state>7.60.1.11206</state>\n                </option>\n                <option>\n                    <name>UseFlashLoader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CLowLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CDevice</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>FlashLoadersV3</name>\n                    <state>$TOOLKIT_DIR$\\config\\flashloader\\SiliconLaboratories\\FlashGECKOP2.board</state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OverrideDefFlashBoard</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesOffset1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesUse1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDeviceConfigMacroFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDebuggerExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAllMTBOptions</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreNrOfCores</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreMaster</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCMulticorePort</name>\n                    <state>53461</state>\n                </option>\n                <option>\n                    <name>OCMulticoreWorkspace</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveProject</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveConfiguration</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadExtraImage</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAttachSlave</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ARMSIM_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCSimDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCSimEnablePSP</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspOverrideConfig</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspConfigFile</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CADI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCadiMemory</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Fast Model</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCADILogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCADILogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CMSISDAP_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CMSISDAPResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>CMSISDAPDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CMSISDAPProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>GDBSERVER_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJTagBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IJET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>8</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>IjetPowerFromProbe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPowerRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetProtocolRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPin</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPrescalerList</name>\n                    <version>1</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IjetProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPreferETB</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetTraceSettingsList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetTraceSizeList</name>\n                    <version>0</version>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>FlashBoardPathSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>JLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>16</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>JLinkSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJLinkHWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>JLinkInitialSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCDoJlinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkCommRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>CCJLinkSpeedRadioV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCUSBDevice</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceRadio</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkResetList</name>\n                    <version>6</version>\n                    <state>7</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCTcpIpAlt</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTcpIpSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSourceDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkDeviceName</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>LMIFTDI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>2</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>LmiftdiSpeed</name>\n                    <state>500</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceRadio</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>PEMICRO_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>3</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJPEMicroShowSettings</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>STLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCSTLinkCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDAPNumber</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkResetList</name>\n                    <version>3</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDebugAccessPortRadio</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>THIRDPARTY_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CThirdPartyDriverDll</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>TIFET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVccTypeDefault</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVoltage</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CCMSPFetVCCDefault</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetSettlingtime</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioJtagSpeedType</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetConnection</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetUsbComPort</name>\n                    <state>Automatic</state>\n                </option>\n                <option>\n                    <name>CCMSPFetAllowAccessToBSL</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioEraseFlash</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>XDS100_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>6</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCXds100CatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TIPackageOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TIPackage</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>BoardFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCXds100BreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100DoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockEdit</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCXds100HWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100JtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ProbeList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPortRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPort</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <debuggerPlugins>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n                <loadFlag>1</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n        </debuggerPlugins>\n    </configuration>\n</project>\n"
  },
  {
    "path": "examples/arm-cm/blinky_efm32-slstk3401a/qv/iar/blinky-qv.ewp",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project>\n    <fileVersion>3</fileVersion>\n    <configuration>\n        <name>Debug</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>1</debug>\n        <settings>\n            <name>General</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>ExePath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>ObjPath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>ListPath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>GEndianMode</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>Input description</name>\n                    <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n                </option>\n                <option>\n                    <name>Output description</name>\n                    <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n                </option>\n                <option>\n                    <name>GOutputBinary</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCoreOrChip</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelect</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelectSlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RTDescription</name>\n                    <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n                </option>\n                <option>\n                    <name>OGProductVersion</name>\n                    <state>5.11.0.50579</state>\n                </option>\n                <option>\n                    <name>OGLastSavedByProductVersion</name>\n                    <state>8.11.1.13270</state>\n                </option>\n                <option>\n                    <name>GeneralEnableMisra</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVerbose</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGChipSelectEditMenu</name>\n                    <state>EFM32PG1B200F256GM48\tSiliconLaboratories EFM32PG1B200F256GM48</state>\n                </option>\n                <option>\n                    <name>GenLowLevelInterface</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GEndianModeBE</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OGBufferedTerminalOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenStdoutInterface</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>RTConfigPath2</name>\n                    <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n                </option>\n                <option>\n                    <name>GBECoreSlave</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>OGUseCmsis</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsisDspLib</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibThreads</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CoreVariant</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>GFPUDeviceSlave</name>\n                    <state>EFM32PG1B200F256GM48\tSiliconLaboratories EFM32PG1B200F256GM48</state>\n                </option>\n                <option>\n                    <name>FPU2</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>NrRegs</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>NEON</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUCoreSlave2</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>OGCMSISPackSelectDevice</name>\n                </option>\n                <option>\n                    <name>OgLibHeap</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGLibAdditionalLocale</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGPrintfVariant</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>OGPrintfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGScanfVariant</name>\n                    <version>0</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OGScanfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenLocaleTags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>GenLocaleDisplayOnly</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ICCARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>34</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCOptimizationNoSizeConstraints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDefines</name>\n                    <state>EFM32PG1B200F256GM48</state>\n                </option>\n                <option>\n                    <name>CCPreprocFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocComments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMnemonics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMessages</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDiagSuppress</name>\n                    <state>Pa050</state>\n                </option>\n                <option>\n                    <name>CCDiagRemark</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagWarning</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagError</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCAllowList</name>\n                    <version>1</version>\n                    <state>00000000</state>\n                </option>\n                <option>\n                    <name>CCDebugInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IEndianMode</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCLangConformance</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSignedPlainChar</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRequirePrototypes</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCDiagWarnAreErr</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCompilerRuntimeInfo</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>CCLibConfigHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>PreInclude</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CompilerMisraOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIncludePath2</name>\n                    <state>$PROJ_DIR$\\..</state>\n                    <state>$PROJ_DIR$\\..\\..</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b</state>\n                </option>\n                <option>\n                    <name>CCStdIncCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCodeSection</name>\n                    <state>.text</state>\n                </option>\n                <option>\n                    <name>IProcessorMode2</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptStrategy</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevelSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>CCPosIndRopi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndRwpi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndNoDynInit</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccLang</name>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>IccCDialect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccAllowVLA</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccStaticDestr</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCppInlineSemantics</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccFloatSemantics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCOptStrategySlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCGuardCalls</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccExceptions2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccRTTI2</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>AARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>10</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>AObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>ACaseSensitivity</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacroChars</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnWhat</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnOne</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>ADebug</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AltRegisterNames</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ADefines</name>\n                    <state>ewarm</state>\n                </option>\n                <option>\n                    <name>AList</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AListHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AListing</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Includes</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacDefs</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacExps</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacExec</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OnlyAssed</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MultiLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLengthCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLength</name>\n                    <state>80</state>\n                </option>\n                <option>\n                    <name>TabSpacing</name>\n                    <state>8</state>\n                </option>\n                <option>\n                    <name>AXRef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDefines</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefInternal</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDual</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AOutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsEdit</name>\n                    <state>100</state>\n                </option>\n                <option>\n                    <name>AIgnoreStdInclude</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AUserIncludes</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AExtraOptionsCheckV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AExtraOptionsV2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AsmNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>OBJCOPY</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OOCOutputFormat</name>\n                    <version>3</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OCOutputOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OOCOutputFile</name>\n                    <state>blinky-qv.bin</state>\n                </option>\n                <option>\n                    <name>OOCCommandLineProducer</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OOCObjCopyEnable</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CUSTOM</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <extensions></extensions>\n                <cmdline></cmdline>\n                <hasPrio>0</hasPrio>\n            </data>\n        </settings>\n        <settings>\n            <name>BICOMP</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>BUILDACTION</name>\n            <archiveVersion>1</archiveVersion>\n            <data>\n                <prebuild>cmd /c \"if exist $OBJ_DIR$\\qstamp.o del $OBJ_DIR$\\qstamp.o\"</prebuild>\n                <postbuild></postbuild>\n            </data>\n        </settings>\n        <settings>\n            <name>ILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>20</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>IlinkLibIOConfig</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>XLinkMisraHandler</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkInputFileSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOutputFile</name>\n                    <state>blinky-qv.out</state>\n                </option>\n                <option>\n                    <name>IlinkDebugInfoEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkKeepSymbols</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkConfigDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkMapFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogInitialization</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogModule</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogSection</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogVeneer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfOverride</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile</name>\n                    <state>$PROJ_DIR$\\blinky-qv.icf</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFileSlave</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkSuppressDiags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsRem</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsWarn</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsErr</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkWarningsAreErrors</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkUseExtraOptions</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkLowLevelInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAutoLibEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAdditionalLibs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkOverrideProgramEntryLabel</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabelSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabel</name>\n                    <state>__iar_program_start</state>\n                </option>\n                <option>\n                    <name>DoFill</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>FillerByte</name>\n                    <state>0xFF</state>\n                </option>\n                <option>\n                    <name>FillerStart</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>FillerEnd</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>CrcSize</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcAlign</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcPoly</name>\n                    <state>0x11021</state>\n                </option>\n                <option>\n                    <name>CrcCompl</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcBitOrder</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcInitialValue</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>DoCrc</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkBufferedTerminalOutput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkStdoutInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcFullSize</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIElfToolPostProcess</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogAutoLibSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogRedirSymbols</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogUnusedFragments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcReverseByteOrder</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcUseAsInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptInline</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsAllow</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsForce</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptMergeDuplSections</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptUseVfe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptForceVfe</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackAnalysisEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackControlFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkStackCallGraphFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CrcAlgorithm</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcUnitSize</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkThreadsSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogCallGraph</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile_AltDefault</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkHeapSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLocaleSelect</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IARCHIVE</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>IarchiveInputs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IarchiveOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IarchiveOutput</name>\n                    <state>###Unitialized###</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>BILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>Coder</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n    </configuration>\n    <configuration>\n        <name>Release</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>0</debug>\n        <settings>\n            <name>General</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>ExePath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>ObjPath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>ListPath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>GEndianMode</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>Input description</name>\n                    <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n                </option>\n                <option>\n                    <name>Output description</name>\n                    <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n                </option>\n                <option>\n                    <name>GOutputBinary</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCoreOrChip</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelect</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelectSlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RTDescription</name>\n                    <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n                </option>\n                <option>\n                    <name>OGProductVersion</name>\n                    <state>5.11.0.50579</state>\n                </option>\n                <option>\n                    <name>OGLastSavedByProductVersion</name>\n                    <state>7.60.1.11206</state>\n                </option>\n                <option>\n                    <name>GeneralEnableMisra</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVerbose</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGChipSelectEditMenu</name>\n                    <state>EFM32PG1B200F256GM48\tSiliconLaboratories EFM32PG1B200F256GM48</state>\n                </option>\n                <option>\n                    <name>GenLowLevelInterface</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GEndianModeBE</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OGBufferedTerminalOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenStdoutInterface</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>RTConfigPath2</name>\n                    <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n                </option>\n                <option>\n                    <name>GBECoreSlave</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>OGUseCmsis</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsisDspLib</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibThreads</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CoreVariant</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>GFPUDeviceSlave</name>\n                    <state>EFM32PG1B200F256GM48\tSiliconLaboratories EFM32PG1B200F256GM48</state>\n                </option>\n                <option>\n                    <name>FPU2</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>NrRegs</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>NEON</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUCoreSlave2</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>OGCMSISPackSelectDevice</name>\n                </option>\n                <option>\n                    <name>OgLibHeap</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGLibAdditionalLocale</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGPrintfVariant</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>OGPrintfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGScanfVariant</name>\n                    <version>0</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OGScanfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenLocaleTags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>GenLocaleDisplayOnly</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ICCARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>34</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCOptimizationNoSizeConstraints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDefines</name>\n                    <state>NDEBUG</state>\n                    <state>EFM32PG1B200F256GM48</state>\n                </option>\n                <option>\n                    <name>CCPreprocFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocComments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMnemonics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMessages</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDiagSuppress</name>\n                    <state>Pa050</state>\n                </option>\n                <option>\n                    <name>CCDiagRemark</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagWarning</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagError</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCAllowList</name>\n                    <version>1</version>\n                    <state>11111110</state>\n                </option>\n                <option>\n                    <name>CCDebugInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IEndianMode</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCLangConformance</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSignedPlainChar</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRequirePrototypes</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCDiagWarnAreErr</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCompilerRuntimeInfo</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>CCLibConfigHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>PreInclude</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CompilerMisraOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIncludePath2</name>\n                    <state>$PROJ_DIR$\\..</state>\n                    <state>$PROJ_DIR$\\..\\..</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b</state>\n                </option>\n                <option>\n                    <name>CCStdIncCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCodeSection</name>\n                    <state>.text</state>\n                </option>\n                <option>\n                    <name>IProcessorMode2</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevel</name>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>CCOptStrategy</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevelSlave</name>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>CCPosIndRopi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndRwpi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndNoDynInit</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccLang</name>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>IccCDialect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccAllowVLA</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccStaticDestr</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCppInlineSemantics</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccFloatSemantics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCOptStrategySlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCGuardCalls</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccExceptions2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccRTTI2</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>AARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>10</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>AObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>ACaseSensitivity</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacroChars</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnWhat</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnOne</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>ADebug</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AltRegisterNames</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ADefines</name>\n                    <state>ewarm</state>\n                </option>\n                <option>\n                    <name>AList</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AListHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AListing</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Includes</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacDefs</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacExps</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacExec</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OnlyAssed</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MultiLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLengthCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLength</name>\n                    <state>80</state>\n                </option>\n                <option>\n                    <name>TabSpacing</name>\n                    <state>8</state>\n                </option>\n                <option>\n                    <name>AXRef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDefines</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefInternal</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDual</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AOutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsEdit</name>\n                    <state>100</state>\n                </option>\n                <option>\n                    <name>AIgnoreStdInclude</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AUserIncludes</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AExtraOptionsCheckV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AExtraOptionsV2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AsmNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>OBJCOPY</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OOCOutputFormat</name>\n                    <version>3</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OCOutputOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OOCOutputFile</name>\n                    <state>blinky-qv.bin</state>\n                </option>\n                <option>\n                    <name>OOCCommandLineProducer</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OOCObjCopyEnable</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CUSTOM</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <extensions></extensions>\n                <cmdline></cmdline>\n                <hasPrio>0</hasPrio>\n            </data>\n        </settings>\n        <settings>\n            <name>BICOMP</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>BUILDACTION</name>\n            <archiveVersion>1</archiveVersion>\n            <data>\n                <prebuild>cmd /c \"if exist $OBJ_DIR$\\qstamp.o del $OBJ_DIR$\\qstamp.o\"</prebuild>\n                <postbuild></postbuild>\n            </data>\n        </settings>\n        <settings>\n            <name>ILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>20</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>IlinkLibIOConfig</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>XLinkMisraHandler</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkInputFileSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOutputFile</name>\n                    <state>blinky-qv.out</state>\n                </option>\n                <option>\n                    <name>IlinkDebugInfoEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkKeepSymbols</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkConfigDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkMapFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogInitialization</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogModule</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogSection</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogVeneer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfOverride</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile</name>\n                    <state>$PROJ_DIR$\\blinky-qv.icf</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFileSlave</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkSuppressDiags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsRem</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsWarn</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsErr</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkWarningsAreErrors</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkUseExtraOptions</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkLowLevelInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAutoLibEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAdditionalLibs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkOverrideProgramEntryLabel</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabelSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabel</name>\n                    <state>__iar_program_start</state>\n                </option>\n                <option>\n                    <name>DoFill</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>FillerByte</name>\n                    <state>0xFF</state>\n                </option>\n                <option>\n                    <name>FillerStart</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>FillerEnd</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>CrcSize</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcAlign</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcPoly</name>\n                    <state>0x11021</state>\n                </option>\n                <option>\n                    <name>CrcCompl</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcBitOrder</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcInitialValue</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>DoCrc</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkBufferedTerminalOutput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkStdoutInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcFullSize</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIElfToolPostProcess</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogAutoLibSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogRedirSymbols</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogUnusedFragments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcReverseByteOrder</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcUseAsInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptInline</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsAllow</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsForce</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptMergeDuplSections</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptUseVfe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptForceVfe</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackAnalysisEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackControlFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkStackCallGraphFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CrcAlgorithm</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcUnitSize</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkThreadsSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogCallGraph</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile_AltDefault</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkHeapSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLocaleSelect</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IARCHIVE</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>IarchiveInputs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IarchiveOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IarchiveOutput</name>\n                    <state>###Unitialized###</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>BILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>Coder</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n    </configuration>\n    <group>\n        <name>Application</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\blinky.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\blinky.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\bsp.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\bsp.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\main.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\include\\qstamp.c</name>\n        </file>\n    </group>\n    <group>\n        <name>efm32pg1b</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_assert.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_cmu.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_emu.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_gpio.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_system.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\iar\\startup_efm32pg1b.s</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\system_efm32pg1b.c</name>\n        </file>\n    </group>\n    <group>\n        <name>QP</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qepn.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qfn.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qvn\\qvn.c</name>\n        </file>\n    </group>\n    <group>\n        <name>QP_port</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar\\qvn_port.c</name>\n        </file>\n    </group>\n</project>\n"
  },
  {
    "path": "examples/arm-cm/blinky_efm32-slstk3401a/qv/iar/blinky-qv.eww",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<workspace>\n  <project>\n    <path>$WS_DIR$\\blinky-qv.ewp</path>\n  </project>\n  <batchBuild/>\n</workspace>\n\n\n"
  },
  {
    "path": "examples/arm-cm/blinky_efm32-slstk3401a/qv/iar/blinky-qv.icf",
    "content": "/*###ICF### Section handled by ICF editor, don't touch! ****/\n/*-Editor annotation file-*/\n/* IcfEditorFile=\"$TOOLKIT_DIR$\\config\\ide\\IcfEditor\\cortex_v1_0.xml\" */\n/*-Specials-*/\ndefine symbol __ICFEDIT_intvec_start__ = 0x00000000;\n/*-Memory Regions-*/\ndefine symbol __ICFEDIT_region_ROM_start__ = 0x00000000;\ndefine symbol __ICFEDIT_region_ROM_end__   = 0x0003FFFF;\ndefine symbol __ICFEDIT_region_RAM_start__ = 0x20000000;\ndefine symbol __ICFEDIT_region_RAM_end__   = 0x20007FFF;\n/*-Sizes-*/\ndefine symbol __ICFEDIT_size_cstack__ = 1024;\ndefine symbol __ICFEDIT_size_heap__   = 0;\n/**** End of ICF editor section. ###ICF###*/\n\ndefine memory mem with size = 4G;\ndefine region ROM_region   = mem:[from __ICFEDIT_region_ROM_start__   to __ICFEDIT_region_ROM_end__];\ndefine region RAM_region   = mem:[from __ICFEDIT_region_RAM_start__   to __ICFEDIT_region_RAM_end__];\n\ndefine block CSTACK    with alignment = 8, size = __ICFEDIT_size_cstack__   { };\ndefine block HEAP      with alignment = 8, size = __ICFEDIT_size_heap__     { };\n\ninitialize by copy { readwrite };\ndo not initialize  { section .noinit };\n\nplace at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };\nplace in ROM_region   { readonly };\nplace at start of RAM_region {block CSTACK }; \nplace in RAM_region   { readwrite, block HEAP  };"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/README.txt",
    "content": "About this Example\n==================\nThis directory contains the simple \"Blinky\" QP-nano example application for\nthe EK-TM4C123GXL board (TivaC LauchPad). This directory contains portable\ncode that should compile with any C compiler.\n\nThe sub-directories contain the Board Support Packages (BSPs) for the\npreemptive QK-nano kernel (sub-directory qk), the cooperative QV kernel\n(sub-directory qv), and the Win32-QV emulation (Windows).\n\nThe native kernels (QK-nano and QV-nano) further provide code and project\nfiles for the particular ARM toolchains, such as ARM (MDK-ARM), GNU, and IAR.\n\nPlease refer to the README files in the sub-directories for instructions\nhow to use and customize the example to your needs.\n\n\nSupport Code for EK-TM4C123GXL Board\n====================================\nThe directory qpn\\3rd_party\\ek-tm4c123gxl contains the CMSIS-compliant\ndevice code for the TM4C123GH6PM MCU. Please see the README.txt file in\nthis folder for more details.\n\n\nWin32 Emulation\n===============\nThe sub-directory win32-qv provides the emulation of the example on Windows\nas a console application. The sub-directory contains the Makefile for the\nMinGW toolset and a Visual Studio solution file (blinky.sln) for Visual C++.\n\nThe Win32 emulation uses exactly the same code as the embedded board and\ndiffers only in the Board Support Package (bsp.c). This example demonstrates\nthe \"dual targeting\" development approach, where most of the embedded code\nis developed on the desktop machine (Windows), but is intended for a deeply\nembedded target (TivaC LauchPad here)."
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/README.url",
    "content": "[InternetShortcut]\nURL=http://www.state-machine.com/qpn/arm-cm_blinky_ek-tm4c123gxl.html\nIconFile=http://www.state-machine.com/qp.ico\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/blinky.c",
    "content": "/*****************************************************************************\n* Product: Simple Blinky example\n* Last updated for version 5.4.0\n* Last updated on  2015-05-18\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, www.state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"blinky.h\"\n#include \"bsp.h\"\n\n//Q_DEFINE_THIS_FILE\n\n/*..........................................................................*/\ntypedef struct BlinkyTag {  /* the Blinky active object */\n    QActive super;          /* inherit QActive */\n} Blinky;\n\n/* hierarchical state machine ... */\nstatic QState Blinky_initial(Blinky * const me);\nstatic QState Blinky_off    (Blinky * const me);\nstatic QState Blinky_on     (Blinky * const me);\n\n/* Global objects ----------------------------------------------------------*/\nBlinky AO_Blinky;   /* the single instance of the Blinky AO */\n\n/*..........................................................................*/\nvoid Blinky_ctor(void) {\n    Blinky * const me = &AO_Blinky;\n    QActive_ctor(&me->super, Q_STATE_CAST(&Blinky_initial));\n}\n\n/* HSM definition ----------------------------------------------------------*/\nQState Blinky_initial(Blinky * const me) {\n    QActive_armX((QActive *)me, 0U,\n                 BSP_TICKS_PER_SEC/2U, BSP_TICKS_PER_SEC/2U);\n    return Q_TRAN(&Blinky_off);\n}\n/*..........................................................................*/\nQState Blinky_off(Blinky * const me) {\n    QState status;\n    switch (Q_SIG(me)) {\n        case Q_ENTRY_SIG: {\n            BSP_ledOff();\n            status = Q_HANDLED();\n            break;\n        }\n        case Q_TIMEOUT_SIG: {\n            status = Q_TRAN(&Blinky_on);\n            break;\n        }\n        default: {\n            status = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status;\n}\n/*..........................................................................*/\nQState Blinky_on(Blinky * const me) {\n    QState status;\n    switch (Q_SIG(me)) {\n        case Q_ENTRY_SIG: {\n            BSP_ledOn();\n            status = Q_HANDLED();\n            break;\n        }\n        case Q_TIMEOUT_SIG: {\n            status = Q_TRAN(&Blinky_off);\n            break;\n        }\n        default: {\n            status = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status;\n}\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/blinky.h",
    "content": "/*****************************************************************************\n* Product: simple \"Blinky\" example\n* Last updated for version 5.4.0\n* Last updated on  2015-05-18\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, www.state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BLINKY_H\n#define BLINKY_H\n\nenum BlinkySignals {\n    DUMMY_SIG = Q_USER_SIG,\n    MAX_PUB_SIG,          /* the last published signal */\n\n    TIMEOUT_SIG,\n    MAX_SIG               /* the last signal */\n};\n\nvoid Blinky_ctor(void);\n\nextern struct BlinkyTag AO_Blinky;\n\n#endif /* BLINKY_H */\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/bsp.h",
    "content": "/*****************************************************************************\n* Product: Simple Blinky example\n* Last updated for version 5.4.0\n* Last updated on  2015-05-18\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, www.state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BSP_H\n#define BSP_H\n\n#define BSP_TICKS_PER_SEC    100U\n\nvoid BSP_init(void);\nvoid BSP_ledOff(void);\nvoid BSP_ledOn(void);\n\n#endif /* BSP_H */\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/main.c",
    "content": "/*****************************************************************************\n* Product: \"Blinky\" example\n* Last Updated for Version: 5.8.0\n* Date of the Last Update:  2016-11-06\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"     /* QP-nano API */\n#include \"bsp.h\"     /* Board Support Package */\n#include \"blinky.h\"  /* Application interface */\n\n/* Local-scope objects -----------------------------------------------------*/\nstatic QEvt l_blinkyQSto[10]; /* Event queue storage for Blinky */\n\n/* QF_active[] array defines all active object control blocks --------------*/\nQActiveCB const Q_ROM QF_active[] = {\n    { (QActive *)0,           (QEvt *)0,        0U                      },\n    { (QActive *)&AO_Blinky,  l_blinkyQSto,     Q_DIM(l_blinkyQSto)     }\n};\n\n/*..........................................................................*/\nint main(void) {\n    Blinky_ctor(); /* instantiate all Blinky AO */\n\n    QF_init(Q_DIM(QF_active)); /* initialize the QF-nano framework */\n    BSP_init();      /* initialize the Board Support Package */\n\n    return QF_run(); /* transfer control to QF-nano */\n}\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qk/arm/README.txt",
    "content": "About this Example\n==================\nThis example demonstrates how to use the uVision IDE together with\nthe MDK-ARM toolchain.\n\n***\nNOTE: This example requires installing the following Software Pack\nin the Keil uVision: Keil::TM4C_DFP.\n***\n\n\nuVision Project File\n====================\nThe MDK-ARM uVision project file provided with this example uses\nrelative paths to the QP framework location (includes, port, and\nlibraries. These relative paths must be modified when the project\nis moved to different relative location.\n\n\nAdjusting Stack and Heap Sizes\n==============================\nThe stack and heap sizes are determined in this project by the\ncommand-line options for the ARM assembler (see the Asm tab in\nthe \"Options for Target\" dialog box in uVision). Specifically,\nyou should define symbols: Stack_Size=xxx Heap_Size=yyy, where\nxxx represents a numerical value of stack size and yyy the\nnumerical value of the heap size (for most embedded projects\nyyy should be 0, as the using the heap is not recommended).\n\n\nStartup Code\n============\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s\n\nThe file startup_TM4C123GH6PM.s provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n  "
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qk/arm/blinky-qk.uvoptx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<ProjectOpt xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_optx.xsd\">\n\n  <SchemaVersion>1.0</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Extensions>\n    <cExt>*.c</cExt>\n    <aExt>*.s*; *.src; *.a*</aExt>\n    <oExt>*.obj; *.o</oExt>\n    <lExt>*.lib</lExt>\n    <tExt>*.txt; *.h; *.inc</tExt>\n    <pExt>*.plm</pExt>\n    <CppX>*.cpp</CppX>\n    <nMigrate>0</nMigrate>\n  </Extensions>\n\n  <DaveTm>\n    <dwLowDateTime>0</dwLowDateTime>\n    <dwHighDateTime>0</dwHighDateTime>\n  </DaveTm>\n\n  <Target>\n    <TargetName>blinky-dbg</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\dbg\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>1</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>4</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>1</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>8</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>BIN\\lmidk-agdi.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>UL2CM3(-O207 -S0 -C0 -FO7  -FN1 -FC1000 -FD20000000 -FF0TM4C123_256 -FL040000 -FS00 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E2006F4 -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Target>\n    <TargetName>blinky-rel</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\rel\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>0</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>4</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>0</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>3</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>BIN\\lmidk-agdi.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGUARM</Key>\n          <Name>ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÈ`»\n´­­ª¤ô </Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E10259B -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>-O207 -S0 -C0 -FO7  -FN1 -FC1000 -FD20000000 -FF0TM4C123_256 -FL040000 -FS00 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM)</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Group>\n    <GroupName>Applicatioin</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>1</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\bsp.c</PathWithFileName>\n      <FilenameWithoutPath>bsp.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>2</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\blinky.c</PathWithFileName>\n      <FilenameWithoutPath>blinky.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>3</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\main.c</PathWithFileName>\n      <FilenameWithoutPath>main.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>4</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\blinky.h</PathWithFileName>\n      <FilenameWithoutPath>blinky.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>ek-tm4c123gxl</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>5</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</PathWithFileName>\n      <FilenameWithoutPath>system_TM4C123GH6PM.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>6</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</PathWithFileName>\n      <FilenameWithoutPath>TM4C123GH6PM.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>7</FileNumber>\n      <FileType>2</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s</PathWithFileName>\n      <FilenameWithoutPath>startup_TM4C123GH6PM.s</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>8</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\gpio.h</PathWithFileName>\n      <FilenameWithoutPath>gpio.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>9</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\rom.h</PathWithFileName>\n      <FilenameWithoutPath>rom.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>10</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\sysctl.h</PathWithFileName>\n      <FilenameWithoutPath>sysctl.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>11</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</PathWithFileName>\n      <FilenameWithoutPath>system_TM4C123GH6PM.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>12</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</PathWithFileName>\n      <FilenameWithoutPath>qepn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>13</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</PathWithFileName>\n      <FilenameWithoutPath>qfn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>14</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qkn\\qkn.c</PathWithFileName>\n      <FilenameWithoutPath>qkn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP_port</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>15</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\arm\\qkn_port.c</PathWithFileName>\n      <FilenameWithoutPath>qkn_port.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n</ProjectOpt>\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qk/arm/blinky-qk.uvprojx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<Project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_projx.xsd\">\n\n  <SchemaVersion>2.1</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Targets>\n    <Target>\n      <TargetName>blinky-dbg</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>5060750::V5.06 update 6 (build 750)::ARMCC</pCCUsed>\n      <uAC6>0</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>TM4C123GH6PM</Device>\n          <Vendor>Texas Instruments</Vendor>\n          <PackID>Keil.TM4C_DFP.1.1.0</PackID>\n          <PackURL>http://www.keil.com/pack/</PackURL>\n          <Cpu>IROM(0x00000000,0x040000) IRAM(0x20000000,0x008000) CPUTYPE(\"Cortex-M4\") FPU2 CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0TM4C123_256 -FS00 -FL040000 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:TM4C123GH6PM$Device\\Include\\TM4C123\\TM4C123.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:TM4C123GH6PM$SVD\\TM4C123\\TM4C123GH6PM.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\dbg\\</OutputDirectory>\n          <OutputName>blinky-qk</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>1</DebugInformation>\n          <BrowseInformation>1</BrowseInformation>\n          <ListingPath>.\\dbg\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\dbg\\blinky-qk.bin .\\dbg\\blinky-qk.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>1</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4097</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3></Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M4\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>2</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>1</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>2</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>0</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>0</v6Lang>\n            <v6LangP>0</v6LangP>\n            <vShortEn>0</vShortEn>\n            <vShortWch>0</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>__FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\arm;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile></ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Applicatioin</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>blinky.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\blinky.c</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>blinky.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\blinky.h</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>ek-tm4c123gxl</GroupName>\n          <Files>\n            <File>\n              <FileName>system_TM4C123GH6PM.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</FilePath>\n            </File>\n            <File>\n              <FileName>TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</FilePath>\n            </File>\n            <File>\n              <FileName>startup_TM4C123GH6PM.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s</FilePath>\n            </File>\n            <File>\n              <FileName>gpio.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\gpio.h</FilePath>\n            </File>\n            <File>\n              <FileName>rom.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\rom.h</FilePath>\n            </File>\n            <File>\n              <FileName>sysctl.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\sysctl.h</FilePath>\n            </File>\n            <File>\n              <FileName>system_TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qkn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qkn\\qkn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qkn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\arm\\qkn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n    <Target>\n      <TargetName>blinky-rel</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <uAC6>0</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>TM4C123GH6PM</Device>\n          <Vendor>Texas Instruments</Vendor>\n          <PackID>Keil.TM4C_DFP.1.1.0</PackID>\n          <PackURL>http://www.keil.com/pack/</PackURL>\n          <Cpu>IROM(0x00000000,0x040000) IRAM(0x20000000,0x008000) CPUTYPE(\"Cortex-M4\") FPU2 CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0TM4C123_256 -FS00 -FL040000 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:TM4C123GH6PM$Device\\Include\\TM4C123\\TM4C123.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:TM4C123GH6PM$SVD\\TM4C123\\TM4C123GH6PM.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\rel\\</OutputDirectory>\n          <OutputName>blinky-qk</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>0</DebugInformation>\n          <BrowseInformation>0</BrowseInformation>\n          <ListingPath>.\\rel\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\rel\\blinky-qk.bin .\\rel\\blinky-qk.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>1</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4097</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3></Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M4\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>2</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>4</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>2</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>0</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>0</v6Lang>\n            <v6LangP>0</v6LangP>\n            <vShortEn>0</vShortEn>\n            <vShortWch>0</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>NDEBUG __FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\arm;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile>blinky-qk.sct</ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Applicatioin</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>blinky.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\blinky.c</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>blinky.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\blinky.h</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>ek-tm4c123gxl</GroupName>\n          <Files>\n            <File>\n              <FileName>system_TM4C123GH6PM.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</FilePath>\n            </File>\n            <File>\n              <FileName>TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</FilePath>\n            </File>\n            <File>\n              <FileName>startup_TM4C123GH6PM.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s</FilePath>\n            </File>\n            <File>\n              <FileName>gpio.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\gpio.h</FilePath>\n            </File>\n            <File>\n              <FileName>rom.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\rom.h</FilePath>\n            </File>\n            <File>\n              <FileName>sysctl.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\sysctl.h</FilePath>\n            </File>\n            <File>\n              <FileName>system_TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qkn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qkn\\qkn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qkn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\arm\\qkn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n  </Targets>\n\n  <RTE>\n    <apis/>\n    <components/>\n    <files/>\n  </RTE>\n\n</Project>\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qk/armclang/README.txt",
    "content": "About this Example\n==================\nThis example demonstrates how to use the uVision IDE together with\nthe MDK-ARM toolchain.\n\n***\nNOTE: This example requires installing the following Software Pack\nin the Keil uVision: Keil::TM4C_DFP.\n***\n\n\nuVision Project File\n====================\nThe MDK-ARM uVision project file provided with this example uses\nrelative paths to the QP framework location (includes, port, and\nlibraries. These relative paths must be modified when the project\nis moved to different relative location.\n\n\nAdjusting Stack and Heap Sizes\n==============================\nThe stack and heap sizes are determined in this project by the\ncommand-line options for the ARM assembler (see the Asm tab in\nthe \"Options for Target\" dialog box in uVision). Specifically,\nyou should define symbols: Stack_Size=xxx Heap_Size=yyy, where\nxxx represents a numerical value of stack size and yyy the\nnumerical value of the heap size (for most embedded projects\nyyy should be 0, as the using the heap is not recommended).\n\n\nStartup Code\n============\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s\n\nThe file startup_TM4C123GH6PM.s provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n  "
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qk/armclang/blinky-qk.uvoptx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<ProjectOpt xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_optx.xsd\">\n\n  <SchemaVersion>1.0</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Extensions>\n    <cExt>*.c</cExt>\n    <aExt>*.s*; *.src; *.a*</aExt>\n    <oExt>*.obj; *.o</oExt>\n    <lExt>*.lib</lExt>\n    <tExt>*.txt; *.h; *.inc</tExt>\n    <pExt>*.plm</pExt>\n    <CppX>*.cpp</CppX>\n    <nMigrate>0</nMigrate>\n  </Extensions>\n\n  <DaveTm>\n    <dwLowDateTime>0</dwLowDateTime>\n    <dwHighDateTime>0</dwHighDateTime>\n  </DaveTm>\n\n  <Target>\n    <TargetName>blinky-dbg</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\dbg\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>1</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>4</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>1</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>8</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>BIN\\lmidk-agdi.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>UL2CM3(-O207 -S0 -C0 -FO7  -FN1 -FC1000 -FD20000000 -FF0TM4C123_256 -FL040000 -FS00 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E2006F4 -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Target>\n    <TargetName>blinky-rel</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\rel\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>0</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>4</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>0</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>8</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>BIN\\lmidk-agdi.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGUARM</Key>\n          <Name>ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÈ`»\n´­­ª¤ô </Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E10259B -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>-O207 -S0 -C0 -FO7  -FN1 -FC1000 -FD20000000 -FF0TM4C123_256 -FL040000 -FS00 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM)</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Group>\n    <GroupName>Applicatioin</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>1</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\bsp.c</PathWithFileName>\n      <FilenameWithoutPath>bsp.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>2</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\blinky.c</PathWithFileName>\n      <FilenameWithoutPath>blinky.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>3</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\main.c</PathWithFileName>\n      <FilenameWithoutPath>main.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>4</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\blinky.h</PathWithFileName>\n      <FilenameWithoutPath>blinky.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>ek-tm4c123gxl</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>5</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</PathWithFileName>\n      <FilenameWithoutPath>TM4C123GH6PM.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>6</FileNumber>\n      <FileType>2</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s</PathWithFileName>\n      <FilenameWithoutPath>startup_TM4C123GH6PM.s</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>7</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\gpio.h</PathWithFileName>\n      <FilenameWithoutPath>gpio.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>8</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\rom.h</PathWithFileName>\n      <FilenameWithoutPath>rom.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>9</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\sysctl.h</PathWithFileName>\n      <FilenameWithoutPath>sysctl.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>10</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</PathWithFileName>\n      <FilenameWithoutPath>system_TM4C123GH6PM.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>11</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</PathWithFileName>\n      <FilenameWithoutPath>system_TM4C123GH6PM.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>12</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</PathWithFileName>\n      <FilenameWithoutPath>qepn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>13</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</PathWithFileName>\n      <FilenameWithoutPath>qfn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>14</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qkn\\qkn.c</PathWithFileName>\n      <FilenameWithoutPath>qkn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP_port</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>15</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qfn_port.h</PathWithFileName>\n      <FilenameWithoutPath>qfn_port.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>16</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qkn_port.c</PathWithFileName>\n      <FilenameWithoutPath>qkn_port.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n</ProjectOpt>\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qk/armclang/blinky-qk.uvprojx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<Project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_projx.xsd\">\n\n  <SchemaVersion>2.1</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Targets>\n    <Target>\n      <TargetName>blinky-dbg</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6130001::V6.13.1::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>TM4C123GH6PM</Device>\n          <Vendor>Texas Instruments</Vendor>\n          <PackID>Keil.TM4C_DFP.1.1.0</PackID>\n          <PackURL>http://www.keil.com/pack/</PackURL>\n          <Cpu>IROM(0x00000000,0x040000) IRAM(0x20000000,0x008000) CPUTYPE(\"Cortex-M4\") FPU2 CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0TM4C123_256 -FS00 -FL040000 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:TM4C123GH6PM$Device\\Include\\TM4C123\\TM4C123.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:TM4C123GH6PM$SVD\\TM4C123\\TM4C123GH6PM.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\dbg\\</OutputDirectory>\n          <OutputName>blinky-qk</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>1</DebugInformation>\n          <BrowseInformation>1</BrowseInformation>\n          <ListingPath>.\\dbg\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\dbg\\blinky-qk.bin .\\dbg\\blinky-qk.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>1</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4097</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3></Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M4\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>2</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>0</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>0</vShortEn>\n            <vShortWch>0</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>__FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile></ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Applicatioin</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>blinky.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\blinky.c</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>blinky.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\blinky.h</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>ek-tm4c123gxl</GroupName>\n          <Files>\n            <File>\n              <FileName>TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</FilePath>\n            </File>\n            <File>\n              <FileName>startup_TM4C123GH6PM.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s</FilePath>\n            </File>\n            <File>\n              <FileName>gpio.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\gpio.h</FilePath>\n            </File>\n            <File>\n              <FileName>rom.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\rom.h</FilePath>\n            </File>\n            <File>\n              <FileName>sysctl.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\sysctl.h</FilePath>\n            </File>\n            <File>\n              <FileName>system_TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</FilePath>\n            </File>\n            <File>\n              <FileName>system_TM4C123GH6PM.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qkn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qkn\\qkn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qkn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qkn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n    <Target>\n      <TargetName>blinky-rel</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6130001::V6.13.1::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>TM4C123GH6PM</Device>\n          <Vendor>Texas Instruments</Vendor>\n          <PackID>Keil.TM4C_DFP.1.1.0</PackID>\n          <PackURL>http://www.keil.com/pack/</PackURL>\n          <Cpu>IROM(0x00000000,0x040000) IRAM(0x20000000,0x008000) CPUTYPE(\"Cortex-M4\") FPU2 CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0TM4C123_256 -FS00 -FL040000 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:TM4C123GH6PM$Device\\Include\\TM4C123\\TM4C123.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:TM4C123GH6PM$SVD\\TM4C123\\TM4C123GH6PM.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\rel\\</OutputDirectory>\n          <OutputName>blinky-qk</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>0</DebugInformation>\n          <BrowseInformation>0</BrowseInformation>\n          <ListingPath>.\\rel\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\rel\\blinky-qk.bin .\\rel\\blinky-qk.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>1</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4097</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3></Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M4\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>2</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>0</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>0</vShortEn>\n            <vShortWch>0</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>NDEBUG __FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile>blinky-qk.sct</ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Applicatioin</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>blinky.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\blinky.c</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>blinky.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\blinky.h</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>ek-tm4c123gxl</GroupName>\n          <Files>\n            <File>\n              <FileName>TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</FilePath>\n            </File>\n            <File>\n              <FileName>startup_TM4C123GH6PM.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s</FilePath>\n            </File>\n            <File>\n              <FileName>gpio.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\gpio.h</FilePath>\n            </File>\n            <File>\n              <FileName>rom.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\rom.h</FilePath>\n            </File>\n            <File>\n              <FileName>sysctl.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\sysctl.h</FilePath>\n            </File>\n            <File>\n              <FileName>system_TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</FilePath>\n            </File>\n            <File>\n              <FileName>system_TM4C123GH6PM.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qkn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qkn\\qkn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qkn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qkn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n  </Targets>\n\n  <RTE>\n    <apis/>\n    <components/>\n    <files/>\n  </RTE>\n\n</Project>\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qk/bsp.c",
    "content": "/*****************************************************************************\n* Product: \"Blinky\" on EK-TM4C123GXL board, preemptive QK kernel\n* Last Updated for Version: 5.5.1\n* Date of the Last Update:  2015-10-05\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"blinky.h\"\n#include \"bsp.h\"\n\n#include \"TM4C123GH6PM.h\"        /* the device specific header (TI) */\n#include \"rom.h\"                 /* the built-in ROM functions (TI) */\n#include \"sysctl.h\"              /* system control driver (TI) */\n#include \"gpio.h\"                /* GPIO driver (TI) */\n/* add other drivers if necessary... */\n\n//Q_DEFINE_THIS_FILE\n\n/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n* Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n* DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n*/\nenum KernelUnawareISRs { /* see NOTE00 */\n    /* ... */\n    MAX_KERNEL_UNAWARE_CMSIS_PRI  /* keep always last */\n};\n/* \"kernel-unaware\" interrupts can't overlap \"kernel-aware\" interrupts */\nQ_ASSERT_COMPILE(MAX_KERNEL_UNAWARE_CMSIS_PRI <= QF_AWARE_ISR_CMSIS_PRI);\n\nenum KernelAwareISRs {\n    SYSTICK_PRIO = QF_AWARE_ISR_CMSIS_PRI, /* see NOTE00 */\n    /* ... */\n    MAX_KERNEL_AWARE_CMSIS_PRI /* keep always last */\n};\n/* \"kernel-aware\" interrupts should not overlap the PendSV priority */\nQ_ASSERT_COMPILE(MAX_KERNEL_AWARE_CMSIS_PRI <= (0xFF >>(8-__NVIC_PRIO_BITS)));\n\n/* ISRs defined in this BSP ------------------------------------------------*/\nvoid SysTick_Handler(void);\nvoid GPIOPortA_IRQHandler(void);\n\n/* Local-scope objects -----------------------------------------------------*/\n#define LED_RED     (1U << 1)\n#define LED_GREEN   (1U << 3)\n#define LED_BLUE    (1U << 2)\n\n#define BTN_SW1     (1U << 4)\n#define BTN_SW2     (1U << 0)\n\n/* ISRs used in this project ===============================================*/\nvoid SysTick_Handler(void) {\n    QK_ISR_ENTRY();  /* inform QK about entering an ISR */\n    QF_tickXISR(0U); /* process time events for rate 0 */\n    QK_ISR_EXIT();   /* inform QK about exiting an ISR */\n}\n\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    /* NOTE: SystemInit() already called from the startup code\n    *  but SystemCoreClock needs to be updated\n    */\n    SystemCoreClockUpdate();\n\n    /* configure the FPU usage by choosing one of the options... */\n#if 1\n    /* OPTION 1:\n    * Use the automatic FPU state preservation and the FPU lazy stacking.\n    *\n    * NOTE:\n    * Use the following setting when FPU is used in more than one task or\n    * in any ISRs. This setting is the safest and recommended, but requires\n    * extra stack space and CPU cycles.\n    */\n    FPU->FPCCR |= (1U << FPU_FPCCR_ASPEN_Pos) | (1U << FPU_FPCCR_LSPEN_Pos);\n#else\n    /* OPTION 2:\n    * Do NOT to use the automatic FPU state preservation and\n    * do NOT to use the FPU lazy stacking.\n    *\n    * NOTE:\n    * Use the following setting when FPU is used in ONE task only and not\n    * in any ISR. This setting is very efficient, but if more than one task\n    * (or ISR) start using the FPU, this can lead to corruption of the\n    * FPU registers. This option should be used with CAUTION.\n    */\n    FPU->FPCCR &= ~((1U << FPU_FPCCR_ASPEN_Pos)\n                   | (1U << FPU_FPCCR_LSPEN_Pos));\n#endif\n\n    /* enable clock for to the peripherals used by this application... */\n    SYSCTL->RCGCGPIO |= (1U << 5); /* enable Run mode for GPIOF */\n\n    /* configure the LEDs and push buttons */\n    GPIOF->DIR |= (LED_RED | LED_GREEN | LED_BLUE);/* set direction: output */\n    GPIOF->DEN |= (LED_RED | LED_GREEN | LED_BLUE); /* digital enable */\n    GPIOF->DATA_Bits[LED_RED]   = 0U; /* turn the LED off */\n    GPIOF->DATA_Bits[LED_GREEN] = 0U; /* turn the LED off */\n    GPIOF->DATA_Bits[LED_BLUE]  = 0U; /* turn the LED off */\n\n    /* configure the Buttons */\n    GPIOF->DIR &= ~(BTN_SW1 | BTN_SW2); /*  set direction: input */\n    ROM_GPIOPadConfigSet(GPIOF_BASE, (BTN_SW1 | BTN_SW2),\n                         GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU);\n}\n/*..........................................................................*/\nvoid BSP_ledOff(void) {\n    GPIOF->DATA_Bits[LED_GREEN] = 0U;\n}\n/*..........................................................................*/\nvoid BSP_ledOn(void) {\n    /* exercise the FPU with some floating point computations */\n    float volatile x = 3.1415926F;\n    x = x + 2.7182818F;\n\n    GPIOF->DATA_Bits[LED_GREEN] = 0xFFU;\n}\n\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    /* set up the SysTick timer to fire at BSP_TICKS_PER_SEC rate */\n    SysTick_Config(SystemCoreClock / BSP_TICKS_PER_SEC);\n\n    /* assing all priority bits for preemption-prio. and none to sub-prio. */\n    NVIC_SetPriorityGrouping(0U);\n\n    /* set priorities of ALL ISRs used in the system, see NOTE00\n    *\n    * !!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n    * Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n    * DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n    */\n    NVIC_SetPriority(SysTick_IRQn,   SYSTICK_PRIO);\n    /* ... */\n\n    /* enable IRQs... */\n}\n/*..........................................................................*/\nvoid QK_onIdle(void) {\n    /* toggle LED2 on and then off, see NOTE01 */\n    QF_INT_DISABLE();\n    GPIOF->DATA_Bits[LED_BLUE] = 0xFFU;\n    GPIOF->DATA_Bits[LED_BLUE] = 0x00U;\n    QF_INT_ENABLE();\n\n#ifdef NDEBUG\n    /* Put the CPU and peripherals to the low-power mode.\n    * you might need to customize the clock management for your application,\n    * see the datasheet for your particular Cortex-M3 MCU.\n    */\n    __WFI(); /* Wait-For-Interrupt */\n#endif\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const module, int loc) {\n    /*\n    * NOTE: add here your application-specific error handling\n    */\n    (void)module;\n    (void)loc;\n\n    NVIC_SystemReset();\n}\n\n/*****************************************************************************\n* NOTE00:\n* The QF_AWARE_ISR_CMSIS_PRI constant from the QF port specifies the highest\n* ISR priority that is disabled by the QF framework. The value is suitable\n* for the NVIC_SetPriority() CMSIS function.\n*\n* Only ISRs prioritized at or below the QF_AWARE_ISR_CMSIS_PRI level (i.e.,\n* with the numerical values of priorities equal or higher than\n* QF_AWARE_ISR_CMSIS_PRI) are allowed to call any QF services. These ISRs\n* are \"QF-aware\".\n*\n* Conversely, any ISRs prioritized above the QF_AWARE_ISR_CMSIS_PRI priority\n* level (i.e., with the numerical values of priorities less than\n* QF_AWARE_ISR_CMSIS_PRI) are never disabled and are not aware of the kernel.\n* Such \"QF-unaware\" ISRs cannot call any QF services. The only mechanism\n* by which a \"QF-unaware\" ISR can communicate with the QF framework is by\n* triggering a \"QF-aware\" ISR, which can post/publish events.\n*\n* NOTE01:\n* One of the LEDs is used to visualize the idle loop activity. The brightness\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qk/gnu/.ccsproject",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<?ccsproject version=\"1.0\"?>\n<projectOptions>\n\t<ccsVersion value=\"7.4.0\"/>\n\t<deviceVariant value=\"Cortex M.TM4C123GH6PM\"/>\n\t<deviceFamily value=\"TMS470\"/>\n\t<deviceEndianness value=\"little\"/>\n\t<codegenToolVersion value=\"GNU_6.3.1:Linaro\"/>\n\t<isElfFormat value=\"true\"/>\n\t<connection value=\"common/targetdb/connections/Stellaris_ICDI_Connection.xml\"/>\n\t<linkerCommandFile value=\"tm4c123gh6pm.lds\"/>\n\t<rts value=\"libc.a\"/>\n\t<createSlaveProjects value=\"\"/>\n\t<templateProperties value=\"id=com.ti.common.project.core.emptyProjectTemplate_gnu_arm,\"/>\n\t<filesToOpen value=\"\"/>\n\t<isTargetManual value=\"false\"/>\n</projectOptions>\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qk/gnu/.cproject",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<?fileVersion 4.0.0?><cproject storage_type_id=\"org.eclipse.cdt.core.XmlProjectDescriptionStorage\">\n\t<storageModule configRelations=\"2\" moduleId=\"org.eclipse.cdt.core.settings\">\n\t\t<cconfiguration id=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug.534492546\">\n\t\t\t<storageModule buildSystemId=\"org.eclipse.cdt.managedbuilder.core.configurationDataProvider\" id=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug.534492546\" moduleId=\"org.eclipse.cdt.core.settings\" name=\"Debug\">\n\t\t\t\t<externalSettings/>\n\t\t\t\t<extensions>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.binaryparser.CoffParser\" point=\"org.eclipse.cdt.core.BinaryParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GmakeErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GASErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GLDErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GCCErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t</extensions>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t\t\t<configuration artifactExtension=\"out\" artifactName=\"${ProjName}\" buildProperties=\"\" cleanCommand=\"${CG_CLEAN_CMD}\" description=\"\" id=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug.534492546\" name=\"Debug\" parent=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug\">\n\t\t\t\t\t<folderInfo id=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug.534492546.\" name=\"/\" resourcePath=\"\">\n\t\t\t\t\t\t<toolChain id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.DebugToolchain.380301443\" name=\"TI Build Tools\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.DebugToolchain\" targetTool=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.linkerDebug.123457069\">\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.964772037\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_CONFIGURATION_ID=Cortex M.TM4C123GH6PM\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_ENDIANNESS=little\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_FORMAT=ELF\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"LINKER_COMMAND_FILE=tm4c123gh6pm.lds\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"RUNTIME_SUPPORT_LIBRARY=libc.a\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"CCS_MBS_VERSION=6.1.3\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_TYPE=executable\"/>\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.904099521\" name=\"Compiler version\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION\" value=\"GNU_6.3.1:Linaro\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<targetPlatform id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.targetPlatformDebug.895530531\" name=\"Platform\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.targetPlatformDebug\"/>\n\t\t\t\t\t\t\t<builder buildPath=\"${BuildDirectory}\" id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.builderDebug.834922118\" keepEnvironmentInBuildfile=\"false\" name=\"GNU Make\" parallelBuildOn=\"true\" parallelizationNumber=\"optimal\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.builderDebug\"/>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.compilerDebug.861559358\" name=\"GNU Compiler\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.compilerDebug\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.CODE_STATE.326931710\" name=\"Code state\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.CODE_STATE\" value=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.CODE_STATE.THUMB\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MARCH.1627488652\" name=\"Specify the name of the target architecture (-march)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MARCH\" value=\"armv7e-m\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MCPU.2064354121\" name=\"Target CPU (-mcpu)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MCPU\" value=\"cortex-m4\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MFPU.1916890427\" name=\"Specify the name of the target floating point hardware/format (-mfpu)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MFPU\" value=\"fpv4-sp-d16\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MFLOAT_ABI.315769723\" name=\"Specify if floating point hardware should be used (-mfloat-abi)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MFLOAT_ABI\" value=\"hard\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.FUNCTION_SECTIONS.1495418449\" name=\"Place each function into its own section (-ffunction-sections)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.FUNCTION_SECTIONS\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DATA_SECTIONS.1446118351\" name=\"Place data items into their own section (-fdata-sections)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DATA_SECTIONS\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DEFINE.865670737\" name=\"Define symbols (-D)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DEFINE\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"__FPU_PRESENT\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"TARGET_IS_TM4C123_RB1\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.INCLUDE_PATH.974128893\" name=\"Include paths (-I)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.INCLUDE_PATH\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../..\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../src\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../ports/arm-cm/qk/gnu\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../3rd_party/ek-tm4c123gxl\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../3rd_party/CMSIS/Include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CG_TOOL_INCLUDE_PATH}\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DEBUG.882013544\" name=\"Generate debug information (-g)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DEBUG\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DWARF_VERSION.433735214\" name=\"Generate debug information in DWARF version (-gdwarf-)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DWARF_VERSION\" value=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DWARF_VERSION.3\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.STRICT_DWARF.1684136090\" name=\"Do not emit DWARF additions beyond selected version (-gstrict-dwarf)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.STRICT_DWARF\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.SPECS.1704724465\" name=\"Override built-in specs with the contents of the specified file (-specs)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.SPECS\" value=\"&quot;nosys.specs&quot;\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.ASM_SPECIFIC_FLAGS.1586473819\" name=\"Assembly source specific flags\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.ASM_SPECIFIC_FLAGS\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"-x assembler-with-cpp\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.OTHER_ASM_FLAGS.572364895\" name=\"Other assembler flags (-Xassembler)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.OTHER_ASM_FLAGS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__C_SRCS.914425103\" name=\"C Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__C_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__CPP_SRCS.1969735213\" name=\"C++ Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__CPP_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__ASM_SRCS.1435568092\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__ASM_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__ASM2_SRCS.941675283\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__ASM2_SRCS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.linkerDebug.123457069\" name=\"GNU Linker\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.linkerDebug\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.OUTPUT_FILE.839981367\" name=\"Output file (-o)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.OUTPUT_FILE\" value=\"${ProjName}.out\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.MAP_FILE.1555000467\" name=\"Write a map file (-Map)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.MAP_FILE\" value=\"${ProjName}.map\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.LIBRARY.1347913029\" name=\"Libraries (-l, --library)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.LIBRARY\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.SCRIPTS.933040553\" name=\"Linker command files (-T, --script)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.SCRIPTS\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NOSTARTFILES.879149092\" name=\"Do not use the standard system startup files when linking (-nostartfiles)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NOSTARTFILES\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NODEFAULTLIBS.718462702\" name=\"Do not use the standard system libraries when linking (-nodefaultlibs)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NODEFAULTLIBS\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.GC_SECTIONS.842383496\" name=\"Remove unused sections (--gc-sections)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.GC_SECTIONS\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.STATIC.869793521\" name=\"Do not link with the shared libraries (-static)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.STATIC\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NOSTDLIB.255196952\" name=\"Do not use the standard system startup files or libraries when linking (-nostdlib)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NOSTDLIB\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__CMD_SRCS.677089481\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__CMD_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__CMD2_SRCS.1897887025\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__CMD2_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__GEN_CMDS.1685978282\" name=\"Generated Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__GEN_CMDS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.hex.591401063\" name=\"GNU Objcopy Utility\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.hex\"/>\n\t\t\t\t\t\t</toolChain>\n\t\t\t\t\t</folderInfo>\n\t\t\t\t\t<sourceEntries>\n\t\t\t\t\t\t<entry flags=\"VALUE_WORKSPACE_PATH|RESOLVED\" kind=\"sourcePath\" name=\"\"/>\n\t\t\t\t\t</sourceEntries>\n\t\t\t\t</configuration>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"org.eclipse.cdt.core.externalSettings\"/>\n\t\t</cconfiguration>\n\t\t<cconfiguration id=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug.534492546.1358541448\">\n\t\t\t<storageModule buildSystemId=\"org.eclipse.cdt.managedbuilder.core.configurationDataProvider\" id=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug.534492546.1358541448\" moduleId=\"org.eclipse.cdt.core.settings\" name=\"Release\">\n\t\t\t\t<externalSettings/>\n\t\t\t\t<extensions>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.binaryparser.CoffParser\" point=\"org.eclipse.cdt.core.BinaryParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GmakeErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GASErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GLDErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GCCErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t</extensions>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t\t\t<configuration artifactExtension=\"out\" artifactName=\"${ProjName}\" buildProperties=\"\" cleanCommand=\"${CG_CLEAN_CMD}\" description=\"\" id=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug.534492546.1358541448\" name=\"Release\" parent=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug\">\n\t\t\t\t\t<folderInfo id=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug.534492546.1358541448.\" name=\"/\" resourcePath=\"\">\n\t\t\t\t\t\t<toolChain id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.DebugToolchain.469823560\" name=\"TI Build Tools\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.DebugToolchain\" targetTool=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.linkerDebug.123457069\">\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1846983527\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_CONFIGURATION_ID=Cortex M.TM4C123GH6PM\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_ENDIANNESS=little\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_FORMAT=ELF\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"LINKER_COMMAND_FILE=tm4c123gh6pm.lds\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"RUNTIME_SUPPORT_LIBRARY=libc.a\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"CCS_MBS_VERSION=6.1.3\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_TYPE=executable\"/>\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1616299930\" name=\"Compiler version\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION\" value=\"GNU_6.3.1:Linaro\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<targetPlatform id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.targetPlatformDebug.1508626334\" name=\"Platform\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.targetPlatformDebug\"/>\n\t\t\t\t\t\t\t<builder buildPath=\"${BuildDirectory}\" id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.builderDebug.688117887\" keepEnvironmentInBuildfile=\"false\" name=\"GNU Make\" parallelBuildOn=\"true\" parallelizationNumber=\"optimal\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.builderDebug\"/>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.compilerDebug.1088691316\" name=\"GNU Compiler\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.compilerDebug\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.CODE_STATE.798076657\" name=\"Code state\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.CODE_STATE\" value=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.CODE_STATE.THUMB\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MARCH.707868929\" name=\"Specify the name of the target architecture (-march)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MARCH\" value=\"armv7e-m\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MCPU.786098950\" name=\"Target CPU (-mcpu)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MCPU\" value=\"cortex-m4\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MFPU.148452124\" name=\"Specify the name of the target floating point hardware/format (-mfpu)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MFPU\" value=\"fpv4-sp-d16\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MFLOAT_ABI.801715358\" name=\"Specify if floating point hardware should be used (-mfloat-abi)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MFLOAT_ABI\" value=\"hard\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.FUNCTION_SECTIONS.878443810\" name=\"Place each function into its own section (-ffunction-sections)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.FUNCTION_SECTIONS\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DATA_SECTIONS.1031205950\" name=\"Place data items into their own section (-fdata-sections)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DATA_SECTIONS\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DEFINE.411887178\" name=\"Define symbols (-D)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DEFINE\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"NDEBUG\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"__FPU_PRESENT\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"TARGET_IS_TM4C123_RB1\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.INCLUDE_PATH.254795141\" name=\"Include paths (-I)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.INCLUDE_PATH\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../..\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../src\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../ports/arm-cm/qk/gnu\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../3rd_party/ek-tm4c123gxl\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../3rd_party/CMSIS/Include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CG_TOOL_INCLUDE_PATH}\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DEBUG.543537113\" name=\"Generate debug information (-g)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DEBUG\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DWARF_VERSION.2113079762\" name=\"Generate debug information in DWARF version (-gdwarf-)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DWARF_VERSION\" value=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DWARF_VERSION.3\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.STRICT_DWARF.550208473\" name=\"Do not emit DWARF additions beyond selected version (-gstrict-dwarf)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.STRICT_DWARF\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.SPECS.341010137\" name=\"Override built-in specs with the contents of the specified file (-specs)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.SPECS\" value=\"&quot;nosys.specs&quot;\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.ASM_SPECIFIC_FLAGS.1061535145\" name=\"Assembly source specific flags\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.ASM_SPECIFIC_FLAGS\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"-x assembler-with-cpp\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.OTHER_ASM_FLAGS.896297329\" name=\"Other assembler flags (-Xassembler)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.OTHER_ASM_FLAGS\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.OPT_LEVEL.1263665319\" name=\"Optimization Level\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.OPT_LEVEL\" value=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.OPT_LEVEL._none\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__C_SRCS.1417096077\" name=\"C Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__C_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__CPP_SRCS.898382215\" name=\"C++ Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__CPP_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__ASM_SRCS.620774366\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__ASM_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__ASM2_SRCS.1123298780\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__ASM2_SRCS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.linkerDebug.1991437074\" name=\"GNU Linker\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.linkerDebug\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.OUTPUT_FILE.1004944054\" name=\"Output file (-o)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.OUTPUT_FILE\" value=\"${ProjName}.out\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.MAP_FILE.218517326\" name=\"Write a map file (-Map)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.MAP_FILE\" value=\"${ProjName}.map\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.LIBRARY.819950368\" name=\"Libraries (-l, --library)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.LIBRARY\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.SCRIPTS.167426702\" name=\"Linker command files (-T, --script)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.SCRIPTS\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NOSTARTFILES.733649217\" name=\"Do not use the standard system startup files when linking (-nostartfiles)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NOSTARTFILES\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NODEFAULTLIBS.476050719\" name=\"Do not use the standard system libraries when linking (-nodefaultlibs)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NODEFAULTLIBS\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.GC_SECTIONS.276221738\" name=\"Remove unused sections (--gc-sections)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.GC_SECTIONS\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.STATIC.834002460\" name=\"Do not link with the shared libraries (-static)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.STATIC\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NOSTDLIB.1455376847\" name=\"Do not use the standard system startup files or libraries when linking (-nostdlib)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NOSTDLIB\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__CMD_SRCS.1367738909\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__CMD_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__CMD2_SRCS.41064114\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__CMD2_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__GEN_CMDS.1093744184\" name=\"Generated Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__GEN_CMDS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.hex.395050261\" name=\"GNU Objcopy Utility\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.hex\"/>\n\t\t\t\t\t\t</toolChain>\n\t\t\t\t\t</folderInfo>\n\t\t\t\t\t<sourceEntries>\n\t\t\t\t\t\t<entry flags=\"VALUE_WORKSPACE_PATH|RESOLVED\" kind=\"sourcePath\" name=\"\"/>\n\t\t\t\t\t</sourceEntries>\n\t\t\t\t</configuration>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"org.eclipse.cdt.core.externalSettings\"/>\n\t\t</cconfiguration>\n\t</storageModule>\n\t<storageModule moduleId=\"org.eclipse.cdt.core.LanguageSettingsProviders\"/>\n\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t<project id=\"blinky-qk.com.ti.ccstudio.buildDefinitions.TMS470.ProjectType.678184951\" name=\"TMS470\" projectType=\"com.ti.ccstudio.buildDefinitions.TMS470.ProjectType\"/>\n\t</storageModule>\n\t<storageModule moduleId=\"scannerConfiguration\"/>\n\t<storageModule moduleId=\"org.eclipse.cdt.core.language.mapping\">\n\t\t<project-mappings>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.asmSource\" language=\"com.ti.ccstudio.core.TIASMLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cHeader\" language=\"com.ti.ccstudio.core.TIGCCLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cSource\" language=\"com.ti.ccstudio.core.TIGCCLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cxxHeader\" language=\"com.ti.ccstudio.core.TIGPPLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cxxSource\" language=\"com.ti.ccstudio.core.TIGPPLanguage\"/>\n\t\t</project-mappings>\n\t</storageModule>\n</cproject>\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qk/gnu/.project",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<projectDescription>\n\t<name>blinky-qk</name>\n\t<comment></comment>\n\t<projects>\n\t</projects>\n\t<buildSpec>\n\t\t<buildCommand>\n\t\t\t<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t\t<buildCommand>\n\t\t\t<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>\n\t\t\t<triggers>full,incremental,</triggers>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t</buildSpec>\n\t<natures>\n\t\t<nature>com.ti.ccstudio.core.ccsNature</nature>\n\t\t<nature>org.eclipse.cdt.core.cnature</nature>\n\t\t<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>\n\t\t<nature>org.eclipse.cdt.core.ccnature</nature>\n\t\t<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>\n\t</natures>\n\t<linkedResources>\n\t\t<link>\n\t\t\t<name>QK-nano</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/src/qkn</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>QP-nano</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/src/qfn</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>QP_port</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/ports/arm-cm/qk/gnu</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>TM4C123GH6PM.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/3rd_party/ek-tm4c123gxl/TM4C123GH6PM.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>blinky.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/blinky.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>blinky.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/blinky.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>bsp.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-1-PROJECT_LOC/bsp.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>bsp.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/bsp.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>gpio.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/3rd_party/ek-tm4c123gxl/gpio.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>main.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/main.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>qstamp.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/include/qstamp.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>rom.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/3rd_party/ek-tm4c123gxl/rom.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>startup_TM4C123GH6PM.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/3rd_party/ek-tm4c123gxl/gnu/startup_TM4C123GH6PM.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>sysctl.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/3rd_party/ek-tm4c123gxl/sysctl.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>system_TM4C123GH6PM.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/3rd_party/ek-tm4c123gxl/system_TM4C123GH6PM.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>system_TM4C123GH6PM.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/3rd_party/ek-tm4c123gxl/system_TM4C123GH6PM.h</locationURI>\n\t\t</link>\n\t</linkedResources>\n</projectDescription>\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qk/gnu/Makefile",
    "content": "##############################################################################\n# Product: Makefile for QP-nano on EK-TM4C123GXL, QK-nano, GNU-ARM\n# Last Updated for Version: 6.5.0\n# Date of the Last Update:  2019-04-15\n#\n#                    Q u a n t u m  L e a P s\n#                    ------------------------\n#                    Modern Embedded Software\n#\n# Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# https://www.state-machine.com\n# mailto:info@state-machine.com\n##############################################################################\n# examples of invoking this Makefile:\n# building configurations: Debug (default), Release, and Spy\n# make\n# make CONF=rel\n#\n# cleaning configurations: Debug (default), Release, and Spy\n# make clean\n# make CONF=rel clean\n#\n# NOTE:\n# To use this Makefile on Windows, you will need the GNU make utility, which\n# is included in the Qtools collection for Windows, see:\n#    http://sourceforge.net/projects/qpc/files/Qtools/\n#\n\n#-----------------------------------------------------------------------------\n# project name\n#\nPROJECT     := blinky-qk\n\n#-----------------------------------------------------------------------------\n# project directories\n#\n\n# location of the QP-nano framework (if not provided in an environemnt var.)\nifeq ($(QPN),)\nQPN := ../../../../..\nendif\n\n# QP port used in this project\nQP_PORT_DIR := $(QPN)/ports/arm-cm/qk/gnu\n\n# list of all source directories used by this project\nVPATH = \\\n\t.. \\\n\t../.. \\\n\t$(QPN)/src/qfn \\\n\t$(QPN)/src/qkn \\\n\t$(QP_PORT_DIR) \\\n\t$(QPN)/3rd_party/ek-tm4c123gxl \\\n\t$(QPN)/3rd_party/ek-tm4c123gxl/gnu\n\n# list of all include directories needed by this project\nINCLUDES  = \\\n\t-I../.. \\\n\t-I$(QPN)/include \\\n\t-I$(QP_PORT_DIR) \\\n\t-I$(QPN)/3rd_party/CMSIS/Include \\\n\t-I$(QPN)/3rd_party/ek-tm4c123gxl\n\n#-----------------------------------------------------------------------------\n# files\n#\n\n# assembler source files\nASM_SRCS :=\n\n# C source files\nC_SRCS := \\\n\tblinky.c \\\n\tbsp.c \\\n\tmain.c \\\n\tsystem_TM4C123GH6PM.c \\\n\tstartup_TM4C123GH6PM.c\n\n# C++ source files\nCPP_SRCS :=\n\nOUTPUT    := $(PROJECT)\nLD_SCRIPT := $(PROJECT).ld\n\nQP_SRCS := \\\n\tqepn.c \\\n\tqfn.c \\\n\tqkn.c \\\n\tqkn_port.c\n\nQP_ASMS :=\n\nLIB_DIRS  :=\nLIBS      :=\n\n# defines\nDEFINES   := -DTARGET_IS_TM4C123_RB1\n\n# ARM CPU, ARCH, FPU, and Float-ABI types...\n# ARM_CPU:   [cortex-m0 | cortex-m0plus | cortex-m1 | cortex-m3 | cortex-m4]\n# ARM_ARCH:  [6 | 7] (NOTE: must match ARM_CPU!)\n# ARM_FPU:   [ | vfp]\n# FLOAT_ABI: [ | soft | softfp | hard]\n#\nARM_CPU   := -mcpu=cortex-m4\nARM_ARCH  := 7   # NOTE: must match the ARM_CPU!\nARM_FPU   := -mfpu=vfp\nFLOAT_ABI := -mfloat-abi=softfp\n\n#-----------------------------------------------------------------------------\n# GNU-ARM toolset (NOTE: You need to adjust to your machine)\n# see https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads\n#\nifeq ($(GNU_ARM),)\nGNU_ARM := $(QTOOLS)/gnu_arm-none-eabi\nendif\n\n# make sure that the GNU-ARM toolset exists...\nifeq (\"$(wildcard $(GNU_ARM))\",\"\")\n$(error GNU_ARM toolset not found. Please adjust the Makefile)\nendif\n\nCC    := $(GNU_ARM)/bin/arm-none-eabi-gcc\nCPP   := $(GNU_ARM)/bin/arm-none-eabi-g++\nAS    := $(GNU_ARM)/bin/arm-none-eabi-as\nLINK  := $(GNU_ARM)/bin/arm-none-eabi-g++\nBIN   := $(GNU_ARM)/bin/arm-none-eabi-objcopy\n\n\n##############################################################################\n# Typically, you should not need to change anything below this line\n\n# basic utilities (included in Qtools for Windows), see:\n#    http://sourceforge.net/projects/qpc/files/Qtools\n\nMKDIR := mkdir\nRM    := rm\n\n#-----------------------------------------------------------------------------\n# build options for various configurations for ARM Cortex-M\n#\n\n# combine all the soruces...\nC_SRCS += $(QP_SRCS)\nASM_SRCS += $(QP_ASMS)\n\nifeq (rel, $(CONF)) # Release configuration ..................................\n\nBIN_DIR := rel\n\nASFLAGS = $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O1 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nCPPFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O1 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nelse # default Debug configuration ..........................................\n\nBIN_DIR := dbg\n\nASFLAGS = -g $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O $(INCLUDES) $(DEFINES)\n\nCPPFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O $(INCLUDES) $(DEFINES)\n\nendif # ......................................................................\n\n\nLINKFLAGS = -T$(LD_SCRIPT) $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb \\\n\t-specs=nosys.specs -specs=nano.specs \\\n\t-Wl,-Map,$(BIN_DIR)/$(OUTPUT).map,--cref,--gc-sections $(LIB_DIRS)\n\n\nASM_OBJS     := $(patsubst %.s,%.o,  $(notdir $(ASM_SRCS)))\nC_OBJS       := $(patsubst %.c,%.o,  $(notdir $(C_SRCS)))\nCPP_OBJS     := $(patsubst %.cpp,%.o,$(notdir $(CPP_SRCS)))\n\nTARGET_BIN   := $(BIN_DIR)/$(OUTPUT).bin\nTARGET_ELF   := $(BIN_DIR)/$(OUTPUT).elf\nASM_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(ASM_OBJS))\nC_OBJS_EXT   := $(addprefix $(BIN_DIR)/, $(C_OBJS))\nC_DEPS_EXT   := $(patsubst %.o, %.d, $(C_OBJS_EXT))\nCPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))\nCPP_DEPS_EXT := $(patsubst %.o, %.d, $(CPP_OBJS_EXT))\n\n# create $(BIN_DIR) if it does not exist\nifeq (\"$(wildcard $(BIN_DIR))\",\"\")\n$(shell $(MKDIR) $(BIN_DIR))\nendif\n\n#-----------------------------------------------------------------------------\n# rules\n#\n\nall: $(TARGET_BIN)\n#all: $(TARGET_ELF)\n\n$(TARGET_BIN): $(TARGET_ELF)\n\t$(BIN) -O binary $< $@\n\n$(TARGET_ELF) : $(ASM_OBJS_EXT) $(C_OBJS_EXT) $(CPP_OBJS_EXT)\n\t$(CC) $(CFLAGS) $(QPN)/include/qstamp.c -o $(BIN_DIR)/qstamp.o\n\t$(LINK) $(LINKFLAGS) -o $@ $^ $(BIN_DIR)/qstamp.o $(LIBS)\n\n$(BIN_DIR)/%.d : %.c\n\t$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@\n\n$(BIN_DIR)/%.d : %.cpp\n\t$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@\n\n$(BIN_DIR)/%.o : %.s\n\t$(AS) $(ASFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.c\n\t$(CC) $(CFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.cpp\n\t$(CPP) $(CPPFLAGS) $< -o $@\n\n# include dependency files only if our goal depends on their existence\nifneq ($(MAKECMDGOALS),clean)\n  ifneq ($(MAKECMDGOALS),show)\n-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)\n  endif\nendif\n\n\n.PHONY : clean\nclean:\n\t-$(RM) $(BIN_DIR)/*.o \\\n\t$(BIN_DIR)/*.d \\\n\t$(BIN_DIR)/*.bin \\\n\t$(BIN_DIR)/*.elf \\\n\t$(BIN_DIR)/*.map\n\t\nshow:\n\t@echo PROJECT = $(PROJECT)\n\t@echo CONF = $(CONF)\n\t@echo DEFINES = $(DEFINES)\n\t@echo ASM_FPU = $(ASM_FPU)\n\t@echo ASM_SRCS = $(ASM_SRCS)\n\t@echo C_SRCS = $(C_SRCS)\n\t@echo CPP_SRCS = $(CPP_SRCS)\n\t@echo ASM_OBJS_EXT = $(ASM_OBJS_EXT)\n\t@echo C_OBJS_EXT = $(C_OBJS_EXT)\n\t@echo C_DEPS_EXT = $(C_DEPS_EXT)\n\t@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)\n\t@echo TARGET_ELF = $(TARGET_ELF)\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qk/gnu/README.txt",
    "content": "About this Example\n==================\nThis example can be built in two different ways:\n- from the command prompt with the provided Makefile.\n- from the TI Code Composer Studio with the provided CCS project.\n\n\nThe Makefile\n============\nThe provided Makefile should be easy to adapt for your own projects.\nIt contains three build configurations: Debug (default), Release, and\nSpy.\n\nAlso, the Makefile has been specifically designed to work as an external\nMakefile with the Eclipse CDT.\n\nThe various build configurations are built as follows:\n\nmake\nmake CONF=rel\nmake CONF=spy\n\nmake clean\nmake CONF=rel clean\nmake CONF=spy clean\n\n***\nNOTE:\nThe installation folder of the GNU-ARM toolset on YOUR machine needs\nto be adjusted in the provided Makefile, by editing the symbol: GNU_ARM.\nAs described in the comment for this symbol, the GNU-ARM toolset is taken\nfrom: http://gnutoolchains.com/arm-eabi\n\nIt is highly recommened to use the same GNU-ARM distribution, especially\nfor ARM Cortex-M4F projects, due to the support for the hardware FPU\n(float-abi=hard).\n***\n\n\nAdjusting Stack and Heap Sizes\n==============================\nThe stack and heap sizes are determined in this project by the GCC linker\nscript (.ld file), which provides a template of the recommended GCC linker\nscript for QP applications.\n\n\nStartup Code\n============\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\ek-tm4c123gxl\\gcc\\startup_TM4C123GH6PM.c\n\nThe file startup_TM4C123GH6PM.c provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qk/gnu/blinky-qk.ld",
    "content": "/*****************************************************************************\n* Product: Linker script for EK-TM4C123GXL, GNU-ARM linker\n* Last Updated for Version: 5.9.8\n* Date of the Last Update:  2017-09-13\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <http://www.gnu.org/licenses/>.\n*\n* Contact information:\n* Web  : http://www.state-machine.com\n* Email: info@state-machine.com\n*****************************************************************************/\nOUTPUT_FORMAT(\"elf32-littlearm\", \"elf32-bigarm\", \"elf32-littlearm\")\nOUTPUT_ARCH(arm)\nENTRY(Reset_Handler) /* entry Point */\n\nMEMORY { /* memory map of Tiva TM4C123GH6PM */\n    ROM (rx)  : ORIGIN = 0x00000000, LENGTH = 256K\n    RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K\n}\n\n/* The size of the stack used by the application. NOTE: you need to adjust  */\nSTACK_SIZE = 1024;\n\n/* The size of the heap used by the application. NOTE: you need to adjust   */\nHEAP_SIZE = 0;\n\nSECTIONS {\n\n    .isr_vector : {        /* the vector table goes FIRST into ROM */\n        KEEP(*(.isr_vector)) /* vector table */\n        . = ALIGN(4);\n    } >ROM\n\n    .text : {              /* code and constants */\n        . = ALIGN(4);\n        *(.text)           /* .text sections (code) */\n        *(.text*)          /* .text* sections (code) */\n        *(.rodata)         /* .rodata sections (constants, strings, etc.) */\n        *(.rodata*)        /* .rodata* sections (constants, strings, etc.) */\n\n        KEEP (*(.init))\n        KEEP (*(.fini))\n\n        . = ALIGN(4);\n    } >ROM\n\n    .preinit_array : {\n        PROVIDE_HIDDEN (__preinit_array_start = .);\n        KEEP (*(.preinit_array*))\n        PROVIDE_HIDDEN (__preinit_array_end = .);\n    } >ROM\n\n    .init_array : {\n        PROVIDE_HIDDEN (__init_array_start = .);\n        KEEP (*(SORT(.init_array.*)))\n        KEEP (*(.init_array*))\n        PROVIDE_HIDDEN (__init_array_end = .);\n    } >ROM\n\n    .fini_array : {\n        PROVIDE_HIDDEN (__fini_array_start = .);\n        KEEP (*(.fini_array*))\n        KEEP (*(SORT(.fini_array.*)))\n        PROVIDE_HIDDEN (__fini_array_end = .);\n    } >ROM\n\n    _etext = .;            /* global symbols at end of code */\n\n    .stack : {\n        __stack_start__ = .;\n        . = . + STACK_SIZE;\n        . = ALIGN(4);\n        __stack_end__ = .;\n    } >RAM\n\n    .data :  AT (_etext) {\n        __data_load = LOADADDR (.data);\n        __data_start = .;\n        *(.data)           /* .data sections */\n        *(.data*)          /* .data* sections */\n        . = ALIGN(4);\n        __data_end__ = .;\n        _edata = __data_end__;\n    } >RAM\n\n    .bss : {\n        __bss_start__ = .;\n        *(.bss)\n        *(.bss*)\n        *(COMMON)\n        . = ALIGN(4);\n        _ebss = .;         /* define a global symbol at bss end */\n        __bss_end__ = .;\n    } >RAM\n\n    __exidx_start = .;\n    .ARM.exidx   : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } >RAM\n    __exidx_end = .;\n\n    PROVIDE ( end = _ebss );\n    PROVIDE ( _end = _ebss );\n    PROVIDE ( __end__ = _ebss );\n\n    .heap : {\n        __heap_start__ = .;\n        . = . + HEAP_SIZE;\n        . = ALIGN(4);\n        __heap_end__ = .;\n    } >RAM\n\n    /* Remove information from the standard libraries */\n    /DISCARD/ : {\n        libc.a ( * )\n        libm.a ( * )\n        libgcc.a ( * )\n    }\n}\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qk/gnu/flash.bat",
    "content": "::============================================================================\n:: Batch file to program the flash of EK-TM4C123GXL\n:: \n:: NOTE: requires the LMFlash programmer (included in QTools for Windows)\n:: \n@echo off\nsetlocal\n\n@echo Load a given binary file to the flash of EK-TM4C123GXL\n@echo usage:   flash binary-file\n@echo example: flash dbg\\blinky-qk.bin\n\n::----------------------------------------------------------------------------\n:: NOTE: The following symbol LMFLASH assumes that LMFlash.exe can\n:: be found on the PATH. You might need to adjust this symbol to the\n:: location of the LMFlash utility on your machine\n::\nset LMFLASH=LMFlash.exe\n\nif [\"%~1\"]==[\"\"] (\n    @echo The binary file missing\n    @goto end\n)\nif not exist %~s1 (\n    @echo The binary file '%1' does not exist\n    @goto end\n)\n\n%LMFLASH% -q ek-tm4c123gxl -e -v -r %1\n\n:end\n\nendlocal"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qk/iar/README.txt",
    "content": "About this Example\n==================\nThis example demonstrates how to use the IAR EWARM IDE to build\na QP application.\n\n\nIAR Project File\n----------------\nThe IAR EWARM project file provided with this example uses relative paths\nto the QP/C framework location (includes, port, and libraries. These\nrelative paths must be modified when the project is moved to different\nrelative location.\n\n\nStack Size and Heap Size\n------------------------\nIn this project, the size of the C stack and heap are determined in\nthe linker script blinky-qk.icf (see the next section).\n\n\nLinker Script\n-------------\nThe IAR linker script provides a template of the recommended linker script\nfor QP applications. This file needs to be customized to set the\napplication-specific sizes of the Stack and Heap. This file can be edited\nfrom the IAR EWARM IDE via the Project Options/Linker settings.\n\n\nStartup Code\n------------\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\ek-tm4c123gxl\\iar\\startup_TM4C123GH6PM.s\n\nThe file startup_TM4C123GH6PM.s provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qk/iar/blinky-qk.ewd",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project>\n    <fileVersion>3</fileVersion>\n    <configuration>\n        <name>Debug</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>1</debug>\n        <settings>\n            <name>C-SPY</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCVariant</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>MemOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MemFile</name>\n                    <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\TexasInstruments\\TM4C123GH6PM.ddf</state>\n                </option>\n                <option>\n                    <name>RunToEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RunToName</name>\n                    <state>main</state>\n                </option>\n                <option>\n                    <name>CExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDDFArgumentProducer</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadSuppressDownload</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDownloadVerifyAll</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCProductVersion</name>\n                    <state>7.30.4.8186</state>\n                </option>\n                <option>\n                    <name>OCDynDriverList</name>\n                    <state>LMIFTDI_ID</state>\n                </option>\n                <option>\n                    <name>OCLastSavedByProductVersion</name>\n                    <state>8.11.1.13270</state>\n                </option>\n                <option>\n                    <name>UseFlashLoader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CLowLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CDevice</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>FlashLoadersV3</name>\n                    <state>$TOOLKIT_DIR$\\config\\flashloader\\TexasInstruments\\FlashTC4_H6_o.board</state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OverrideDefFlashBoard</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesOffset1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesUse1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDeviceConfigMacroFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDebuggerExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAllMTBOptions</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreNrOfCores</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreMaster</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCMulticorePort</name>\n                    <state>53461</state>\n                </option>\n                <option>\n                    <name>OCMulticoreWorkspace</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveProject</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveConfiguration</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadExtraImage</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAttachSlave</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ARMSIM_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCSimDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCSimEnablePSP</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspOverrideConfig</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspConfigFile</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CADI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCadiMemory</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Fast Model</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCADILogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCADILogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CMSISDAP_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CMSISDAPResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>CMSISDAPDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CMSISDAPProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>GDBSERVER_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJTagBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IJET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>8</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>IjetPowerFromProbe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPowerRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetProtocolRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPin</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPrescalerList</name>\n                    <version>1</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IjetProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPreferETB</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetTraceSettingsList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetTraceSizeList</name>\n                    <version>0</version>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>FlashBoardPathSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>JLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>16</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>JLinkSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJLinkHWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>JLinkInitialSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCDoJlinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkCommRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>CCJLinkSpeedRadioV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCUSBDevice</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkResetList</name>\n                    <version>6</version>\n                    <state>5</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCTcpIpAlt</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTcpIpSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSourceDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkDeviceName</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>LMIFTDI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>2</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>LmiftdiSpeed</name>\n                    <state>500</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>PEMICRO_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>3</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJPEMicroShowSettings</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>STLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkResetList</name>\n                    <version>3</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDAPNumber</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkDebugAccessPortRadio</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>THIRDPARTY_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CThirdPartyDriverDll</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>TIFET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVccTypeDefault</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVoltage</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CCMSPFetVCCDefault</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetSettlingtime</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioJtagSpeedType</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetConnection</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetUsbComPort</name>\n                    <state>Automatic</state>\n                </option>\n                <option>\n                    <name>CCMSPFetAllowAccessToBSL</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioEraseFlash</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>XDS100_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>6</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCXds100CatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TIPackageOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TIPackage</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>BoardFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCXds100BreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100DoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockEdit</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCXds100HWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100JtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ProbeList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPortRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPort</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <debuggerPlugins>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n                <loadFlag>1</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n        </debuggerPlugins>\n    </configuration>\n    <configuration>\n        <name>Release</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>0</debug>\n        <settings>\n            <name>C-SPY</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCVariant</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>MemOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MemFile</name>\n                    <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\TexasInstruments\\TM4C123GH6PM.ddf</state>\n                </option>\n                <option>\n                    <name>RunToEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RunToName</name>\n                    <state>main</state>\n                </option>\n                <option>\n                    <name>CExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDDFArgumentProducer</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadSuppressDownload</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDownloadVerifyAll</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCProductVersion</name>\n                    <state>7.30.4.8186</state>\n                </option>\n                <option>\n                    <name>OCDynDriverList</name>\n                    <state>LMIFTDI_ID</state>\n                </option>\n                <option>\n                    <name>OCLastSavedByProductVersion</name>\n                    <state>7.40.2.8567</state>\n                </option>\n                <option>\n                    <name>UseFlashLoader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CLowLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CDevice</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>FlashLoadersV3</name>\n                    <state>$TOOLKIT_DIR$\\config\\flashloader\\TexasInstruments\\FlashTC4_H6_o.board</state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OverrideDefFlashBoard</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesOffset1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesUse1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDeviceConfigMacroFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDebuggerExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAllMTBOptions</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreNrOfCores</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreMaster</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCMulticorePort</name>\n                    <state>53461</state>\n                </option>\n                <option>\n                    <name>OCMulticoreWorkspace</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveProject</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveConfiguration</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadExtraImage</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAttachSlave</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ARMSIM_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCSimDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCSimEnablePSP</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspOverrideConfig</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspConfigFile</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CADI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCadiMemory</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Fast Model</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCADILogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCADILogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CMSISDAP_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CMSISDAPResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>CMSISDAPDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CMSISDAPProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>GDBSERVER_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJTagBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IJET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>8</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>IjetPowerFromProbe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPowerRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetProtocolRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPin</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPrescalerList</name>\n                    <version>1</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IjetProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPreferETB</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetTraceSettingsList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetTraceSizeList</name>\n                    <version>0</version>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>FlashBoardPathSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>JLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>16</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>JLinkSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJLinkHWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>JLinkInitialSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCDoJlinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkCommRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>CCJLinkSpeedRadioV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCUSBDevice</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkResetList</name>\n                    <version>6</version>\n                    <state>5</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCTcpIpAlt</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTcpIpSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSourceDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkDeviceName</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>LMIFTDI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>2</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>LmiftdiSpeed</name>\n                    <state>500</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>PEMICRO_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>3</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJPEMicroShowSettings</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>STLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkResetList</name>\n                    <version>3</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDAPNumber</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkDebugAccessPortRadio</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>THIRDPARTY_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CThirdPartyDriverDll</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>TIFET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVccTypeDefault</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVoltage</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CCMSPFetVCCDefault</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetSettlingtime</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioJtagSpeedType</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetConnection</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetUsbComPort</name>\n                    <state>Automatic</state>\n                </option>\n                <option>\n                    <name>CCMSPFetAllowAccessToBSL</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioEraseFlash</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>XDS100_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>6</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCXds100CatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TIPackageOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TIPackage</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>BoardFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCXds100BreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100DoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockEdit</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCXds100HWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100JtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ProbeList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPortRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPort</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <debuggerPlugins>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n                <loadFlag>1</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n        </debuggerPlugins>\n    </configuration>\n</project>\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qk/iar/blinky-qk.ewp",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project>\n    <fileVersion>3</fileVersion>\n    <configuration>\n        <name>Debug</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>1</debug>\n        <settings>\n            <name>General</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>ExePath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>ObjPath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>ListPath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>GEndianMode</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>Input description</name>\n                    <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n                </option>\n                <option>\n                    <name>Output description</name>\n                    <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n                </option>\n                <option>\n                    <name>GOutputBinary</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCoreOrChip</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelect</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelectSlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RTDescription</name>\n                    <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n                </option>\n                <option>\n                    <name>OGProductVersion</name>\n                    <state>5.11.0.50579</state>\n                </option>\n                <option>\n                    <name>OGLastSavedByProductVersion</name>\n                    <state>8.11.1.13270</state>\n                </option>\n                <option>\n                    <name>GeneralEnableMisra</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVerbose</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGChipSelectEditMenu</name>\n                    <state>TM4C123GH6PM\tTexasInstruments TM4C123GH6PM</state>\n                </option>\n                <option>\n                    <name>GenLowLevelInterface</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GEndianModeBE</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OGBufferedTerminalOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenStdoutInterface</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>RTConfigPath2</name>\n                    <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n                </option>\n                <option>\n                    <name>GBECoreSlave</name>\n                    <version>25</version>\n                    <state>40</state>\n                </option>\n                <option>\n                    <name>OGUseCmsis</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsisDspLib</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibThreads</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CoreVariant</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>GFPUDeviceSlave</name>\n                    <state>TM4C123GH6PM\tTexasInstruments TM4C123GH6PM</state>\n                </option>\n                <option>\n                    <name>FPU2</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>NrRegs</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>NEON</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUCoreSlave2</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>OGCMSISPackSelectDevice</name>\n                </option>\n                <option>\n                    <name>OgLibHeap</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGLibAdditionalLocale</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGPrintfVariant</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>OGPrintfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGScanfVariant</name>\n                    <version>0</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OGScanfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenLocaleTags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>GenLocaleDisplayOnly</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ICCARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>34</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCOptimizationNoSizeConstraints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCPreprocFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocComments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMnemonics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMessages</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDiagSuppress</name>\n                    <state>Pa050</state>\n                </option>\n                <option>\n                    <name>CCDiagRemark</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagWarning</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagError</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCAllowList</name>\n                    <version>1</version>\n                    <state>00000000</state>\n                </option>\n                <option>\n                    <name>CCDebugInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IEndianMode</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCLangConformance</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSignedPlainChar</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRequirePrototypes</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCDiagWarnAreErr</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCompilerRuntimeInfo</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>CCLibConfigHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>PreInclude</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CompilerMisraOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIncludePath2</name>\n                    <state>$PROJ_DIR$\\..</state>\n                    <state>$PROJ_DIR$\\..\\..</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\iar</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl</state>\n                </option>\n                <option>\n                    <name>CCStdIncCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCodeSection</name>\n                    <state>.text</state>\n                </option>\n                <option>\n                    <name>IProcessorMode2</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptStrategy</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevelSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>CCPosIndRopi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndRwpi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndNoDynInit</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccLang</name>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>IccCDialect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccAllowVLA</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccStaticDestr</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCppInlineSemantics</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccFloatSemantics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCOptStrategySlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCGuardCalls</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccExceptions2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccRTTI2</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>AARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>10</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>AObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>ACaseSensitivity</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacroChars</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnWhat</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnOne</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>ADebug</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AltRegisterNames</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ADefines</name>\n                    <state>ewarm</state>\n                </option>\n                <option>\n                    <name>AList</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AListHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AListing</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Includes</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacDefs</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacExps</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacExec</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OnlyAssed</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MultiLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLengthCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLength</name>\n                    <state>80</state>\n                </option>\n                <option>\n                    <name>TabSpacing</name>\n                    <state>8</state>\n                </option>\n                <option>\n                    <name>AXRef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDefines</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefInternal</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDual</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AOutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsEdit</name>\n                    <state>100</state>\n                </option>\n                <option>\n                    <name>AIgnoreStdInclude</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AUserIncludes</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AExtraOptionsCheckV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AExtraOptionsV2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AsmNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>OBJCOPY</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OOCOutputFormat</name>\n                    <version>3</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OCOutputOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OOCOutputFile</name>\n                    <state>blinky-qk.bin</state>\n                </option>\n                <option>\n                    <name>OOCCommandLineProducer</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OOCObjCopyEnable</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CUSTOM</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <extensions></extensions>\n                <cmdline></cmdline>\n                <hasPrio>0</hasPrio>\n            </data>\n        </settings>\n        <settings>\n            <name>BICOMP</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>BUILDACTION</name>\n            <archiveVersion>1</archiveVersion>\n            <data>\n                <prebuild></prebuild>\n                <postbuild></postbuild>\n            </data>\n        </settings>\n        <settings>\n            <name>ILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>20</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>IlinkLibIOConfig</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>XLinkMisraHandler</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkInputFileSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOutputFile</name>\n                    <state>blinky-qk.out</state>\n                </option>\n                <option>\n                    <name>IlinkDebugInfoEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkKeepSymbols</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkConfigDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkMapFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogInitialization</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogModule</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogSection</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogVeneer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfOverride</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile</name>\n                    <state>$PROJ_DIR$\\blinky-qk.icf</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFileSlave</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkSuppressDiags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsRem</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsWarn</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsErr</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkWarningsAreErrors</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkUseExtraOptions</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkLowLevelInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAutoLibEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAdditionalLibs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkOverrideProgramEntryLabel</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabelSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabel</name>\n                    <state>__iar_program_start</state>\n                </option>\n                <option>\n                    <name>DoFill</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>FillerByte</name>\n                    <state>0xFF</state>\n                </option>\n                <option>\n                    <name>FillerStart</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>FillerEnd</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>CrcSize</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcAlign</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcPoly</name>\n                    <state>0x11021</state>\n                </option>\n                <option>\n                    <name>CrcCompl</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcBitOrder</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcInitialValue</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>DoCrc</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkBufferedTerminalOutput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkStdoutInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcFullSize</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIElfToolPostProcess</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogAutoLibSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogRedirSymbols</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogUnusedFragments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcReverseByteOrder</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcUseAsInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptInline</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsAllow</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsForce</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptMergeDuplSections</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptUseVfe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptForceVfe</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackAnalysisEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackControlFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkStackCallGraphFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CrcAlgorithm</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcUnitSize</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkThreadsSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogCallGraph</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile_AltDefault</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkHeapSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLocaleSelect</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IARCHIVE</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>IarchiveInputs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IarchiveOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IarchiveOutput</name>\n                    <state>###Unitialized###</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>BILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>Coder</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n    </configuration>\n    <configuration>\n        <name>Release</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>0</debug>\n        <settings>\n            <name>General</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>ExePath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>ObjPath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>ListPath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>GEndianMode</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>Input description</name>\n                    <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n                </option>\n                <option>\n                    <name>Output description</name>\n                    <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n                </option>\n                <option>\n                    <name>GOutputBinary</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCoreOrChip</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelect</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelectSlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RTDescription</name>\n                    <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n                </option>\n                <option>\n                    <name>OGProductVersion</name>\n                    <state>5.11.0.50579</state>\n                </option>\n                <option>\n                    <name>OGLastSavedByProductVersion</name>\n                    <state>7.40.3.8937</state>\n                </option>\n                <option>\n                    <name>GeneralEnableMisra</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVerbose</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGChipSelectEditMenu</name>\n                    <state>TM4C123GH6PM\tTexasInstruments TM4C123GH6PM</state>\n                </option>\n                <option>\n                    <name>GenLowLevelInterface</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GEndianModeBE</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OGBufferedTerminalOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenStdoutInterface</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>RTConfigPath2</name>\n                    <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n                </option>\n                <option>\n                    <name>GBECoreSlave</name>\n                    <version>25</version>\n                    <state>40</state>\n                </option>\n                <option>\n                    <name>OGUseCmsis</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsisDspLib</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibThreads</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CoreVariant</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>GFPUDeviceSlave</name>\n                    <state>TM4C123GH6PM\tTexasInstruments TM4C123GH6PM</state>\n                </option>\n                <option>\n                    <name>FPU2</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>NrRegs</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>NEON</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUCoreSlave2</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>OGCMSISPackSelectDevice</name>\n                </option>\n                <option>\n                    <name>OgLibHeap</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGLibAdditionalLocale</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGPrintfVariant</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>OGPrintfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGScanfVariant</name>\n                    <version>0</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OGScanfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenLocaleTags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>GenLocaleDisplayOnly</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ICCARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>34</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCOptimizationNoSizeConstraints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDefines</name>\n                    <state>NDEBUG</state>\n                </option>\n                <option>\n                    <name>CCPreprocFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocComments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMnemonics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMessages</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDiagSuppress</name>\n                    <state>Pa050</state>\n                </option>\n                <option>\n                    <name>CCDiagRemark</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagWarning</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagError</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCAllowList</name>\n                    <version>1</version>\n                    <state>11111110</state>\n                </option>\n                <option>\n                    <name>CCDebugInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IEndianMode</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCLangConformance</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSignedPlainChar</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRequirePrototypes</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCDiagWarnAreErr</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCompilerRuntimeInfo</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>CCLibConfigHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>PreInclude</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CompilerMisraOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIncludePath2</name>\n                    <state>$PROJ_DIR$\\..</state>\n                    <state>$PROJ_DIR$\\..\\..</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\iar</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl</state>\n                </option>\n                <option>\n                    <name>CCStdIncCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCodeSection</name>\n                    <state>.text</state>\n                </option>\n                <option>\n                    <name>IProcessorMode2</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevel</name>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>CCOptStrategy</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevelSlave</name>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>CCPosIndRopi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndRwpi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndNoDynInit</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccLang</name>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>IccCDialect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccAllowVLA</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccStaticDestr</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCppInlineSemantics</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccFloatSemantics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCOptStrategySlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCGuardCalls</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccExceptions2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccRTTI2</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>AARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>10</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>AObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>ACaseSensitivity</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacroChars</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnWhat</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnOne</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>ADebug</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AltRegisterNames</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ADefines</name>\n                    <state>ewarm</state>\n                </option>\n                <option>\n                    <name>AList</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AListHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AListing</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Includes</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacDefs</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacExps</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacExec</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OnlyAssed</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MultiLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLengthCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLength</name>\n                    <state>80</state>\n                </option>\n                <option>\n                    <name>TabSpacing</name>\n                    <state>8</state>\n                </option>\n                <option>\n                    <name>AXRef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDefines</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefInternal</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDual</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AOutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsEdit</name>\n                    <state>100</state>\n                </option>\n                <option>\n                    <name>AIgnoreStdInclude</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AUserIncludes</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AExtraOptionsCheckV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AExtraOptionsV2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AsmNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>OBJCOPY</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OOCOutputFormat</name>\n                    <version>3</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OCOutputOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OOCOutputFile</name>\n                    <state>blinky-qk.bin</state>\n                </option>\n                <option>\n                    <name>OOCCommandLineProducer</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OOCObjCopyEnable</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CUSTOM</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <extensions></extensions>\n                <cmdline></cmdline>\n                <hasPrio>0</hasPrio>\n            </data>\n        </settings>\n        <settings>\n            <name>BICOMP</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>BUILDACTION</name>\n            <archiveVersion>1</archiveVersion>\n            <data>\n                <prebuild></prebuild>\n                <postbuild></postbuild>\n            </data>\n        </settings>\n        <settings>\n            <name>ILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>20</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>IlinkLibIOConfig</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>XLinkMisraHandler</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkInputFileSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOutputFile</name>\n                    <state>blinky-qk.out</state>\n                </option>\n                <option>\n                    <name>IlinkDebugInfoEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkKeepSymbols</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkConfigDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkMapFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogInitialization</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogModule</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogSection</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogVeneer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfOverride</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile</name>\n                    <state>$PROJ_DIR$\\blinky-qk.icf</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFileSlave</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkSuppressDiags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsRem</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsWarn</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsErr</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkWarningsAreErrors</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkUseExtraOptions</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkLowLevelInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAutoLibEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAdditionalLibs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkOverrideProgramEntryLabel</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabelSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabel</name>\n                    <state>__iar_program_start</state>\n                </option>\n                <option>\n                    <name>DoFill</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>FillerByte</name>\n                    <state>0xFF</state>\n                </option>\n                <option>\n                    <name>FillerStart</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>FillerEnd</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>CrcSize</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcAlign</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcPoly</name>\n                    <state>0x11021</state>\n                </option>\n                <option>\n                    <name>CrcCompl</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcBitOrder</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcInitialValue</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>DoCrc</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkBufferedTerminalOutput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkStdoutInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcFullSize</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIElfToolPostProcess</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogAutoLibSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogRedirSymbols</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogUnusedFragments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcReverseByteOrder</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcUseAsInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptInline</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsAllow</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsForce</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptMergeDuplSections</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptUseVfe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptForceVfe</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackAnalysisEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackControlFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkStackCallGraphFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CrcAlgorithm</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcUnitSize</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkThreadsSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogCallGraph</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile_AltDefault</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkHeapSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLocaleSelect</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IARCHIVE</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>IarchiveInputs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IarchiveOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IarchiveOutput</name>\n                    <state>###Unitialized###</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>BILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>Coder</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n    </configuration>\n    <group>\n        <name>Application</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\blinky.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\blinky.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\bsp.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\bsp.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\main.c</name>\n        </file>\n    </group>\n    <group>\n        <name>ek-tm4c123gxl</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\iar\\startup_TM4C123GH6PM.s</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</name>\n        </file>\n    </group>\n    <group>\n        <name>QP</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qepn.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qfn.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qkn\\qkn.c</name>\n        </file>\n    </group>\n    <group>\n        <name>QP_port</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\iar\\qkn_port.c</name>\n        </file>\n    </group>\n</project>\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qk/iar/blinky-qk.eww",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<workspace>\n  <project>\n    <path>$WS_DIR$\\blinky-qk.ewp</path>\n  </project>\n  <batchBuild/>\n</workspace>\n\n\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qk/iar/blinky-qk.icf",
    "content": "/*###ICF### Section handled by ICF editor, don't touch! ****/\n/*-Editor annotation file-*/\n/* IcfEditorFile=\"$TOOLKIT_DIR$\\config\\ide\\IcfEditor\\cortex_v1_0.xml\" */\n/*-Specials-*/\ndefine symbol __ICFEDIT_intvec_start__ = 0x00000000;\n/*-Memory Regions-*/\ndefine symbol __ICFEDIT_region_ROM_start__ = 0x00000000;\ndefine symbol __ICFEDIT_region_ROM_end__   = 0x0003FFFF;\ndefine symbol __ICFEDIT_region_RAM_start__ = 0x20000000;\ndefine symbol __ICFEDIT_region_RAM_end__   = 0x20007FFF;\n/*-Sizes-*/\ndefine symbol __ICFEDIT_size_cstack__ = 1024;\ndefine symbol __ICFEDIT_size_heap__   = 0;\n/**** End of ICF editor section. ###ICF###*/\n\ndefine memory mem with size = 4G;\ndefine region ROM_region   = mem:[from __ICFEDIT_region_ROM_start__   to __ICFEDIT_region_ROM_end__];\ndefine region RAM_region   = mem:[from __ICFEDIT_region_RAM_start__   to __ICFEDIT_region_RAM_end__];\n\ndefine block CSTACK    with alignment = 8, size = __ICFEDIT_size_cstack__   { };\ndefine block HEAP      with alignment = 8, size = __ICFEDIT_size_heap__     { };\n\ninitialize by copy { readwrite };\ndo not initialize  { section .noinit };\n\nplace at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };\nplace in ROM_region   { readonly };\nplace at start of RAM_region {block CSTACK }; \nplace in RAM_region   { readwrite, block HEAP  };"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qpn_conf.h",
    "content": "/*****************************************************************************\n* Product: QP-nano configuration for the Blinky example\n* Last Updated for Version: 5.6.2\n* Date of the Last Update:  2016-04-05\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef QPN_CONF_H\n#define QPN_CONF_H\n\n#define Q_PARAM_SIZE            4U\n#define QF_MAX_TICK_RATE        1U\n#define QF_TIMEEVT_CTR_SIZE     2U\n#define QF_TIMEEVT_PERIODIC\n\n#endif  /* QPN_CONF_H */\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qv/arm/README.txt",
    "content": "About this Example\n==================\nThis example demonstrates how to use the uVision IDE together with\nthe MDK-ARM toolchain.\n\n***\nNOTE: This example requires installing the following Software Pack\nin the Keil uVision: Keil::TM4C_DFP.\n***\n\n\nuVision Project File\n====================\nThe MDK-ARM uVision project file provided with this example uses\nrelative paths to the QP framework location (includes, port, and\nlibraries. These relative paths must be modified when the project\nis moved to different relative location.\n\n\nAdjusting Stack and Heap Sizes\n==============================\nThe stack and heap sizes are determined in this project by the\ncommand-line options for the ARM assembler (see the Asm tab in\nthe \"Options for Target\" dialog box in uVision). Specifically,\nyou should define symbols: Stack_Size=xxx Heap_Size=yyy, where\nxxx represents a numerical value of stack size and yyy the\nnumerical value of the heap size (for most embedded projects\nyyy should be 0, as the using the heap is not recommended).\n\n\nStartup Code\n============\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s\n\nThe file startup_TM4C123GH6PM.s provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n  "
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qv/arm/blinky-qv.uvoptx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<ProjectOpt xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_optx.xsd\">\n\n  <SchemaVersion>1.0</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Extensions>\n    <cExt>*.c</cExt>\n    <aExt>*.s*; *.src; *.a*</aExt>\n    <oExt>*.obj</oExt>\n    <lExt>*.lib</lExt>\n    <tExt>*.txt; *.h; *.inc</tExt>\n    <pExt>*.plm</pExt>\n    <CppX>*.cpp</CppX>\n    <nMigrate>0</nMigrate>\n  </Extensions>\n\n  <DaveTm>\n    <dwLowDateTime>0</dwLowDateTime>\n    <dwHighDateTime>0</dwHighDateTime>\n  </DaveTm>\n\n  <Target>\n    <TargetName>blinky-dbg</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\dbg\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>1</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>4</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>1</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <nTsel>8</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>BIN\\lmidk-agdi.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>UL2CM3(-O207 -S0 -C0 -FO7  -FN1 -FC1000 -FD20000000 -FF0TM4C123_256 -FL040000 -FS00 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E2006F4 -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <Lin2Executable></Lin2Executable>\n      <Lin2ConfigFile></Lin2ConfigFile>\n      <bLin2Auto>0</bLin2Auto>\n    </TargetOption>\n  </Target>\n\n  <Target>\n    <TargetName>blinky-rel</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\rel\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>0</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>4</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>0</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <nTsel>3</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>BIN\\lmidk-agdi.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGUARM</Key>\n          <Name>ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÈ`»\n´­­ª¤ô </Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E10259B -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>-O207 -S0 -C0 -FO7  -FN1 -FC1000 -FD20000000 -FF0TM4C123_256 -FL040000 -FS00 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM)</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <Lin2Executable></Lin2Executable>\n      <Lin2ConfigFile></Lin2ConfigFile>\n      <bLin2Auto>0</bLin2Auto>\n    </TargetOption>\n  </Target>\n\n  <Group>\n    <GroupName>Applicatioin</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>1</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\bsp.c</PathWithFileName>\n      <FilenameWithoutPath>bsp.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>2</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\blinky.c</PathWithFileName>\n      <FilenameWithoutPath>blinky.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>3</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\main.c</PathWithFileName>\n      <FilenameWithoutPath>main.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>4</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\blinky.h</PathWithFileName>\n      <FilenameWithoutPath>blinky.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>ek-tm4c123gxl</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>5</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</PathWithFileName>\n      <FilenameWithoutPath>system_TM4C123GH6PM.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>6</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</PathWithFileName>\n      <FilenameWithoutPath>TM4C123GH6PM.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>7</FileNumber>\n      <FileType>2</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s</PathWithFileName>\n      <FilenameWithoutPath>startup_TM4C123GH6PM.s</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>8</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\gpio.h</PathWithFileName>\n      <FilenameWithoutPath>gpio.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>9</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\rom.h</PathWithFileName>\n      <FilenameWithoutPath>rom.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>10</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\sysctl.h</PathWithFileName>\n      <FilenameWithoutPath>sysctl.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>11</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</PathWithFileName>\n      <FilenameWithoutPath>system_TM4C123GH6PM.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>12</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</PathWithFileName>\n      <FilenameWithoutPath>qepn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>13</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</PathWithFileName>\n      <FilenameWithoutPath>qfn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>14</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qvn\\qvn.c</PathWithFileName>\n      <FilenameWithoutPath>qvn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP_port</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>15</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\arm\\qvn_port.c</PathWithFileName>\n      <FilenameWithoutPath>qvn_port.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n</ProjectOpt>\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qv/arm/blinky-qv.uvprojx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<Project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_projx.xsd\">\n\n  <SchemaVersion>2.1</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Targets>\n    <Target>\n      <TargetName>blinky-dbg</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>5060020::V5.06 (build 20)::ARMCC</pCCUsed>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>TM4C123GH6PM</Device>\n          <Vendor>Texas Instruments</Vendor>\n          <PackID>Keil.TM4C_DFP.1.1.0</PackID>\n          <PackURL>http://www.keil.com/pack/</PackURL>\n          <Cpu>IROM(0x00000000,0x040000) IRAM(0x20000000,0x008000) CPUTYPE(\"Cortex-M4\") FPU2 CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0TM4C123_256 -FS00 -FL040000 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:TM4C123GH6PM$Device\\Include\\TM4C123\\TM4C123.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:TM4C123GH6PM$SVD\\TM4C123\\TM4C123GH6PM.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\dbg\\</OutputDirectory>\n          <OutputName>blinky-qv</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>1</DebugInformation>\n          <BrowseInformation>1</BrowseInformation>\n          <ListingPath>.\\dbg\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\dbg\\blinky-qv.bin .\\dbg\\blinky-qv.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>1</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4097</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3></Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M4\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>2</RvdsVP>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>1</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>2</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>0</uC99>\n            <useXO>0</useXO>\n            <v6Lang>0</v6Lang>\n            <v6LangP>0</v6LangP>\n            <vShortEn>0</vShortEn>\n            <vShortWch>0</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>__FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\arm;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile></ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Applicatioin</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>blinky.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\blinky.c</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>blinky.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\blinky.h</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>ek-tm4c123gxl</GroupName>\n          <Files>\n            <File>\n              <FileName>system_TM4C123GH6PM.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</FilePath>\n            </File>\n            <File>\n              <FileName>TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</FilePath>\n            </File>\n            <File>\n              <FileName>startup_TM4C123GH6PM.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s</FilePath>\n            </File>\n            <File>\n              <FileName>gpio.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\gpio.h</FilePath>\n            </File>\n            <File>\n              <FileName>rom.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\rom.h</FilePath>\n            </File>\n            <File>\n              <FileName>sysctl.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\sysctl.h</FilePath>\n            </File>\n            <File>\n              <FileName>system_TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qvn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qvn\\qvn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qvn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\arm\\qvn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n    <Target>\n      <TargetName>blinky-rel</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>TM4C123GH6PM</Device>\n          <Vendor>Texas Instruments</Vendor>\n          <PackID>Keil.TM4C_DFP.1.1.0</PackID>\n          <PackURL>http://www.keil.com/pack/</PackURL>\n          <Cpu>IROM(0x00000000,0x040000) IRAM(0x20000000,0x008000) CPUTYPE(\"Cortex-M4\") FPU2 CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0TM4C123_256 -FS00 -FL040000 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:TM4C123GH6PM$Device\\Include\\TM4C123\\TM4C123.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:TM4C123GH6PM$SVD\\TM4C123\\TM4C123GH6PM.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\rel\\</OutputDirectory>\n          <OutputName>blinky-qv</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>0</DebugInformation>\n          <BrowseInformation>0</BrowseInformation>\n          <ListingPath>.\\rel\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\rel\\blinky-qv.bin .\\rel\\blinky-qv.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>1</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4097</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3></Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M4\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>2</RvdsVP>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>4</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>2</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>0</uC99>\n            <useXO>0</useXO>\n            <v6Lang>0</v6Lang>\n            <v6LangP>0</v6LangP>\n            <vShortEn>0</vShortEn>\n            <vShortWch>0</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>NDEBUG __FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\arm;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile>blinky-qv.sct</ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Applicatioin</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>blinky.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\blinky.c</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>blinky.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\blinky.h</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>ek-tm4c123gxl</GroupName>\n          <Files>\n            <File>\n              <FileName>system_TM4C123GH6PM.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</FilePath>\n            </File>\n            <File>\n              <FileName>TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</FilePath>\n            </File>\n            <File>\n              <FileName>startup_TM4C123GH6PM.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s</FilePath>\n            </File>\n            <File>\n              <FileName>gpio.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\gpio.h</FilePath>\n            </File>\n            <File>\n              <FileName>rom.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\rom.h</FilePath>\n            </File>\n            <File>\n              <FileName>sysctl.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\sysctl.h</FilePath>\n            </File>\n            <File>\n              <FileName>system_TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qvn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qvn\\qvn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qvn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\arm\\qvn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n  </Targets>\n\n</Project>\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qv/armclang/README.txt",
    "content": "About this Example\n==================\nThis example demonstrates how to use the uVision IDE together with\nthe MDK-ARM toolchain.\n\n***\nNOTE: This example requires installing the following Software Pack\nin the Keil uVision: Keil::TM4C_DFP.\n***\n\n\nuVision Project File\n====================\nThe MDK-ARM uVision project file provided with this example uses\nrelative paths to the QP framework location (includes, port, and\nlibraries. These relative paths must be modified when the project\nis moved to different relative location.\n\n\nAdjusting Stack and Heap Sizes\n==============================\nThe stack and heap sizes are determined in this project by the\ncommand-line options for the ARM assembler (see the Asm tab in\nthe \"Options for Target\" dialog box in uVision). Specifically,\nyou should define symbols: Stack_Size=xxx Heap_Size=yyy, where\nxxx represents a numerical value of stack size and yyy the\nnumerical value of the heap size (for most embedded projects\nyyy should be 0, as the using the heap is not recommended).\n\n\nStartup Code\n============\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s\n\nThe file startup_TM4C123GH6PM.s provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n  "
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qv/armclang/blinky-qv.uvoptx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<ProjectOpt xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_optx.xsd\">\n\n  <SchemaVersion>1.0</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Extensions>\n    <cExt>*.c</cExt>\n    <aExt>*.s*; *.src; *.a*</aExt>\n    <oExt>*.obj</oExt>\n    <lExt>*.lib</lExt>\n    <tExt>*.txt; *.h; *.inc</tExt>\n    <pExt>*.plm</pExt>\n    <CppX>*.cpp</CppX>\n    <nMigrate>0</nMigrate>\n  </Extensions>\n\n  <DaveTm>\n    <dwLowDateTime>0</dwLowDateTime>\n    <dwHighDateTime>0</dwHighDateTime>\n  </DaveTm>\n\n  <Target>\n    <TargetName>blinky-dbg</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\dbg\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>1</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>4</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>1</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>8</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>BIN\\lmidk-agdi.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>UL2CM3(-O207 -S0 -C0 -FO7  -FN1 -FC1000 -FD20000000 -FF0TM4C123_256 -FL040000 -FS00 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E2006F4 -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Target>\n    <TargetName>blinky-rel</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\rel\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>0</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>4</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>0</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>3</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>BIN\\lmidk-agdi.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGUARM</Key>\n          <Name>ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÈ`»\n´­­ª¤ô </Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E10259B -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>-O207 -S0 -C0 -FO7  -FN1 -FC1000 -FD20000000 -FF0TM4C123_256 -FL040000 -FS00 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM)</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Group>\n    <GroupName>Applicatioin</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>1</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\bsp.c</PathWithFileName>\n      <FilenameWithoutPath>bsp.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>2</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\blinky.c</PathWithFileName>\n      <FilenameWithoutPath>blinky.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>3</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\main.c</PathWithFileName>\n      <FilenameWithoutPath>main.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>4</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\blinky.h</PathWithFileName>\n      <FilenameWithoutPath>blinky.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>ek-tm4c123gxl</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>5</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</PathWithFileName>\n      <FilenameWithoutPath>system_TM4C123GH6PM.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>6</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</PathWithFileName>\n      <FilenameWithoutPath>TM4C123GH6PM.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>7</FileNumber>\n      <FileType>2</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s</PathWithFileName>\n      <FilenameWithoutPath>startup_TM4C123GH6PM.s</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>8</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\gpio.h</PathWithFileName>\n      <FilenameWithoutPath>gpio.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>9</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\rom.h</PathWithFileName>\n      <FilenameWithoutPath>rom.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>10</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\sysctl.h</PathWithFileName>\n      <FilenameWithoutPath>sysctl.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>11</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</PathWithFileName>\n      <FilenameWithoutPath>system_TM4C123GH6PM.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>12</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</PathWithFileName>\n      <FilenameWithoutPath>qepn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>13</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</PathWithFileName>\n      <FilenameWithoutPath>qfn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>14</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qvn\\qvn.c</PathWithFileName>\n      <FilenameWithoutPath>qvn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP_port</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>15</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\arm\\qvn_port.c</PathWithFileName>\n      <FilenameWithoutPath>qvn_port.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n</ProjectOpt>\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qv/armclang/blinky-qv.uvprojx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<Project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_projx.xsd\">\n\n  <SchemaVersion>2.1</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Targets>\n    <Target>\n      <TargetName>blinky-dbg</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>5060020::V5.06 (build 20)::ARMCC</pCCUsed>\n      <uAC6>0</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>TM4C123GH6PM</Device>\n          <Vendor>Texas Instruments</Vendor>\n          <PackID>Keil.TM4C_DFP.1.1.0</PackID>\n          <PackURL>http://www.keil.com/pack/</PackURL>\n          <Cpu>IROM(0x00000000,0x040000) IRAM(0x20000000,0x008000) CPUTYPE(\"Cortex-M4\") FPU2 CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0TM4C123_256 -FS00 -FL040000 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:TM4C123GH6PM$Device\\Include\\TM4C123\\TM4C123.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:TM4C123GH6PM$SVD\\TM4C123\\TM4C123GH6PM.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\dbg\\</OutputDirectory>\n          <OutputName>blinky-qv</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>1</DebugInformation>\n          <BrowseInformation>1</BrowseInformation>\n          <ListingPath>.\\dbg\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\dbg\\blinky-qv.bin .\\dbg\\blinky-qv.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>1</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4097</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3></Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M4\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>2</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>1</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>2</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>0</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>0</v6Lang>\n            <v6LangP>0</v6LangP>\n            <vShortEn>0</vShortEn>\n            <vShortWch>0</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>__FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\arm;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile></ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Applicatioin</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>blinky.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\blinky.c</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>blinky.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\blinky.h</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>ek-tm4c123gxl</GroupName>\n          <Files>\n            <File>\n              <FileName>system_TM4C123GH6PM.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</FilePath>\n            </File>\n            <File>\n              <FileName>TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</FilePath>\n            </File>\n            <File>\n              <FileName>startup_TM4C123GH6PM.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s</FilePath>\n            </File>\n            <File>\n              <FileName>gpio.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\gpio.h</FilePath>\n            </File>\n            <File>\n              <FileName>rom.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\rom.h</FilePath>\n            </File>\n            <File>\n              <FileName>sysctl.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\sysctl.h</FilePath>\n            </File>\n            <File>\n              <FileName>system_TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qvn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qvn\\qvn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qvn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\arm\\qvn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n    <Target>\n      <TargetName>blinky-rel</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <uAC6>0</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>TM4C123GH6PM</Device>\n          <Vendor>Texas Instruments</Vendor>\n          <PackID>Keil.TM4C_DFP.1.1.0</PackID>\n          <PackURL>http://www.keil.com/pack/</PackURL>\n          <Cpu>IROM(0x00000000,0x040000) IRAM(0x20000000,0x008000) CPUTYPE(\"Cortex-M4\") FPU2 CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0TM4C123_256 -FS00 -FL040000 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:TM4C123GH6PM$Device\\Include\\TM4C123\\TM4C123.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:TM4C123GH6PM$SVD\\TM4C123\\TM4C123GH6PM.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\rel\\</OutputDirectory>\n          <OutputName>blinky-qv</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>0</DebugInformation>\n          <BrowseInformation>0</BrowseInformation>\n          <ListingPath>.\\rel\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\rel\\blinky-qv.bin .\\rel\\blinky-qv.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>1</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4097</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3></Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M4\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>2</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>4</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>2</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>0</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>0</v6Lang>\n            <v6LangP>0</v6LangP>\n            <vShortEn>0</vShortEn>\n            <vShortWch>0</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>NDEBUG __FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\arm;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile>blinky-qv.sct</ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Applicatioin</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>blinky.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\blinky.c</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>blinky.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\blinky.h</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>ek-tm4c123gxl</GroupName>\n          <Files>\n            <File>\n              <FileName>system_TM4C123GH6PM.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</FilePath>\n            </File>\n            <File>\n              <FileName>TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</FilePath>\n            </File>\n            <File>\n              <FileName>startup_TM4C123GH6PM.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s</FilePath>\n            </File>\n            <File>\n              <FileName>gpio.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\gpio.h</FilePath>\n            </File>\n            <File>\n              <FileName>rom.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\rom.h</FilePath>\n            </File>\n            <File>\n              <FileName>sysctl.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\sysctl.h</FilePath>\n            </File>\n            <File>\n              <FileName>system_TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qvn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qvn\\qvn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qvn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\arm\\qvn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n  </Targets>\n\n  <RTE>\n    <apis/>\n    <components/>\n    <files/>\n  </RTE>\n\n</Project>\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qv/bsp.c",
    "content": "/*****************************************************************************\n* Product: \"Blinky\" on EK-TM4C123GXL board, cooperative QV kernel\n* Last Updated for Version: 5.5.1\n* Date of the Last Update:  2015-10-05\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"blinky.h\"\n#include \"bsp.h\"\n\n#include \"TM4C123GH6PM.h\"        /* the device specific header (TI) */\n#include \"rom.h\"                 /* the built-in ROM functions (TI) */\n#include \"sysctl.h\"              /* system control driver (TI) */\n#include \"gpio.h\"                /* GPIO driver (TI) */\n/* add other drivers if necessary... */\n\n//Q_DEFINE_THIS_FILE\n\n/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n* Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n* DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n*/\nenum KernelUnawareISRs { /* see NOTE00 */\n    /* ... */\n    MAX_KERNEL_UNAWARE_CMSIS_PRI  /* keep always last */\n};\n/* \"kernel-unaware\" interrupts can't overlap \"kernel-aware\" interrupts */\nQ_ASSERT_COMPILE(MAX_KERNEL_UNAWARE_CMSIS_PRI <= QF_AWARE_ISR_CMSIS_PRI);\n\nenum KernelAwareISRs {\n    SYSTICK_PRIO = QF_AWARE_ISR_CMSIS_PRI, /* see NOTE00 */\n    /* ... */\n    MAX_KERNEL_AWARE_CMSIS_PRI /* keep always last */\n};\n/* \"kernel-aware\" interrupts should not overlap the PendSV priority */\nQ_ASSERT_COMPILE(MAX_KERNEL_AWARE_CMSIS_PRI <= (0xFF >>(8-__NVIC_PRIO_BITS)));\n\n/* ISRs defined in this BSP ------------------------------------------------*/\nvoid SysTick_Handler(void);\nvoid GPIOPortA_IRQHandler(void);\n\n/* Local-scope objects -----------------------------------------------------*/\n#define LED_RED     (1U << 1)\n#define LED_GREEN   (1U << 3)\n#define LED_BLUE    (1U << 2)\n\n#define BTN_SW1     (1U << 4)\n#define BTN_SW2     (1U << 0)\n\n/* ISRs used in this project ===============================================*/\nvoid SysTick_Handler(void) {\n    QF_tickXISR(0U); /* process time events for rate 0 */\n}\n\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    /* NOTE: SystemInit() already called from the startup code\n    *  but SystemCoreClock needs to be updated\n    */\n    SystemCoreClockUpdate();\n\n    /*\n    * Do NOT to use the automatic FPU state preservation and\n    * do NOT to use the FPU lazy stacking.\n    *\n    * NOTE:\n    * Use the following setting when FPU is used at the task-level only and\n    * NOT in any ISR. This setting is very efficient, but if ISRs start using\n    * the FPU, this can lead to corruption of the FPU registers.\n    */\n    FPU->FPCCR &= ~((1U << FPU_FPCCR_ASPEN_Pos)\n                   | (1U << FPU_FPCCR_LSPEN_Pos));\n\n    /* enable clock for to the peripherals used by this application... */\n    SYSCTL->RCGCGPIO |= (1U << 5); /* enable Run mode for GPIOF */\n\n    /* configure the LEDs and push buttons */\n    GPIOF->DIR |= (LED_RED | LED_GREEN | LED_BLUE);/* set direction: output */\n    GPIOF->DEN |= (LED_RED | LED_GREEN | LED_BLUE); /* digital enable */\n    GPIOF->DATA_Bits[LED_RED]   = 0U; /* turn the LED off */\n    GPIOF->DATA_Bits[LED_GREEN] = 0U; /* turn the LED off */\n    GPIOF->DATA_Bits[LED_BLUE]  = 0U; /* turn the LED off */\n\n    /* configure the Buttons */\n    GPIOF->DIR &= ~(BTN_SW1 | BTN_SW2); /*  set direction: input */\n    ROM_GPIOPadConfigSet(GPIOF_BASE, (BTN_SW1 | BTN_SW2),\n                         GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU);\n}\n/*..........................................................................*/\nvoid BSP_ledOff(void) {\n    GPIOF->DATA_Bits[LED_GREEN] = 0U;\n}\n/*..........................................................................*/\nvoid BSP_ledOn(void) {\n    /* exercise the FPU with some floating point computations */\n    float volatile x = 3.1415926F;\n    x = x + 2.7182818F;\n\n    GPIOF->DATA_Bits[LED_GREEN] = 0xFFU;\n}\n\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    /* set up the SysTick timer to fire at BSP_TICKS_PER_SEC rate */\n    SysTick_Config(SystemCoreClock / BSP_TICKS_PER_SEC);\n\n    /* assing all priority bits for preemption-prio. and none to sub-prio. */\n    NVIC_SetPriorityGrouping(0U);\n\n    /* set priorities of ALL ISRs used in the system, see NOTE00\n    *\n    * !!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n    * Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n    * DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n    */\n    NVIC_SetPriority(SysTick_IRQn,   SYSTICK_PRIO);\n    /* ... */\n\n    /* enable IRQs... */\n}\n/*..........................................................................*/\nvoid QV_onIdle(void) { /* CATION: called with interrupts DISABLED, NOTE01 */\n    /* toggle LED2 on and then off, see NOTE02 */\n    GPIOF->DATA_Bits[LED_BLUE] = 0xFFU;\n    GPIOF->DATA_Bits[LED_BLUE] = 0x00U;\n\n#ifdef NDEBUG\n    /* Put the CPU and peripherals to the low-power mode.\n    * you might need to customize the clock management for your application,\n    * see the datasheet for your particular Cortex-M MCU.\n    */\n    QV_CPU_SLEEP();  /* atomically go to sleep and enable interrupts */\n#else\n    QF_INT_ENABLE(); /* just enable interrupts */\n#endif\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const module, int loc) {\n    /*\n    * NOTE: add here your application-specific error handling\n    */\n    (void)module;\n    (void)loc;\n\n    NVIC_SystemReset();\n}\n\n/*****************************************************************************\n* NOTE00:\n* The QF_AWARE_ISR_CMSIS_PRI constant from the QF port specifies the highest\n* ISR priority that is disabled by the QF framework. The value is suitable\n* for the NVIC_SetPriority() CMSIS function.\n*\n* Only ISRs prioritized at or below the QF_AWARE_ISR_CMSIS_PRI level (i.e.,\n* with the numerical values of priorities equal or higher than\n* QF_AWARE_ISR_CMSIS_PRI) are allowed to call any QF services. These ISRs\n* are \"QF-aware\".\n*\n* Conversely, any ISRs prioritized above the QF_AWARE_ISR_CMSIS_PRI priority\n* level (i.e., with the numerical values of priorities less than\n* QF_AWARE_ISR_CMSIS_PRI) are never disabled and are not aware of the kernel.\n* Such \"QF-unaware\" ISRs cannot call any QF services. The only mechanism\n* by which a \"QF-unaware\" ISR can communicate with the QF framework is by\n* triggering a \"QF-aware\" ISR, which can post/publish events.\n*\n* NOTE01:\n* The QV_onIdle() callback is called with interrupts disabled, because the\n* determination of the idle condition might change by any interrupt posting\n* an event. QV_onIdle() must internally enable interrupts, ideally\n* atomically with putting the CPU to the power-saving mode.\n*\n* NOTE02:\n* One of the LEDs is used to visualize the idle loop activity. The brightness\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qv/gnu/.ccsproject",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<?ccsproject version=\"1.0\"?>\n<projectOptions>\n\t<ccsVersion value=\"7.4.0\"/>\n\t<deviceVariant value=\"Cortex M.TM4C123GH6PM\"/>\n\t<deviceFamily value=\"TMS470\"/>\n\t<deviceEndianness value=\"little\"/>\n\t<codegenToolVersion value=\"GNU_6.3.1:Linaro\"/>\n\t<isElfFormat value=\"true\"/>\n\t<connection value=\"common/targetdb/connections/Stellaris_ICDI_Connection.xml\"/>\n\t<linkerCommandFile value=\"tm4c123gh6pm.lds\"/>\n\t<rts value=\"libc.a\"/>\n\t<createSlaveProjects value=\"\"/>\n\t<templateProperties value=\"id=com.ti.common.project.core.emptyProjectTemplate_gnu_arm,\"/>\n\t<filesToOpen value=\"\"/>\n\t<isTargetManual value=\"false\"/>\n</projectOptions>\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qv/gnu/.cproject",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<?fileVersion 4.0.0?><cproject storage_type_id=\"org.eclipse.cdt.core.XmlProjectDescriptionStorage\">\n\t<storageModule configRelations=\"2\" moduleId=\"org.eclipse.cdt.core.settings\">\n\t\t<cconfiguration id=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug.534492546\">\n\t\t\t<storageModule buildSystemId=\"org.eclipse.cdt.managedbuilder.core.configurationDataProvider\" id=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug.534492546\" moduleId=\"org.eclipse.cdt.core.settings\" name=\"Debug\">\n\t\t\t\t<externalSettings/>\n\t\t\t\t<extensions>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.binaryparser.CoffParser\" point=\"org.eclipse.cdt.core.BinaryParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GmakeErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GASErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GLDErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GCCErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t</extensions>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t\t\t<configuration artifactExtension=\"out\" artifactName=\"${ProjName}\" buildProperties=\"\" cleanCommand=\"${CG_CLEAN_CMD}\" description=\"\" id=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug.534492546\" name=\"Debug\" parent=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug\">\n\t\t\t\t\t<folderInfo id=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug.534492546.\" name=\"/\" resourcePath=\"\">\n\t\t\t\t\t\t<toolChain id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.DebugToolchain.380301443\" name=\"TI Build Tools\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.DebugToolchain\" targetTool=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.linkerDebug.123457069\">\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.964772037\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_CONFIGURATION_ID=Cortex M.TM4C123GH6PM\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_ENDIANNESS=little\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_FORMAT=ELF\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"LINKER_COMMAND_FILE=tm4c123gh6pm.lds\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"RUNTIME_SUPPORT_LIBRARY=libc.a\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"CCS_MBS_VERSION=6.1.3\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_TYPE=executable\"/>\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.904099521\" name=\"Compiler version\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION\" value=\"GNU_6.3.1:Linaro\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<targetPlatform id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.targetPlatformDebug.895530531\" name=\"Platform\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.targetPlatformDebug\"/>\n\t\t\t\t\t\t\t<builder buildPath=\"${BuildDirectory}\" id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.builderDebug.834922118\" keepEnvironmentInBuildfile=\"false\" name=\"GNU Make\" parallelBuildOn=\"true\" parallelizationNumber=\"optimal\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.builderDebug\"/>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.compilerDebug.861559358\" name=\"GNU Compiler\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.compilerDebug\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.CODE_STATE.326931710\" name=\"Code state\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.CODE_STATE\" value=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.CODE_STATE.THUMB\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MARCH.1627488652\" name=\"Specify the name of the target architecture (-march)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MARCH\" value=\"armv7e-m\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MCPU.2064354121\" name=\"Target CPU (-mcpu)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MCPU\" value=\"cortex-m4\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MFPU.1916890427\" name=\"Specify the name of the target floating point hardware/format (-mfpu)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MFPU\" value=\"fpv4-sp-d16\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MFLOAT_ABI.315769723\" name=\"Specify if floating point hardware should be used (-mfloat-abi)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MFLOAT_ABI\" value=\"hard\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.FUNCTION_SECTIONS.1495418449\" name=\"Place each function into its own section (-ffunction-sections)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.FUNCTION_SECTIONS\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DATA_SECTIONS.1446118351\" name=\"Place data items into their own section (-fdata-sections)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DATA_SECTIONS\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DEFINE.865670737\" name=\"Define symbols (-D)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DEFINE\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"__FPU_PRESENT\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"TARGET_IS_TM4C123_RB1\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.INCLUDE_PATH.974128893\" name=\"Include paths (-I)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.INCLUDE_PATH\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../..\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../src\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../ports/arm-cm/qv/gnu\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../3rd_party/ek-tm4c123gxl\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../3rd_party/CMSIS/Include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CG_TOOL_INCLUDE_PATH}\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DEBUG.882013544\" name=\"Generate debug information (-g)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DEBUG\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DWARF_VERSION.433735214\" name=\"Generate debug information in DWARF version (-gdwarf-)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DWARF_VERSION\" value=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DWARF_VERSION.3\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.STRICT_DWARF.1684136090\" name=\"Do not emit DWARF additions beyond selected version (-gstrict-dwarf)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.STRICT_DWARF\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.SPECS.1704724465\" name=\"Override built-in specs with the contents of the specified file (-specs)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.SPECS\" value=\"&quot;nosys.specs&quot;\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.ASM_SPECIFIC_FLAGS.1586473819\" name=\"Assembly source specific flags\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.ASM_SPECIFIC_FLAGS\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"-x assembler-with-cpp\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.OTHER_ASM_FLAGS.572364895\" name=\"Other assembler flags (-Xassembler)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.OTHER_ASM_FLAGS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__C_SRCS.914425103\" name=\"C Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__C_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__CPP_SRCS.1969735213\" name=\"C++ Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__CPP_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__ASM_SRCS.1435568092\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__ASM_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__ASM2_SRCS.941675283\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__ASM2_SRCS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.linkerDebug.123457069\" name=\"GNU Linker\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.linkerDebug\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.OUTPUT_FILE.839981367\" name=\"Output file (-o)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.OUTPUT_FILE\" value=\"${ProjName}.out\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.MAP_FILE.1555000467\" name=\"Write a map file (-Map)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.MAP_FILE\" value=\"${ProjName}.map\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.LIBRARY.1347913029\" name=\"Libraries (-l, --library)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.LIBRARY\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.SCRIPTS.933040553\" name=\"Linker command files (-T, --script)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.SCRIPTS\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NOSTARTFILES.879149092\" name=\"Do not use the standard system startup files when linking (-nostartfiles)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NOSTARTFILES\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NODEFAULTLIBS.718462702\" name=\"Do not use the standard system libraries when linking (-nodefaultlibs)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NODEFAULTLIBS\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.GC_SECTIONS.842383496\" name=\"Remove unused sections (--gc-sections)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.GC_SECTIONS\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.STATIC.869793521\" name=\"Do not link with the shared libraries (-static)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.STATIC\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NOSTDLIB.255196952\" name=\"Do not use the standard system startup files or libraries when linking (-nostdlib)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NOSTDLIB\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__CMD_SRCS.677089481\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__CMD_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__CMD2_SRCS.1897887025\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__CMD2_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__GEN_CMDS.1685978282\" name=\"Generated Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__GEN_CMDS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.hex.591401063\" name=\"GNU Objcopy Utility\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.hex\"/>\n\t\t\t\t\t\t</toolChain>\n\t\t\t\t\t</folderInfo>\n\t\t\t\t\t<sourceEntries>\n\t\t\t\t\t\t<entry flags=\"VALUE_WORKSPACE_PATH|RESOLVED\" kind=\"sourcePath\" name=\"\"/>\n\t\t\t\t\t</sourceEntries>\n\t\t\t\t</configuration>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"org.eclipse.cdt.core.externalSettings\"/>\n\t\t</cconfiguration>\n\t\t<cconfiguration id=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug.534492546.1358541448\">\n\t\t\t<storageModule buildSystemId=\"org.eclipse.cdt.managedbuilder.core.configurationDataProvider\" id=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug.534492546.1358541448\" moduleId=\"org.eclipse.cdt.core.settings\" name=\"Release\">\n\t\t\t\t<externalSettings/>\n\t\t\t\t<extensions>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.binaryparser.CoffParser\" point=\"org.eclipse.cdt.core.BinaryParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GmakeErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GASErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GLDErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GCCErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t</extensions>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t\t\t<configuration artifactExtension=\"out\" artifactName=\"${ProjName}\" buildProperties=\"\" cleanCommand=\"${CG_CLEAN_CMD}\" description=\"\" id=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug.534492546.1358541448\" name=\"Release\" parent=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug\">\n\t\t\t\t\t<folderInfo id=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug.534492546.1358541448.\" name=\"/\" resourcePath=\"\">\n\t\t\t\t\t\t<toolChain id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.DebugToolchain.469823560\" name=\"TI Build Tools\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.DebugToolchain\" targetTool=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.linkerDebug.123457069\">\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1846983527\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_CONFIGURATION_ID=Cortex M.TM4C123GH6PM\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_ENDIANNESS=little\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_FORMAT=ELF\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"LINKER_COMMAND_FILE=tm4c123gh6pm.lds\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"RUNTIME_SUPPORT_LIBRARY=libc.a\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"CCS_MBS_VERSION=6.1.3\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_TYPE=executable\"/>\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1616299930\" name=\"Compiler version\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION\" value=\"GNU_6.3.1:Linaro\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<targetPlatform id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.targetPlatformDebug.1508626334\" name=\"Platform\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.targetPlatformDebug\"/>\n\t\t\t\t\t\t\t<builder buildPath=\"${BuildDirectory}\" id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.builderDebug.688117887\" keepEnvironmentInBuildfile=\"false\" name=\"GNU Make\" parallelBuildOn=\"true\" parallelizationNumber=\"optimal\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.builderDebug\"/>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.compilerDebug.1088691316\" name=\"GNU Compiler\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.compilerDebug\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.CODE_STATE.798076657\" name=\"Code state\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.CODE_STATE\" value=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.CODE_STATE.THUMB\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MARCH.707868929\" name=\"Specify the name of the target architecture (-march)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MARCH\" value=\"armv7e-m\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MCPU.786098950\" name=\"Target CPU (-mcpu)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MCPU\" value=\"cortex-m4\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MFPU.148452124\" name=\"Specify the name of the target floating point hardware/format (-mfpu)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MFPU\" value=\"fpv4-sp-d16\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MFLOAT_ABI.801715358\" name=\"Specify if floating point hardware should be used (-mfloat-abi)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MFLOAT_ABI\" value=\"hard\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.FUNCTION_SECTIONS.878443810\" name=\"Place each function into its own section (-ffunction-sections)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.FUNCTION_SECTIONS\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DATA_SECTIONS.1031205950\" name=\"Place data items into their own section (-fdata-sections)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DATA_SECTIONS\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DEFINE.411887178\" name=\"Define symbols (-D)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DEFINE\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"NDEBUG\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"__FPU_PRESENT\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"TARGET_IS_TM4C123_RB1\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.INCLUDE_PATH.254795141\" name=\"Include paths (-I)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.INCLUDE_PATH\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../..\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../src\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../ports/arm-cm/qv/gnu\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../3rd_party/ek-tm4c123gxl\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../3rd_party/CMSIS/Include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CG_TOOL_INCLUDE_PATH}\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DEBUG.543537113\" name=\"Generate debug information (-g)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DEBUG\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DWARF_VERSION.2113079762\" name=\"Generate debug information in DWARF version (-gdwarf-)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DWARF_VERSION\" value=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DWARF_VERSION.3\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.STRICT_DWARF.550208473\" name=\"Do not emit DWARF additions beyond selected version (-gstrict-dwarf)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.STRICT_DWARF\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.SPECS.341010137\" name=\"Override built-in specs with the contents of the specified file (-specs)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.SPECS\" value=\"&quot;nosys.specs&quot;\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.ASM_SPECIFIC_FLAGS.1061535145\" name=\"Assembly source specific flags\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.ASM_SPECIFIC_FLAGS\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"-x assembler-with-cpp\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.OTHER_ASM_FLAGS.896297329\" name=\"Other assembler flags (-Xassembler)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.OTHER_ASM_FLAGS\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.OPT_LEVEL.1263665319\" name=\"Optimization Level\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.OPT_LEVEL\" value=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.OPT_LEVEL._none\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__C_SRCS.1417096077\" name=\"C Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__C_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__CPP_SRCS.898382215\" name=\"C++ Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__CPP_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__ASM_SRCS.620774366\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__ASM_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__ASM2_SRCS.1123298780\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__ASM2_SRCS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.linkerDebug.1991437074\" name=\"GNU Linker\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.linkerDebug\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.OUTPUT_FILE.1004944054\" name=\"Output file (-o)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.OUTPUT_FILE\" value=\"${ProjName}.out\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.MAP_FILE.218517326\" name=\"Write a map file (-Map)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.MAP_FILE\" value=\"${ProjName}.map\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.LIBRARY.819950368\" name=\"Libraries (-l, --library)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.LIBRARY\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.SCRIPTS.167426702\" name=\"Linker command files (-T, --script)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.SCRIPTS\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NOSTARTFILES.733649217\" name=\"Do not use the standard system startup files when linking (-nostartfiles)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NOSTARTFILES\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NODEFAULTLIBS.476050719\" name=\"Do not use the standard system libraries when linking (-nodefaultlibs)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NODEFAULTLIBS\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.GC_SECTIONS.276221738\" name=\"Remove unused sections (--gc-sections)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.GC_SECTIONS\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.STATIC.834002460\" name=\"Do not link with the shared libraries (-static)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.STATIC\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NOSTDLIB.1455376847\" name=\"Do not use the standard system startup files or libraries when linking (-nostdlib)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NOSTDLIB\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__CMD_SRCS.1367738909\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__CMD_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__CMD2_SRCS.41064114\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__CMD2_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__GEN_CMDS.1093744184\" name=\"Generated Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__GEN_CMDS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.hex.395050261\" name=\"GNU Objcopy Utility\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.hex\"/>\n\t\t\t\t\t\t</toolChain>\n\t\t\t\t\t</folderInfo>\n\t\t\t\t\t<sourceEntries>\n\t\t\t\t\t\t<entry flags=\"VALUE_WORKSPACE_PATH|RESOLVED\" kind=\"sourcePath\" name=\"\"/>\n\t\t\t\t\t</sourceEntries>\n\t\t\t\t</configuration>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"org.eclipse.cdt.core.externalSettings\"/>\n\t\t</cconfiguration>\n\t</storageModule>\n\t<storageModule moduleId=\"org.eclipse.cdt.core.LanguageSettingsProviders\"/>\n\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t<project id=\"blinky-qv.com.ti.ccstudio.buildDefinitions.TMS470.ProjectType.678184951\" name=\"TMS470\" projectType=\"com.ti.ccstudio.buildDefinitions.TMS470.ProjectType\"/>\n\t</storageModule>\n\t<storageModule moduleId=\"scannerConfiguration\"/>\n\t<storageModule moduleId=\"org.eclipse.cdt.core.language.mapping\">\n\t\t<project-mappings>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.asmSource\" language=\"com.ti.ccstudio.core.TIASMLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cHeader\" language=\"com.ti.ccstudio.core.TIGCCLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cSource\" language=\"com.ti.ccstudio.core.TIGCCLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cxxHeader\" language=\"com.ti.ccstudio.core.TIGPPLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cxxSource\" language=\"com.ti.ccstudio.core.TIGPPLanguage\"/>\n\t\t</project-mappings>\n\t</storageModule>\n</cproject>\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qv/gnu/.project",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<projectDescription>\n\t<name>blinky-qv</name>\n\t<comment></comment>\n\t<projects>\n\t</projects>\n\t<buildSpec>\n\t\t<buildCommand>\n\t\t\t<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t\t<buildCommand>\n\t\t\t<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>\n\t\t\t<triggers>full,incremental,</triggers>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t</buildSpec>\n\t<natures>\n\t\t<nature>com.ti.ccstudio.core.ccsNature</nature>\n\t\t<nature>org.eclipse.cdt.core.cnature</nature>\n\t\t<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>\n\t\t<nature>org.eclipse.cdt.core.ccnature</nature>\n\t\t<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>\n\t</natures>\n\t<linkedResources>\n\t\t<link>\n\t\t\t<name>qv-nano</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/src/qvn</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>QP-nano</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/src/qfn</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>QP_port</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/ports/arm-cm/qv/gnu</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>TM4C123GH6PM.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/3rd_party/ek-tm4c123gxl/TM4C123GH6PM.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>blinky.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/blinky.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>blinky.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/blinky.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>bsp.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-1-PROJECT_LOC/bsp.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>bsp.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/bsp.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>gpio.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/3rd_party/ek-tm4c123gxl/gpio.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>main.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/main.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>qstamp.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/include/qstamp.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>rom.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/3rd_party/ek-tm4c123gxl/rom.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>startup_TM4C123GH6PM.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/3rd_party/ek-tm4c123gxl/gnu/startup_TM4C123GH6PM.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>sysctl.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/3rd_party/ek-tm4c123gxl/sysctl.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>system_TM4C123GH6PM.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/3rd_party/ek-tm4c123gxl/system_TM4C123GH6PM.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>system_TM4C123GH6PM.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/3rd_party/ek-tm4c123gxl/system_TM4C123GH6PM.h</locationURI>\n\t\t</link>\n\t</linkedResources>\n</projectDescription>\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qv/gnu/Makefile",
    "content": "##############################################################################\n# Product: Makefile for QP-nano on EK-TM4C123GXL, QV-nano, GNU-ARM\n# Last Updated for Version: 6.5.0\n# Date of the Last Update:  2019-04-15\n#\n#                    Q u a n t u m  L e a P s\n#                    ------------------------\n#                    Modern Embedded Software\n#\n# Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# https://www.state-machine.com\n# mailto:info@state-machine.com\n##############################################################################\n# examples of invoking this Makefile:\n# building configurations: Debug (default), Release, and Spy\n# make\n# make CONF=rel\n#\n# cleaning configurations: Debug (default), Release, and Spy\n# make clean\n# make CONF=rel clean\n#\n# NOTE:\n# To use this Makefile on Windows, you will need the GNU make utility, which\n# is included in the Qtools collection for Windows, see:\n#    http://sourceforge.net/projects/qpc/files/Qtools/\n#\n\n#-----------------------------------------------------------------------------\n# project name\n#\nPROJECT     := blinky-qv\n\n#-----------------------------------------------------------------------------\n# project directories\n#\n\n# location of the QP-nano framework (if not provided in an environemnt var.)\nifeq ($(QPN),)\nQPN := ../../../../..\nendif\n\n# QP port used in this project\nQP_PORT_DIR := $(QPN)/ports/arm-cm/qv/gnu\n\n# list of all source directories used by this project\nVPATH = \\\n\t.. \\\n\t../.. \\\n\t$(QPN)/src/qfn \\\n\t$(QPN)/src/qvn \\\n\t$(QP_PORT_DIR) \\\n\t$(QPN)/3rd_party/ek-tm4c123gxl \\\n\t$(QPN)/3rd_party/ek-tm4c123gxl/gnu\n\n# list of all include directories needed by this project\nINCLUDES  = \\\n\t-I../.. \\\n\t-I$(QPN)/include \\\n\t-I$(QP_PORT_DIR) \\\n\t-I$(QPN)/3rd_party/CMSIS/Include \\\n\t-I$(QPN)/3rd_party/ek-tm4c123gxl\n\n#-----------------------------------------------------------------------------\n# files\n#\n\n# assembler source files\nASM_SRCS :=\n\n# C source files\nC_SRCS := \\\n\tblinky.c \\\n\tbsp.c \\\n\tmain.c \\\n\tsystem_TM4C123GH6PM.c \\\n\tstartup_TM4C123GH6PM.c\n\n# C++ source files\nCPP_SRCS :=\n\nOUTPUT    := $(PROJECT)\nLD_SCRIPT := $(PROJECT).ld\n\nQP_SRCS := \\\n\tqepn.c \\\n\tqfn.c \\\n\tqvn.c \\\n\tqvn_port.c\n\nQP_ASMS :=\n\nLIB_DIRS  :=\nLIBS      :=\n\n# defines\nDEFINES   :=\n\n# ARM CPU, ARCH, FPU, and Float-ABI types...\n# ARM_CPU:   [cortex-m0 | cortex-m0plus | cortex-m1 | cortex-m3 | cortex-m4]\n# ARM_ARCH:  [6 | 7] (NOTE: must match ARM_CPU!)\n# ARM_FPU:   [ | vfp]\n# FLOAT_ABI: [ | soft | softfp | hard]\n#\nARM_CPU   := -mcpu=cortex-m4\nARM_ARCH  := 7   # NOTE: must match the ARM_CPU!\nARM_FPU   := -mfpu=vfp\nFLOAT_ABI := -mfloat-abi=softfp\n\n#-----------------------------------------------------------------------------\n# GNU-ARM toolset (NOTE: You need to adjust to your machine)\n# see https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads\n#\nifeq ($(GNU_ARM),)\nGNU_ARM := $(QTOOLS)/gnu_arm-none-eabi\nendif\n\n# make sure that the GNU-ARM toolset exists...\nifeq (\"$(wildcard $(GNU_ARM))\",\"\")\n$(error GNU_ARM toolset not found. Please adjust the Makefile)\nendif\n\nCC    := $(GNU_ARM)/bin/arm-none-eabi-gcc\nCPP   := $(GNU_ARM)/bin/arm-none-eabi-g++\nAS    := $(GNU_ARM)/bin/arm-none-eabi-as\nLINK  := $(GNU_ARM)/bin/arm-none-eabi-g++\nBIN   := $(GNU_ARM)/bin/arm-none-eabi-objcopy\n\n\n##############################################################################\n# Typically, you should not need to change anything below this line\n\n# basic utilities (included in Qtools for Windows), see:\n#    http://sourceforge.net/projects/qpc/files/Qtools\n\nMKDIR := mkdir\nRM    := rm\n\n#-----------------------------------------------------------------------------\n# build options for various configurations for ARM Cortex-M\n#\n\n# combine all the soruces...\nC_SRCS += $(QP_SRCS)\nASM_SRCS += $(QP_ASMS)\n\nifeq (rel, $(CONF)) # Release configuration ..................................\n\nBIN_DIR := rel\n\nASFLAGS = $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O1 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nCPPFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O1 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nelse # default Debug configuration ..........................................\n\nBIN_DIR := dbg\n\nASFLAGS = -g $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O $(INCLUDES) $(DEFINES)\n\nCPPFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O $(INCLUDES) $(DEFINES)\n\nendif # ......................................................................\n\n\nLINKFLAGS = -T$(LD_SCRIPT) $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb \\\n\t-specs=nosys.specs -specs=nano.specs \\\n\t-Wl,-Map,$(BIN_DIR)/$(OUTPUT).map,--cref,--gc-sections $(LIB_DIRS)\n\n\nASM_OBJS     := $(patsubst %.s,%.o,  $(notdir $(ASM_SRCS)))\nC_OBJS       := $(patsubst %.c,%.o,  $(notdir $(C_SRCS)))\nCPP_OBJS     := $(patsubst %.cpp,%.o,$(notdir $(CPP_SRCS)))\n\nTARGET_BIN   := $(BIN_DIR)/$(OUTPUT).bin\nTARGET_ELF   := $(BIN_DIR)/$(OUTPUT).elf\nASM_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(ASM_OBJS))\nC_OBJS_EXT   := $(addprefix $(BIN_DIR)/, $(C_OBJS))\nC_DEPS_EXT   := $(patsubst %.o, %.d, $(C_OBJS_EXT))\nCPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))\nCPP_DEPS_EXT := $(patsubst %.o, %.d, $(CPP_OBJS_EXT))\n\n# create $(BIN_DIR) if it does not exist\nifeq (\"$(wildcard $(BIN_DIR))\",\"\")\n$(shell $(MKDIR) $(BIN_DIR))\nendif\n\n#-----------------------------------------------------------------------------\n# rules\n#\n\nall: $(TARGET_BIN)\n#all: $(TARGET_ELF)\n\n$(TARGET_BIN): $(TARGET_ELF)\n\t$(BIN) -O binary $< $@\n\n$(TARGET_ELF) : $(ASM_OBJS_EXT) $(C_OBJS_EXT) $(CPP_OBJS_EXT)\n\t$(CC) $(CFLAGS) $(QPN)/include/qstamp.c -o $(BIN_DIR)/qstamp.o\n\t$(LINK) $(LINKFLAGS) -o $@ $^ $(BIN_DIR)/qstamp.o $(LIBS)\n\n$(BIN_DIR)/%.d : %.c\n\t$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@\n\n$(BIN_DIR)/%.d : %.cpp\n\t$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@\n\n$(BIN_DIR)/%.o : %.s\n\t$(AS) $(ASFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.c\n\t$(CC) $(CFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.cpp\n\t$(CPP) $(CPPFLAGS) $< -o $@\n\n# include dependency files only if our goal depends on their existence\nifneq ($(MAKECMDGOALS),clean)\n  ifneq ($(MAKECMDGOALS),show)\n-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)\n  endif\nendif\n\n\n.PHONY : clean\nclean:\n\t-$(RM) $(BIN_DIR)/*.o \\\n\t$(BIN_DIR)/*.d \\\n\t$(BIN_DIR)/*.bin \\\n\t$(BIN_DIR)/*.elf \\\n\t$(BIN_DIR)/*.map\n\t\nshow:\n\t@echo PROJECT = $(PROJECT)\n\t@echo CONF = $(CONF)\n\t@echo DEFINES = $(DEFINES)\n\t@echo ASM_FPU = $(ASM_FPU)\n\t@echo ASM_SRCS = $(ASM_SRCS)\n\t@echo C_SRCS = $(C_SRCS)\n\t@echo CPP_SRCS = $(CPP_SRCS)\n\t@echo ASM_OBJS_EXT = $(ASM_OBJS_EXT)\n\t@echo C_OBJS_EXT = $(C_OBJS_EXT)\n\t@echo C_DEPS_EXT = $(C_DEPS_EXT)\n\t@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)\n\t@echo TARGET_ELF = $(TARGET_ELF)\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qv/gnu/README.txt",
    "content": "About this Example\n==================\nThis example can be built in two different ways:\n- from the command prompt with the provided Makefile.\n- from the TI Code Composer Studio with the provided CCS project.\n\n\nThe Makefile\n============\nThe provided Makefile should be easy to adapt for your own projects.\nIt contains three build configurations: Debug (default), Release, and\nSpy.\n\nAlso, the Makefile has been specifically designed to work as an external\nMakefile with the Eclipse CDT.\n\nThe various build configurations are built as follows:\n\nmake\nmake CONF=rel\nmake CONF=spy\n\nmake clean\nmake CONF=rel clean\nmake CONF=spy clean\n\n***\nNOTE:\nThe installation folder of the GNU-ARM toolset on YOUR machine needs\nto be adjusted in the provided Makefile, by editing the symbol: GNU_ARM.\nAs described in the comment for this symbol, the GNU-ARM toolset is taken\nfrom: http://gnutoolchains.com/arm-eabi\n\nIt is highly recommened to use the same GNU-ARM distribution, especially\nfor ARM Cortex-M4F projects, due to the support for the hardware FPU\n(float-abi=hard).\n***\n\n\nAdjusting Stack and Heap Sizes\n==============================\nThe stack and heap sizes are determined in this project by the GCC linker\nscript (.ld file), which provides a template of the recommended GCC linker\nscript for QP applications.\n\n\nStartup Code\n============\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\ek-tm4c123gxl\\gcc\\startup_TM4C123GH6PM.c\n\nThe file startup_TM4C123GH6PM.c provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qv/gnu/blinky-qv.ld",
    "content": "/*****************************************************************************\n* Product: Linker script for EK-TM4C123GXL, GNU-ARM linker\n* Last Updated for Version: 5.9.8\n* Date of the Last Update:  2017-09-13\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <http://www.gnu.org/licenses/>.\n*\n* Contact information:\n* Web  : http://www.state-machine.com\n* Email: info@state-machine.com\n*****************************************************************************/\nOUTPUT_FORMAT(\"elf32-littlearm\", \"elf32-bigarm\", \"elf32-littlearm\")\nOUTPUT_ARCH(arm)\nENTRY(Reset_Handler) /* entry Point */\n\nMEMORY { /* memory map of Tiva TM4C123GH6PM */\n    ROM (rx)  : ORIGIN = 0x00000000, LENGTH = 256K\n    RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K\n}\n\n/* The size of the stack used by the application. NOTE: you need to adjust  */\nSTACK_SIZE = 1024;\n\n/* The size of the heap used by the application. NOTE: you need to adjust   */\nHEAP_SIZE = 0;\n\nSECTIONS {\n\n    .isr_vector : {        /* the vector table goes FIRST into ROM */\n        KEEP(*(.isr_vector)) /* vector table */\n        . = ALIGN(4);\n    } >ROM\n\n    .text : {              /* code and constants */\n        . = ALIGN(4);\n        *(.text)           /* .text sections (code) */\n        *(.text*)          /* .text* sections (code) */\n        *(.rodata)         /* .rodata sections (constants, strings, etc.) */\n        *(.rodata*)        /* .rodata* sections (constants, strings, etc.) */\n\n        KEEP (*(.init))\n        KEEP (*(.fini))\n\n        . = ALIGN(4);\n    } >ROM\n\n    .preinit_array : {\n        PROVIDE_HIDDEN (__preinit_array_start = .);\n        KEEP (*(.preinit_array*))\n        PROVIDE_HIDDEN (__preinit_array_end = .);\n    } >ROM\n\n    .init_array : {\n        PROVIDE_HIDDEN (__init_array_start = .);\n        KEEP (*(SORT(.init_array.*)))\n        KEEP (*(.init_array*))\n        PROVIDE_HIDDEN (__init_array_end = .);\n    } >ROM\n\n    .fini_array : {\n        PROVIDE_HIDDEN (__fini_array_start = .);\n        KEEP (*(.fini_array*))\n        KEEP (*(SORT(.fini_array.*)))\n        PROVIDE_HIDDEN (__fini_array_end = .);\n    } >ROM\n\n    _etext = .;            /* global symbols at end of code */\n\n    .stack : {\n        __stack_start__ = .;\n        . = . + STACK_SIZE;\n        . = ALIGN(4);\n        __stack_end__ = .;\n    } >RAM\n\n    .data :  AT (_etext) {\n        __data_load = LOADADDR (.data);\n        __data_start = .;\n        *(.data)           /* .data sections */\n        *(.data*)          /* .data* sections */\n        . = ALIGN(4);\n        __data_end__ = .;\n        _edata = __data_end__;\n    } >RAM\n\n    .bss : {\n        __bss_start__ = .;\n        *(.bss)\n        *(.bss*)\n        *(COMMON)\n        . = ALIGN(4);\n        _ebss = .;         /* define a global symbol at bss end */\n        __bss_end__ = .;\n    } >RAM\n\n    __exidx_start = .;\n    .ARM.exidx   : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } >RAM\n    __exidx_end = .;\n\n    PROVIDE ( end = _ebss );\n    PROVIDE ( _end = _ebss );\n    PROVIDE ( __end__ = _ebss );\n\n    .heap : {\n        __heap_start__ = .;\n        . = . + HEAP_SIZE;\n        . = ALIGN(4);\n        __heap_end__ = .;\n    } >RAM\n\n    /* Remove information from the standard libraries */\n    /DISCARD/ : {\n        libc.a ( * )\n        libm.a ( * )\n        libgcc.a ( * )\n    }\n}\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qv/gnu/flash.bat",
    "content": "::============================================================================\n:: Batch file to program the flash of EK-TM4C123GXL\n:: \n:: NOTE: requires the LMFlash programmer (included in QTools for Windows)\n:: \n@echo off\nsetlocal\n\n@echo Load a given binary file to the flash of EK-TM4C123GXL\n@echo usage:   flash binary-file\n@echo example: flash dbg\\blinky-qk.bin\n\n::----------------------------------------------------------------------------\n:: NOTE: The following symbol LMFLASH assumes that LMFlash.exe can\n:: be found on the PATH. You might need to adjust this symbol to the\n:: location of the LMFlash utility on your machine\n::\nset LMFLASH=LMFlash.exe\n\nif [\"%~1\"]==[\"\"] (\n    @echo The binary file missing\n    @goto end\n)\nif not exist %~s1 (\n    @echo The binary file '%1' does not exist\n    @goto end\n)\n\n%LMFLASH% -q ek-tm4c123gxl -e -v -r %1\n\n:end\n\nendlocal"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qv/iar/README.txt",
    "content": "About this Example\n==================\nThis example demonstrates how to use the IAR EWARM IDE to build\na QP application.\n\n\nIAR Project File\n----------------\nThe IAR EWARM project file provided with this example uses relative paths\nto the QP framework location (includes, port, and libraries. These\nrelative paths must be modified when the project is moved to different\nrelative location.\n\n\nStack Size and Heap Size\n------------------------\nIn this project, the size of the C stack and heap are determined in\nthe linker script blinky-qk.icf (see the next section).\n\n\nLinker Script\n-------------\nThe IAR linker script provides a template of the recommended linker script\nfor QP applications. This file needs to be customized to set the\napplication-specific sizes of the Stack and Heap. This file can be edited\nfrom the IAR EWARM IDE via the Project Options/Linker settings.\n\n\nStartup Code\n------------\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\ek-tm4c123gxl\\iar\\startup_TM4C123GH6PM.s\n\nThe file startup_TM4C123GH6PM.s provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qv/iar/blinky-qv.ewd",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project>\n    <fileVersion>3</fileVersion>\n    <configuration>\n        <name>Debug</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>1</debug>\n        <settings>\n            <name>C-SPY</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCVariant</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>MemOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MemFile</name>\n                    <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\TexasInstruments\\TM4C123GH6PM.ddf</state>\n                </option>\n                <option>\n                    <name>RunToEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RunToName</name>\n                    <state>main</state>\n                </option>\n                <option>\n                    <name>CExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDDFArgumentProducer</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadSuppressDownload</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDownloadVerifyAll</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCProductVersion</name>\n                    <state>7.40.2.8567</state>\n                </option>\n                <option>\n                    <name>OCDynDriverList</name>\n                    <state>LMIFTDI_ID</state>\n                </option>\n                <option>\n                    <name>OCLastSavedByProductVersion</name>\n                    <state>8.11.1.13270</state>\n                </option>\n                <option>\n                    <name>UseFlashLoader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CLowLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CDevice</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>FlashLoadersV3</name>\n                    <state>$TOOLKIT_DIR$\\config\\flashloader\\TexasInstruments\\FlashTC4_H6_o.board</state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OverrideDefFlashBoard</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesOffset1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesUse1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDeviceConfigMacroFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDebuggerExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAllMTBOptions</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreNrOfCores</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreMaster</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCMulticorePort</name>\n                    <state>53461</state>\n                </option>\n                <option>\n                    <name>OCMulticoreWorkspace</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveProject</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveConfiguration</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadExtraImage</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAttachSlave</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ARMSIM_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCSimDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCSimEnablePSP</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspOverrideConfig</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspConfigFile</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CADI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCadiMemory</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Fast Model</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCADILogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCADILogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CMSISDAP_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CMSISDAPResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>CMSISDAPDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CMSISDAPProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>GDBSERVER_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJTagBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IJET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>8</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>IjetPowerFromProbe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPowerRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetProtocolRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPin</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPrescalerList</name>\n                    <version>1</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IjetProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPreferETB</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetTraceSettingsList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetTraceSizeList</name>\n                    <version>0</version>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>FlashBoardPathSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>JLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>16</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>JLinkSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJLinkHWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>JLinkInitialSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCDoJlinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkCommRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>CCJLinkSpeedRadioV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCUSBDevice</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkResetList</name>\n                    <version>6</version>\n                    <state>5</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCTcpIpAlt</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTcpIpSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSourceDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkDeviceName</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>LMIFTDI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>2</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>LmiftdiSpeed</name>\n                    <state>500</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>PEMICRO_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>3</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJPEMicroShowSettings</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>STLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkResetList</name>\n                    <version>3</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDAPNumber</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkDebugAccessPortRadio</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>THIRDPARTY_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CThirdPartyDriverDll</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>TIFET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVccTypeDefault</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVoltage</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CCMSPFetVCCDefault</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetSettlingtime</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioJtagSpeedType</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetConnection</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetUsbComPort</name>\n                    <state>Automatic</state>\n                </option>\n                <option>\n                    <name>CCMSPFetAllowAccessToBSL</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioEraseFlash</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>XDS100_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>6</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCXds100CatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TIPackageOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TIPackage</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>BoardFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCXds100BreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100DoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockEdit</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCXds100HWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100JtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ProbeList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPortRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPort</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <debuggerPlugins>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n                <loadFlag>1</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n        </debuggerPlugins>\n    </configuration>\n    <configuration>\n        <name>Release</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>0</debug>\n        <settings>\n            <name>C-SPY</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCVariant</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>MemOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MemFile</name>\n                    <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\TexasInstruments\\TM4C123GH6PM.ddf</state>\n                </option>\n                <option>\n                    <name>RunToEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RunToName</name>\n                    <state>main</state>\n                </option>\n                <option>\n                    <name>CExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDDFArgumentProducer</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadSuppressDownload</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDownloadVerifyAll</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCProductVersion</name>\n                    <state>7.40.2.8567</state>\n                </option>\n                <option>\n                    <name>OCDynDriverList</name>\n                    <state>LMIFTDI_ID</state>\n                </option>\n                <option>\n                    <name>OCLastSavedByProductVersion</name>\n                    <state>7.40.2.8567</state>\n                </option>\n                <option>\n                    <name>UseFlashLoader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CLowLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CDevice</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>FlashLoadersV3</name>\n                    <state>$TOOLKIT_DIR$\\config\\flashloader\\TexasInstruments\\FlashTC4_H6_o.board</state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OverrideDefFlashBoard</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesOffset1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesUse1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDeviceConfigMacroFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDebuggerExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAllMTBOptions</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreNrOfCores</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreMaster</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCMulticorePort</name>\n                    <state>53461</state>\n                </option>\n                <option>\n                    <name>OCMulticoreWorkspace</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveProject</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveConfiguration</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadExtraImage</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAttachSlave</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ARMSIM_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCSimDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCSimEnablePSP</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspOverrideConfig</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspConfigFile</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CADI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCadiMemory</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Fast Model</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCADILogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCADILogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CMSISDAP_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CMSISDAPResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>CMSISDAPDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CMSISDAPProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>GDBSERVER_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJTagBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IJET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>8</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>IjetPowerFromProbe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPowerRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetProtocolRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPin</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPrescalerList</name>\n                    <version>1</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IjetProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPreferETB</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetTraceSettingsList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetTraceSizeList</name>\n                    <version>0</version>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>FlashBoardPathSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>JLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>16</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>JLinkSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJLinkHWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>JLinkInitialSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCDoJlinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkCommRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>CCJLinkSpeedRadioV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCUSBDevice</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkResetList</name>\n                    <version>6</version>\n                    <state>5</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCTcpIpAlt</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTcpIpSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSourceDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkDeviceName</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>LMIFTDI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>2</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>LmiftdiSpeed</name>\n                    <state>500</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>PEMICRO_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>3</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJPEMicroShowSettings</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>STLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkResetList</name>\n                    <version>3</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDAPNumber</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkDebugAccessPortRadio</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>THIRDPARTY_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CThirdPartyDriverDll</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>TIFET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVccTypeDefault</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVoltage</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CCMSPFetVCCDefault</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetSettlingtime</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioJtagSpeedType</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetConnection</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetUsbComPort</name>\n                    <state>Automatic</state>\n                </option>\n                <option>\n                    <name>CCMSPFetAllowAccessToBSL</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioEraseFlash</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>XDS100_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>6</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCXds100CatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TIPackageOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TIPackage</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>BoardFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCXds100BreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100DoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockEdit</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCXds100HWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100JtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ProbeList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPortRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPort</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <debuggerPlugins>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n                <loadFlag>1</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n        </debuggerPlugins>\n    </configuration>\n</project>\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qv/iar/blinky-qv.ewp",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project>\n    <fileVersion>3</fileVersion>\n    <configuration>\n        <name>Debug</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>1</debug>\n        <settings>\n            <name>General</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>ExePath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>ObjPath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>ListPath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>GEndianMode</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>Input description</name>\n                    <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n                </option>\n                <option>\n                    <name>Output description</name>\n                    <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n                </option>\n                <option>\n                    <name>GOutputBinary</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCoreOrChip</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelect</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelectSlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RTDescription</name>\n                    <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n                </option>\n                <option>\n                    <name>OGProductVersion</name>\n                    <state>5.11.0.50579</state>\n                </option>\n                <option>\n                    <name>OGLastSavedByProductVersion</name>\n                    <state>8.11.1.13270</state>\n                </option>\n                <option>\n                    <name>GeneralEnableMisra</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVerbose</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGChipSelectEditMenu</name>\n                    <state>TM4C123GH6PM\tTexasInstruments TM4C123GH6PM</state>\n                </option>\n                <option>\n                    <name>GenLowLevelInterface</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GEndianModeBE</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OGBufferedTerminalOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenStdoutInterface</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>RTConfigPath2</name>\n                    <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n                </option>\n                <option>\n                    <name>GBECoreSlave</name>\n                    <version>25</version>\n                    <state>40</state>\n                </option>\n                <option>\n                    <name>OGUseCmsis</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsisDspLib</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibThreads</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CoreVariant</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>GFPUDeviceSlave</name>\n                    <state>TM4C123GH6PM\tTexasInstruments TM4C123GH6PM</state>\n                </option>\n                <option>\n                    <name>FPU2</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>NrRegs</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>NEON</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUCoreSlave2</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>OGCMSISPackSelectDevice</name>\n                </option>\n                <option>\n                    <name>OgLibHeap</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGLibAdditionalLocale</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGPrintfVariant</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>OGPrintfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGScanfVariant</name>\n                    <version>0</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OGScanfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenLocaleTags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>GenLocaleDisplayOnly</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ICCARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>34</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCOptimizationNoSizeConstraints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCPreprocFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocComments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMnemonics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMessages</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDiagSuppress</name>\n                    <state>Pa050</state>\n                </option>\n                <option>\n                    <name>CCDiagRemark</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagWarning</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagError</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCAllowList</name>\n                    <version>1</version>\n                    <state>00000000</state>\n                </option>\n                <option>\n                    <name>CCDebugInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IEndianMode</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCLangConformance</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSignedPlainChar</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRequirePrototypes</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCDiagWarnAreErr</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCompilerRuntimeInfo</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>CCLibConfigHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>PreInclude</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CompilerMisraOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIncludePath2</name>\n                    <state>$PROJ_DIR$\\..</state>\n                    <state>$PROJ_DIR$\\..\\..</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl</state>\n                </option>\n                <option>\n                    <name>CCStdIncCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCodeSection</name>\n                    <state>.text</state>\n                </option>\n                <option>\n                    <name>IProcessorMode2</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptStrategy</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevelSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>CCPosIndRopi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndRwpi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndNoDynInit</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccLang</name>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>IccCDialect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccAllowVLA</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccStaticDestr</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCppInlineSemantics</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccFloatSemantics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCOptStrategySlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCGuardCalls</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccExceptions2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccRTTI2</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>AARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>10</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>AObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>ACaseSensitivity</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacroChars</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnWhat</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnOne</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>ADebug</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AltRegisterNames</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ADefines</name>\n                    <state>ewarm</state>\n                </option>\n                <option>\n                    <name>AList</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AListHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AListing</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Includes</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacDefs</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacExps</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacExec</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OnlyAssed</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MultiLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLengthCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLength</name>\n                    <state>80</state>\n                </option>\n                <option>\n                    <name>TabSpacing</name>\n                    <state>8</state>\n                </option>\n                <option>\n                    <name>AXRef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDefines</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefInternal</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDual</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AOutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsEdit</name>\n                    <state>100</state>\n                </option>\n                <option>\n                    <name>AIgnoreStdInclude</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AUserIncludes</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AExtraOptionsCheckV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AExtraOptionsV2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AsmNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>OBJCOPY</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OOCOutputFormat</name>\n                    <version>3</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OCOutputOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OOCOutputFile</name>\n                    <state>blinky-qv.bin</state>\n                </option>\n                <option>\n                    <name>OOCCommandLineProducer</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OOCObjCopyEnable</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CUSTOM</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <extensions></extensions>\n                <cmdline></cmdline>\n                <hasPrio>0</hasPrio>\n            </data>\n        </settings>\n        <settings>\n            <name>BICOMP</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>BUILDACTION</name>\n            <archiveVersion>1</archiveVersion>\n            <data>\n                <prebuild></prebuild>\n                <postbuild></postbuild>\n            </data>\n        </settings>\n        <settings>\n            <name>ILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>20</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>IlinkLibIOConfig</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>XLinkMisraHandler</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkInputFileSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOutputFile</name>\n                    <state>blinky-qv.out</state>\n                </option>\n                <option>\n                    <name>IlinkDebugInfoEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkKeepSymbols</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkConfigDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkMapFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogInitialization</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogModule</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogSection</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogVeneer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfOverride</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile</name>\n                    <state>$PROJ_DIR$\\blinky-qv.icf</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFileSlave</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkSuppressDiags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsRem</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsWarn</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsErr</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkWarningsAreErrors</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkUseExtraOptions</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkLowLevelInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAutoLibEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAdditionalLibs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkOverrideProgramEntryLabel</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabelSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabel</name>\n                    <state>__iar_program_start</state>\n                </option>\n                <option>\n                    <name>DoFill</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>FillerByte</name>\n                    <state>0xFF</state>\n                </option>\n                <option>\n                    <name>FillerStart</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>FillerEnd</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>CrcSize</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcAlign</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcPoly</name>\n                    <state>0x11021</state>\n                </option>\n                <option>\n                    <name>CrcCompl</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcBitOrder</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcInitialValue</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>DoCrc</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkBufferedTerminalOutput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkStdoutInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcFullSize</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIElfToolPostProcess</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogAutoLibSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogRedirSymbols</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogUnusedFragments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcReverseByteOrder</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcUseAsInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptInline</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsAllow</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsForce</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptMergeDuplSections</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptUseVfe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptForceVfe</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackAnalysisEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackControlFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkStackCallGraphFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CrcAlgorithm</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcUnitSize</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkThreadsSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogCallGraph</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile_AltDefault</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkHeapSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLocaleSelect</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IARCHIVE</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>IarchiveInputs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IarchiveOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IarchiveOutput</name>\n                    <state>###Unitialized###</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>BILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>Coder</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n    </configuration>\n    <configuration>\n        <name>Release</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>0</debug>\n        <settings>\n            <name>General</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>ExePath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>ObjPath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>ListPath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>GEndianMode</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>Input description</name>\n                    <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n                </option>\n                <option>\n                    <name>Output description</name>\n                    <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n                </option>\n                <option>\n                    <name>GOutputBinary</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCoreOrChip</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelect</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelectSlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RTDescription</name>\n                    <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n                </option>\n                <option>\n                    <name>OGProductVersion</name>\n                    <state>5.11.0.50579</state>\n                </option>\n                <option>\n                    <name>OGLastSavedByProductVersion</name>\n                    <state>7.40.3.8937</state>\n                </option>\n                <option>\n                    <name>GeneralEnableMisra</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVerbose</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGChipSelectEditMenu</name>\n                    <state>TM4C123GH6PM\tTexasInstruments TM4C123GH6PM</state>\n                </option>\n                <option>\n                    <name>GenLowLevelInterface</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GEndianModeBE</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OGBufferedTerminalOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenStdoutInterface</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>RTConfigPath2</name>\n                    <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n                </option>\n                <option>\n                    <name>GBECoreSlave</name>\n                    <version>25</version>\n                    <state>40</state>\n                </option>\n                <option>\n                    <name>OGUseCmsis</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsisDspLib</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibThreads</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CoreVariant</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>GFPUDeviceSlave</name>\n                    <state>TM4C123GH6PM\tTexasInstruments TM4C123GH6PM</state>\n                </option>\n                <option>\n                    <name>FPU2</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>NrRegs</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>NEON</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUCoreSlave2</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>OGCMSISPackSelectDevice</name>\n                </option>\n                <option>\n                    <name>OgLibHeap</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGLibAdditionalLocale</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGPrintfVariant</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>OGPrintfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGScanfVariant</name>\n                    <version>0</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OGScanfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenLocaleTags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>GenLocaleDisplayOnly</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ICCARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>34</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCOptimizationNoSizeConstraints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDefines</name>\n                    <state>NDEBUG</state>\n                </option>\n                <option>\n                    <name>CCPreprocFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocComments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMnemonics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMessages</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDiagSuppress</name>\n                    <state>Pa050</state>\n                </option>\n                <option>\n                    <name>CCDiagRemark</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagWarning</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagError</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCAllowList</name>\n                    <version>1</version>\n                    <state>11111110</state>\n                </option>\n                <option>\n                    <name>CCDebugInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IEndianMode</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCLangConformance</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSignedPlainChar</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRequirePrototypes</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCDiagWarnAreErr</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCompilerRuntimeInfo</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>CCLibConfigHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>PreInclude</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CompilerMisraOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIncludePath2</name>\n                    <state>$PROJ_DIR$\\..</state>\n                    <state>$PROJ_DIR$\\..\\..</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl</state>\n                </option>\n                <option>\n                    <name>CCStdIncCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCodeSection</name>\n                    <state>.text</state>\n                </option>\n                <option>\n                    <name>IProcessorMode2</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevel</name>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>CCOptStrategy</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevelSlave</name>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>CCPosIndRopi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndRwpi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndNoDynInit</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccLang</name>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>IccCDialect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccAllowVLA</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccStaticDestr</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCppInlineSemantics</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccFloatSemantics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCOptStrategySlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCGuardCalls</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccExceptions2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccRTTI2</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>AARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>10</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>AObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>ACaseSensitivity</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacroChars</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnWhat</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnOne</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>ADebug</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AltRegisterNames</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ADefines</name>\n                    <state>ewarm</state>\n                </option>\n                <option>\n                    <name>AList</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AListHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AListing</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Includes</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacDefs</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacExps</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacExec</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OnlyAssed</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MultiLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLengthCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLength</name>\n                    <state>80</state>\n                </option>\n                <option>\n                    <name>TabSpacing</name>\n                    <state>8</state>\n                </option>\n                <option>\n                    <name>AXRef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDefines</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefInternal</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDual</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AOutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsEdit</name>\n                    <state>100</state>\n                </option>\n                <option>\n                    <name>AIgnoreStdInclude</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AUserIncludes</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AExtraOptionsCheckV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AExtraOptionsV2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AsmNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>OBJCOPY</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OOCOutputFormat</name>\n                    <version>3</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OCOutputOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OOCOutputFile</name>\n                    <state>blinky-qv.bin</state>\n                </option>\n                <option>\n                    <name>OOCCommandLineProducer</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OOCObjCopyEnable</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CUSTOM</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <extensions></extensions>\n                <cmdline></cmdline>\n                <hasPrio>0</hasPrio>\n            </data>\n        </settings>\n        <settings>\n            <name>BICOMP</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>BUILDACTION</name>\n            <archiveVersion>1</archiveVersion>\n            <data>\n                <prebuild></prebuild>\n                <postbuild></postbuild>\n            </data>\n        </settings>\n        <settings>\n            <name>ILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>20</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>IlinkLibIOConfig</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>XLinkMisraHandler</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkInputFileSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOutputFile</name>\n                    <state>blinky-qv.out</state>\n                </option>\n                <option>\n                    <name>IlinkDebugInfoEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkKeepSymbols</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkConfigDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkMapFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogInitialization</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogModule</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogSection</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogVeneer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfOverride</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile</name>\n                    <state>$PROJ_DIR$\\blinky-qv.icf</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFileSlave</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkSuppressDiags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsRem</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsWarn</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsErr</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkWarningsAreErrors</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkUseExtraOptions</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkLowLevelInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAutoLibEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAdditionalLibs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkOverrideProgramEntryLabel</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabelSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabel</name>\n                    <state>__iar_program_start</state>\n                </option>\n                <option>\n                    <name>DoFill</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>FillerByte</name>\n                    <state>0xFF</state>\n                </option>\n                <option>\n                    <name>FillerStart</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>FillerEnd</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>CrcSize</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcAlign</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcPoly</name>\n                    <state>0x11021</state>\n                </option>\n                <option>\n                    <name>CrcCompl</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcBitOrder</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcInitialValue</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>DoCrc</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkBufferedTerminalOutput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkStdoutInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcFullSize</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIElfToolPostProcess</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogAutoLibSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogRedirSymbols</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogUnusedFragments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcReverseByteOrder</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcUseAsInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptInline</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsAllow</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsForce</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptMergeDuplSections</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptUseVfe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptForceVfe</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackAnalysisEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackControlFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkStackCallGraphFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CrcAlgorithm</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcUnitSize</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkThreadsSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogCallGraph</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile_AltDefault</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkHeapSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLocaleSelect</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IARCHIVE</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>IarchiveInputs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IarchiveOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IarchiveOutput</name>\n                    <state>###Unitialized###</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>BILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>Coder</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n    </configuration>\n    <group>\n        <name>Application</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\blinky.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\blinky.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\bsp.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\bsp.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\main.c</name>\n        </file>\n    </group>\n    <group>\n        <name>ek-tm4c123gxl</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\iar\\startup_TM4C123GH6PM.s</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</name>\n        </file>\n    </group>\n    <group>\n        <name>QP</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qepn.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qfn.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qvn\\qvn.c</name>\n        </file>\n    </group>\n    <group>\n        <name>QP_port</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar\\qfn_port.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar\\qvn_port.c</name>\n        </file>\n    </group>\n</project>\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qv/iar/blinky-qv.eww",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<workspace>\n  <project>\n    <path>$WS_DIR$\\blinky-qv.ewp</path>\n  </project>\n  <batchBuild/>\n</workspace>\n\n\n"
  },
  {
    "path": "examples/arm-cm/blinky_ek-tm4c123gxl/qv/iar/blinky-qv.icf",
    "content": "/*###ICF### Section handled by ICF editor, don't touch! ****/\n/*-Editor annotation file-*/\n/* IcfEditorFile=\"$TOOLKIT_DIR$\\config\\ide\\IcfEditor\\cortex_v1_0.xml\" */\n/*-Specials-*/\ndefine symbol __ICFEDIT_intvec_start__ = 0x00000000;\n/*-Memory Regions-*/\ndefine symbol __ICFEDIT_region_ROM_start__ = 0x00000000;\ndefine symbol __ICFEDIT_region_ROM_end__   = 0x0003FFFF;\ndefine symbol __ICFEDIT_region_RAM_start__ = 0x20000000;\ndefine symbol __ICFEDIT_region_RAM_end__   = 0x20007FFF;\n/*-Sizes-*/\ndefine symbol __ICFEDIT_size_cstack__ = 1024;\ndefine symbol __ICFEDIT_size_heap__   = 0;\n/**** End of ICF editor section. ###ICF###*/\n\ndefine memory mem with size = 4G;\ndefine region ROM_region   = mem:[from __ICFEDIT_region_ROM_start__   to __ICFEDIT_region_ROM_end__];\ndefine region RAM_region   = mem:[from __ICFEDIT_region_RAM_start__   to __ICFEDIT_region_RAM_end__];\n\ndefine block CSTACK    with alignment = 8, size = __ICFEDIT_size_cstack__   { };\ndefine block HEAP      with alignment = 8, size = __ICFEDIT_size_heap__     { };\n\ninitialize by copy { readwrite };\ndo not initialize  { section .noinit };\n\nplace at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };\nplace in ROM_region   { readonly };\nplace at start of RAM_region {block CSTACK }; \nplace in RAM_region   { readwrite, block HEAP  };"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/README.txt",
    "content": "About this Example\n==================\nThis directory contains the simple DPP QP-nano example application for\nthe EK-TM4C123GXL board (TivaC LauchPad). This directory contains portable\ncode that should compile with any C compiler.\n\nThe sub-directories contain the Board Support Packages (BSPs) for the\npreemptive QK-nano kernel (sub-directory qk), the cooperative QV kernel\n(sub-directory qv), and the Win32-QV emulation (Windows).\n\nThe native kernels (QK-nano and QV-nano) further provide code and project\nfiles for the particular ARM toolchains, such as ARM (MDK-ARM), GNU, and IAR.\n\nPlease refer to the README files in the sub-directories for instructions\nhow to use and customize the example to your needs.\n\n\nSupport Code for EK-TM4C123GXL Board\n====================================\nThe directory qpn\\3rd_party\\ek-tm4c123gxl contains the CMSIS-compliant\ndevice code for the TM4C123GH6PM MCU. Please see the README.txt file in\nthis folder for more details.\n\n\nWin32 Emulation\n===============\nThe sub-directory win32-qv provides the emulation of the example on Windows\nas a GUI application. The sub-directory contains the Makefile for the\nMinGW toolset and a Visual Studio solution file (dpp-gui.sln) for Visual C++.\n\nThe Win32 emulation uses exactly the same code as the embedded board and\ndiffers only in the Board Support Package (bsp.c). This example demonstrates\nthe \"dual targeting\" development approach, where most of the embedded code\nis developed on the desktop machine (Windows), but is intended for a deeply\nembedded target (TivaC LauchPad here).\n\n\nLint Support\n============\nThe sub-directory lint provides the scripts and configuration files for\nrunning the PC-Lint static analysis tool over the application code. Please\nread the README.txt file in the lint directory for more information."
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/README.url",
    "content": "[InternetShortcut]\nURL=http://www.state-machine.com/qpn/arm-cm_dpp_efm32-slstk3401a.html\nIconFile=http://www.state-machine.com/qp.ico\n"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/bsp.h",
    "content": "/*****************************************************************************\n* Product: DPP example\n* Last Updated for Version: 5.4.0\n* Date of the Last Update:  2015-03-07\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* Web  : www.state-machine.com\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BSP_H\n#define BSP_H\n\n#define BSP_TICKS_PER_SEC    100U\n\nvoid BSP_init(void);\nvoid BSP_displayPaused(uint8_t paused);\nvoid BSP_displayPhilStat(uint8_t n, char_t const *stat);\nvoid BSP_terminate(int16_t result);\n\nvoid BSP_randomSeed(uint32_t seed);   /* random seed */\nuint32_t BSP_random(void);            /* pseudo-random generator */\n\n#endif /* BSP_H */\n"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/dpp.h",
    "content": "/*.$file${.::dpp.h} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: dpp.qm\n* File:  ${.::dpp.h}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::dpp.h} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#ifndef DPP_H\n#define DPP_H\n\nenum DPPSignals {\n    EAT_SIG = Q_USER_SIG, /* published by Table to let a philosopher eat */\n    DONE_SIG,             /* published by Philosopher when done eating */\n    PAUSE_SIG,            /* published by BSP to pause the application */\n    SERVE_SIG,            /* published by BSP to pause the application */\n    TERMINATE_SIG,        /* published by BSP to terminate the application */\n    HUNGRY_SIG,           /* posted direclty to Table from hungry Philo */\n    MAX_SIG               /* the last signal */\n};\n\n/* number of philosophers */\n#define N_PHILO ((uint8_t)5)\n#define PHILO_0_PRIO 1\n\n/*.$declare${AOs::AO_Philo0} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo0;\n/*.$enddecl${AOs::AO_Philo0} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo1} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo1;\n/*.$enddecl${AOs::AO_Philo1} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo2} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo2;\n/*.$enddecl${AOs::AO_Philo2} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo3} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo3;\n/*.$enddecl${AOs::AO_Philo3} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo4} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo4;\n/*.$enddecl${AOs::AO_Philo4} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Table AO_Table;\n/*.$enddecl${AOs::AO_Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/*.$declare${AOs::Philo_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo_ctor} ......................................................*/\nvoid Philo_ctor(void);\n/*.$enddecl${AOs::Philo_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::Table_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table_ctor} ......................................................*/\nvoid Table_ctor(void);\n/*.$enddecl${AOs::Table_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n#endif /* DPP_H */\n"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/dpp.qm",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<model version=\"4.6.0\" links=\"1\">\n <documentation>Dining Philosopher Problem example with QActive</documentation>\n <!--${qpn}-->\n <framework name=\"qpn\"/>\n <!--${AOs}-->\n <package name=\"AOs\" stereotype=\"0x02\">\n  <!--${AOs::Philo}-->\n  <class name=\"Philo\" superclass=\"qpn::QActive\">\n   <!--${AOs::Philo::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${AOs::Philo::SM::initial}-->\n    <initial target=\"../1\">\n     <initial_glyph conn=\"2,3,5,1,20,5,-3\">\n      <action box=\"0,-2,6,2\"/>\n     </initial_glyph>\n    </initial>\n    <!--${AOs::Philo::SM::thinking}-->\n    <state name=\"thinking\">\n     <entry>QActive_armX(&amp;me-&gt;super, 0U, THINK_TIME, 0U);</entry>\n     <exit>QActive_disarmX(&amp;me-&gt;super, 0U);</exit>\n     <!--${AOs::Philo::SM::thinking::Q_TIMEOUT}-->\n     <tran trig=\"Q_TIMEOUT\" target=\"../../2\">\n      <tran_glyph conn=\"2,12,3,1,20,13,-3\">\n       <action box=\"0,-2,6,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Philo::SM::thinking::EAT, DONE}-->\n     <tran trig=\"EAT, DONE\">\n      <action>Q_ERROR(); /* these events should never arrive in this state */</action>\n      <tran_glyph conn=\"2,17,3,-1,13\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,5,17,16\">\n      <entry box=\"1,2,5,2\"/>\n      <exit box=\"1,4,6,2\"/>\n     </state_glyph>\n    </state>\n    <!--${AOs::Philo::SM::hungry}-->\n    <state name=\"hungry\">\n     <entry>QACTIVE_POST(&amp;AO_Table, HUNGRY_SIG, me-&gt;super.prio);</entry>\n     <!--${AOs::Philo::SM::hungry::EAT}-->\n     <tran trig=\"EAT\" target=\"../../3\">\n      <tran_glyph conn=\"2,30,3,1,20,13,-3\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Philo::SM::hungry::DONE}-->\n     <tran trig=\"DONE\">\n      <action>Q_ERROR(); /* this event should never arrive in this state */</action>\n      <tran_glyph conn=\"2,36,3,-1,14\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,23,17,16\">\n      <entry box=\"1,2,5,2\"/>\n     </state_glyph>\n    </state>\n    <!--${AOs::Philo::SM::eating}-->\n    <state name=\"eating\">\n     <entry>QActive_armX(&amp;me-&gt;super, 0U, EAT_TIME, 0U);</entry>\n     <exit>QActive_disarmX(&amp;me-&gt;super, 0U);\nQACTIVE_POST(QF_ACTIVE_CAST(&amp;AO_Table), DONE_SIG, me-&gt;super.prio);</exit>\n     <!--${AOs::Philo::SM::eating::Q_TIMEOUT}-->\n     <tran trig=\"Q_TIMEOUT\" target=\"../../1\">\n      <tran_glyph conn=\"2,51,3,1,22,-41,-5\">\n       <action box=\"0,-2,6,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Philo::SM::eating::EAT, DONE}-->\n     <tran trig=\"EAT, DONE\">\n      <action>Q_ERROR(); /* these events should never arrive in this state */</action>\n      <tran_glyph conn=\"2,55,3,-1,13\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,41,17,18\">\n      <entry box=\"1,2,5,2\"/>\n      <exit box=\"1,4,5,2\"/>\n     </state_glyph>\n    </state>\n    <state_diagram size=\"37,61\"/>\n   </statechart>\n  </class>\n  <!--${AOs::Table}-->\n  <class name=\"Table\" superclass=\"qpn::QActive\">\n   <!--${AOs::Table::fork[N_PHILO]}-->\n   <attribute name=\"fork[N_PHILO]\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Table::isHungry[N_PHILO]}-->\n   <attribute name=\"isHungry[N_PHILO]\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Table::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${AOs::Table::SM::initial}-->\n    <initial target=\"../1/2\">\n     <action>uint8_t n;\nfor (n = 0U; n &lt; N_PHILO; ++n) {\n    me-&gt;fork[n] = FREE;\n    me-&gt;isHungry[n] = 0U;\n    BSP_displayPhilStat(n, &quot;thinking&quot;);\n}</action>\n     <initial_glyph conn=\"3,3,5,1,44,18,-9\">\n      <action box=\"0,-2,6,2\"/>\n     </initial_glyph>\n    </initial>\n    <!--${AOs::Table::SM::active}-->\n    <state name=\"active\">\n     <!--${AOs::Table::SM::active::TERMINATE}-->\n     <tran trig=\"TERMINATE\">\n      <action>BSP_terminate(0);</action>\n      <tran_glyph conn=\"2,11,3,-1,14\">\n       <action box=\"0,-2,11,4\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Table::SM::active::EAT}-->\n     <tran trig=\"EAT\">\n      <action>Q_ERROR();</action>\n      <tran_glyph conn=\"2,15,3,-1,14\">\n       <action box=\"0,-2,10,4\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Table::SM::active::serving}-->\n     <state name=\"serving\">\n      <entry brief=\"give pending permitions to eat\">uint8_t n;\nfor (n = 0U; n &lt; N_PHILO; ++n) { /* give permissions to eat... */\n    if ((me-&gt;isHungry[n] != 0U)\n        &amp;&amp; (me-&gt;fork[LEFT(n)] == FREE)\n        &amp;&amp; (me-&gt;fork[n] == FREE))\n    {\n        QActive *philo;\n\n        me-&gt;fork[LEFT(n)] = USED;\n        me-&gt;fork[n] = USED;\n        philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\n        QACTIVE_POST(philo, EAT_SIG, n);\n        me-&gt;isHungry[n] = 0U;\n        BSP_displayPhilStat(n, &quot;eating  &quot;);\n    }\n}</entry>\n      <!--${AOs::Table::SM::active::serving::HUNGRY}-->\n      <tran trig=\"HUNGRY\">\n       <action>uint8_t n, m;\nQActive *philo;\n\nn = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* phil ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\n\nBSP_displayPhilStat(n, &quot;hungry  &quot;);\nm = LEFT(n);</action>\n       <!--${AOs::Table::SM::active::serving::HUNGRY::[bothfree]}-->\n       <choice>\n        <guard brief=\"both free\">(me-&gt;fork[m] == FREE) &amp;&amp; (me-&gt;fork[n] == FREE)</guard>\n        <action>me-&gt;fork[m] = USED;\nme-&gt;fork[n] = USED;\nphilo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\nQACTIVE_POST(philo, EAT_SIG, n);\nBSP_displayPhilStat(n, &quot;eating  &quot;);</action>\n        <choice_glyph conn=\"19,26,5,-1,10\">\n         <action box=\"1,0,10,2\"/>\n        </choice_glyph>\n       </choice>\n       <!--${AOs::Table::SM::active::serving::HUNGRY::[else]}-->\n       <choice>\n        <guard>else</guard>\n        <action>me-&gt;isHungry[n] = 1U;</action>\n        <choice_glyph conn=\"19,26,4,-1,5,10\">\n         <action box=\"1,5,6,2\"/>\n        </choice_glyph>\n       </choice>\n       <tran_glyph conn=\"4,26,3,-1,15\">\n        <action box=\"0,-2,8,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::serving::DONE}-->\n      <tran trig=\"DONE\">\n       <action>uint8_t n, m;\nQActive *philo;\n\nn = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* phil ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\n\nBSP_displayPhilStat(n, &quot;thinking&quot;);\nm = LEFT(n);\n/* both forks of Phil[n] must be used */\nQ_ASSERT((me-&gt;fork[n] == USED) &amp;&amp; (me-&gt;fork[m] == USED));\n\nme-&gt;fork[m] = FREE;\nme-&gt;fork[n] = FREE;\nm = RIGHT(n); /* check the right neighbor */\n\nif ((me-&gt;isHungry[m] != 0U) &amp;&amp; (me-&gt;fork[m] == FREE)) {\n    me-&gt;fork[n] = USED;\n    me-&gt;fork[m] = USED;\n    me-&gt;isHungry[m] = 0U;\n    philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n    QACTIVE_POST(philo, EAT_SIG, m);\n    BSP_displayPhilStat(m, &quot;eating  &quot;);\n}\nm = LEFT(n); /* check the left neighbor */\nn = LEFT(m); /* left fork of the left neighbor */\nif ((me-&gt;isHungry[m] != 0U) &amp;&amp; (me-&gt;fork[n] == FREE)) {\n    me-&gt;fork[m] = USED;\n    me-&gt;fork[n] = USED;\n    me-&gt;isHungry[m] = 0U;\n    philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n    QACTIVE_POST(philo, EAT_SIG, m);\n    BSP_displayPhilStat(m, &quot;eating  &quot;);\n}</action>\n       <tran_glyph conn=\"4,34,3,-1,15\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::serving::EAT}-->\n      <tran trig=\"EAT\">\n       <action>Q_ERROR();</action>\n       <tran_glyph conn=\"4,37,3,-1,15\">\n        <action box=\"0,-2,12,4\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::serving::PAUSE}-->\n      <tran trig=\"PAUSE\" target=\"../../3\">\n       <tran_glyph conn=\"4,41,3,1,37,6,-3\">\n        <action box=\"0,-2,7,2\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"4,19,34,24\">\n       <entry box=\"1,2,27,2\"/>\n      </state_glyph>\n     </state>\n     <!--${AOs::Table::SM::active::paused}-->\n     <state name=\"paused\">\n      <entry>BSP_displayPaused(1U);</entry>\n      <exit>BSP_displayPaused(0U);</exit>\n      <!--${AOs::Table::SM::active::paused::SERVE}-->\n      <tran trig=\"SERVE\" target=\"../../2\">\n       <tran_glyph conn=\"4,57,3,1,39,-20,-5\">\n        <action box=\"0,-2,7,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::paused::HUNGRY}-->\n      <tran trig=\"HUNGRY\">\n       <action>uint8_t n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* philo ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\nme-&gt;isHungry[n] = 1U;\nBSP_displayPhilStat(n, &quot;hungry  &quot;);</action>\n       <tran_glyph conn=\"4,60,3,-1,15\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::paused::DONE}-->\n      <tran trig=\"DONE\">\n       <action>uint8_t n, m;\n\nn = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* phil ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\n\nBSP_displayPhilStat(n, &quot;thinking&quot;);\nm = LEFT(n);\n/* both forks of Phil[n] must be used */\nQ_ASSERT((me-&gt;fork[n] == USED) &amp;&amp; (me-&gt;fork[m] == USED));\n\nme-&gt;fork[m] = FREE;\nme-&gt;fork[n] = FREE;</action>\n       <tran_glyph conn=\"4,63,3,-1,15\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"4,45,34,20\">\n       <entry box=\"1,2,18,4\"/>\n       <exit box=\"1,6,18,4\"/>\n      </state_glyph>\n     </state>\n     <state_glyph node=\"2,5,43,62\"/>\n    </state>\n    <state_diagram size=\"49,69\"/>\n   </statechart>\n  </class>\n  <!--${AOs::AO_Philo0}-->\n  <attribute name=\"AO_Philo0\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo1}-->\n  <attribute name=\"AO_Philo1\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo2}-->\n  <attribute name=\"AO_Philo2\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo3}-->\n  <attribute name=\"AO_Philo3\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo4}-->\n  <attribute name=\"AO_Philo4\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Table}-->\n  <attribute name=\"AO_Table\" type=\"struct Table\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::Philo_ctor}-->\n  <operation name=\"Philo_ctor\" type=\"void\" visibility=\"0x00\" properties=\"0x00\">\n   <code>QActive_ctor(&amp;AO_Philo0.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo1.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo2.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo3.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo4.super, Q_STATE_CAST(&amp;Philo_initial));\nBSP_randomSeed(123U);</code>\n  </operation>\n  <!--${AOs::Table_ctor}-->\n  <operation name=\"Table_ctor\" type=\"void\" visibility=\"0x00\" properties=\"0x00\">\n   <code>uint8_t n;\nTable *me = &amp;AO_Table;\n\nQActive_ctor(&amp;me-&gt;super, Q_STATE_CAST(&amp;Table_initial));\nfor (n = 0U; n &lt; N_PHILO; ++n) {\n    me-&gt;fork[n] = FREE;\n    me-&gt;isHungry[n] = 0U;\n}</code>\n  </operation>\n </package>\n <!--${.}-->\n <directory name=\".\">\n  <!--${.::dpp.h}-->\n  <file name=\"dpp.h\">\n   <text>#ifndef DPP_H\n#define DPP_H\n\nenum DPPSignals {\n    EAT_SIG = Q_USER_SIG, /* published by Table to let a philosopher eat */\n    DONE_SIG,             /* published by Philosopher when done eating */\n    PAUSE_SIG,            /* published by BSP to pause the application */\n    SERVE_SIG,            /* published by BSP to pause the application */\n    TERMINATE_SIG,        /* published by BSP to terminate the application */\n    HUNGRY_SIG,           /* posted direclty to Table from hungry Philo */\n    MAX_SIG               /* the last signal */\n};\n\n/* number of philosophers */\n#define N_PHILO ((uint8_t)5)\n#define PHILO_0_PRIO 1\n\n$declare${AOs::AO_Philo0}\n$declare${AOs::AO_Philo1}\n$declare${AOs::AO_Philo2}\n$declare${AOs::AO_Philo3}\n$declare${AOs::AO_Philo4}\n$declare${AOs::AO_Table}\n\n$declare${AOs::Philo_ctor}\n$declare${AOs::Table_ctor}\n\n#endif /* DPP_H */\n</text>\n  </file>\n  <!--${.::philo.c}-->\n  <file name=\"philo.c\">\n   <text>#include &quot;qpn.h&quot;  /* QP-nano port */\n#include &quot;bsp.h&quot;  /* Board Support Package */\n#include &quot;dpp.h&quot;  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(&quot;philo&quot;)\n\n/* Active object class -----------------------------------------------------*/\n$declare${AOs::Philo}\n\n/* Global objects ----------------------------------------------------------*/\n$define${AOs::AO_Philo0}\n$define${AOs::AO_Philo1}\n$define${AOs::AO_Philo2}\n$define${AOs::AO_Philo3}\n$define${AOs::AO_Philo4}\n\n/* Local objects -----------------------------------------------------------*/\n#define THINK_TIME  \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + (BSP_TICKS_PER_SEC/2U))\n#define EAT_TIME    \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + BSP_TICKS_PER_SEC)\n\n/* Philo definition --------------------------------------------------------*/\n$define${AOs::Philo_ctor}\n$define${AOs::Philo}</text>\n  </file>\n  <!--${.::table.c}-->\n  <file name=\"table.c\">\n   <text>#include &quot;qpn.h&quot;  /* QP-nano port */\n#include &quot;bsp.h&quot;  /* Board Support Package */\n#include &quot;dpp.h&quot;  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(&quot;table&quot;)\n\n/* Active object class -----------------------------------------------------*/\n$declare${AOs::Table}\n\n/* Global objects ----------------------------------------------------------*/\n$define${AOs::AO_Table}\n\n#define RIGHT(n_) ((uint8_t)(((n_) + (N_PHILO - 1U)) % N_PHILO))\n#define LEFT(n_)  ((uint8_t)(((n_) + 1U) % N_PHILO))\n#define FREE      ((uint8_t)0)\n#define USED      ((uint8_t)1)\n\n/*..........................................................................*/\n$define${AOs::Table_ctor}\n$define${AOs::Table}</text>\n  </file>\n </directory>\n</model>\n"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/main.c",
    "content": "/*****************************************************************************\n* Product: DPP example\n* Last Updated for Version: 5.8.0\n* Date of the Last Update:  2016-11-06\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"  /* QP-nano */\n#include \"bsp.h\"  /* Board Support Package */\n#include \"dpp.h\"  /* Application interface */\n\n/*..........................................................................*/\nstatic QEvt l_philoQueue[N_PHILO][N_PHILO];\nstatic QEvt l_tableQueue[2];\n\n/* QF_active[] array defines all active object control blocks --------------*/\nQActiveCB const Q_ROM QF_active[] = {\n    { (QActive *)0,           (QEvt *)0,        0U                      },\n    { (QActive *)&AO_Philo0,  l_philoQueue[0],  Q_DIM(l_philoQueue[0])  },\n    { (QActive *)&AO_Philo1,  l_philoQueue[1],  Q_DIM(l_philoQueue[1])  },\n    { (QActive *)&AO_Philo2,  l_philoQueue[2],  Q_DIM(l_philoQueue[2])  },\n    { (QActive *)&AO_Philo3,  l_philoQueue[3],  Q_DIM(l_philoQueue[3])  },\n    { (QActive *)&AO_Philo4,  l_philoQueue[4],  Q_DIM(l_philoQueue[4])  },\n    { (QActive *)&AO_Table,   l_tableQueue,     Q_DIM(l_tableQueue)     }\n};\n\n/*..........................................................................*/\nint_t main() {\n    Philo_ctor();    /* instantiate all Philo AOs */\n    Table_ctor();    /* instantiate the Table AO */\n\n    QF_init(Q_DIM(QF_active)); /* initialize the QF-nano framework */\n    BSP_init();      /* initialize the Board Support Package */\n\n    return QF_run(); /* transfer control to QF-nano */\n}\n"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/philo.c",
    "content": "/*.$file${.::philo.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: dpp.qm\n* File:  ${.::philo.c}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::philo.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"  /* QP-nano port */\n#include \"bsp.h\"  /* Board Support Package */\n#include \"dpp.h\"  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(\"philo\")\n\n/* Active object class -----------------------------------------------------*/\n/*.$declare${AOs::Philo} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo} ...........................................................*/\ntypedef struct Philo {\n/* protected: */\n    QActive super;\n} Philo;\n\n/* protected: */\nstatic QState Philo_initial(Philo * const me);\nstatic QState Philo_thinking(Philo * const me);\nstatic QState Philo_hungry(Philo * const me);\nstatic QState Philo_eating(Philo * const me);\n/*.$enddecl${AOs::Philo} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Global objects ----------------------------------------------------------*/\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 650U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.5.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo0} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo0} .......................................................*/\nstruct Philo AO_Philo0;\n/*.$enddef${AOs::AO_Philo0} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo1} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo1} .......................................................*/\nstruct Philo AO_Philo1;\n/*.$enddef${AOs::AO_Philo1} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo2} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo2} .......................................................*/\nstruct Philo AO_Philo2;\n/*.$enddef${AOs::AO_Philo2} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo3} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo3} .......................................................*/\nstruct Philo AO_Philo3;\n/*.$enddef${AOs::AO_Philo3} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo4} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo4} .......................................................*/\nstruct Philo AO_Philo4;\n/*.$enddef${AOs::AO_Philo4} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Local objects -----------------------------------------------------------*/\n#define THINK_TIME  \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + (BSP_TICKS_PER_SEC/2U))\n#define EAT_TIME    \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + BSP_TICKS_PER_SEC)\n\n/* Philo definition --------------------------------------------------------*/\n/*.$define${AOs::Philo_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo_ctor} ......................................................*/\nvoid Philo_ctor(void) {\n    QActive_ctor(&AO_Philo0.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo1.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo2.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo3.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo4.super, Q_STATE_CAST(&Philo_initial));\n    BSP_randomSeed(123U);\n}\n/*.$enddef${AOs::Philo_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Philo} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo} ...........................................................*/\n/*.${AOs::Philo::SM} .......................................................*/\nstatic QState Philo_initial(Philo * const me) {\n    /*.${AOs::Philo::SM::initial} */\n    return Q_TRAN(&Philo_thinking);\n}\n/*.${AOs::Philo::SM::thinking} .............................................*/\nstatic QState Philo_thinking(Philo * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Philo::SM::thinking} */\n        case Q_ENTRY_SIG: {\n            QActive_armX(&me->super, 0U, THINK_TIME, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::thinking} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::thinking::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Philo_hungry);\n            break;\n        }\n        /*.${AOs::Philo::SM::thinking::EAT, DONE} */\n        case EAT_SIG: /* intentionally fall through */\n        case DONE_SIG: {\n            Q_ERROR(); /* these events should never arrive in this state */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Philo::SM::hungry} ...............................................*/\nstatic QState Philo_hungry(Philo * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Philo::SM::hungry} */\n        case Q_ENTRY_SIG: {\n            QACTIVE_POST(&AO_Table, HUNGRY_SIG, me->super.prio);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::hungry::EAT} */\n        case EAT_SIG: {\n            status_ = Q_TRAN(&Philo_eating);\n            break;\n        }\n        /*.${AOs::Philo::SM::hungry::DONE} */\n        case DONE_SIG: {\n            Q_ERROR(); /* this event should never arrive in this state */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Philo::SM::eating} ...............................................*/\nstatic QState Philo_eating(Philo * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Philo::SM::eating} */\n        case Q_ENTRY_SIG: {\n            QActive_armX(&me->super, 0U, EAT_TIME, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::eating} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            QACTIVE_POST(QF_ACTIVE_CAST(&AO_Table), DONE_SIG, me->super.prio);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::eating::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Philo_thinking);\n            break;\n        }\n        /*.${AOs::Philo::SM::eating::EAT, DONE} */\n        case EAT_SIG: /* intentionally fall through */\n        case DONE_SIG: {\n            Q_ERROR(); /* these events should never arrive in this state */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${AOs::Philo} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/qk/armclang/README.txt",
    "content": "About this Example\n==================\nThis example demonstrates how to use the uVision IDE together with\nthe MDK-ARM toolchain.\n\nuVision Project File\n====================\nThe MDK-ARM uVision project file provided with this example uses\nrelative paths to the QP framework location (includes, port, and\nlibraries. These relative paths must be modified when the project\nis moved to different relative location.\n\n\nAdjusting Stack and Heap Sizes\n==============================\nThe stack and heap sizes are determined in this project by the\ncommand-line options for the ARM assembler (see the Asm tab in\nthe \"Options for Target\" dialog box in uVision). Specifically,\nyou should define symbols: Stack_Size=xxx Heap_Size=yyy, where\nxxx represents a numerical value of stack size and yyy the\nnumerical value of the heap size (for most embedded projects\nyyy should be 0, as the using the heap is not recommended).\n\n\nStartup Code\n============\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\efm32pg1b\\arm\\startup_efm32pg1b.s\n\nThe file startup_efm32pg1b.s provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n  "
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/qk/armclang/dpp-qk.uvoptx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<ProjectOpt xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_optx.xsd\">\n\n  <SchemaVersion>1.0</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Extensions>\n    <cExt>*.c</cExt>\n    <aExt>*.s*; *.src; *.a*</aExt>\n    <oExt>*.obj; *.o</oExt>\n    <lExt>*.lib</lExt>\n    <tExt>*.txt; *.h; *.inc</tExt>\n    <pExt>*.plm</pExt>\n    <CppX>*.cpp</CppX>\n    <nMigrate>0</nMigrate>\n  </Extensions>\n\n  <DaveTm>\n    <dwLowDateTime>0</dwLowDateTime>\n    <dwHighDateTime>0</dwHighDateTime>\n  </DaveTm>\n\n  <Target>\n    <TargetName>dpp-dbg</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\dbg\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>1</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>3</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>1</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>3</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>Segger\\JL2CM3.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGUARM</Key>\n          <Name>/</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>JL2CM3</Key>\n          <Name>-U440060969 -O207 -S2 -ZTIFSpeedSel5000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00(\"ARM CoreSight SW-DP\") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO7 -FD20000000 -FC8000 -FN1 -FF0GECKOP2.FLM -FS00 -FL040000 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>UL2CM3(-O207 -S0 -C0 -FO7  -FN1 -FC8000 -FD20000000 -FF0GECKOP2 -FL020000 -FS00 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E2006F4 -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Target>\n    <TargetName>dpp-rel</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\rel\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>0</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>3</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>1</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>3</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>Segger\\JL2CM3.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>JL2CM3</Key>\n          <Name>-U440060969 -O207 -S2 -ZTIFSpeedSel5000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00(\"ARM CoreSight SW-DP\") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO7 -FD20000000 -FC8000 -FN1 -FF0GECKOP2.FLM -FS00 -FL020000 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGUARM</Key>\n          <Name>/</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E10259B -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>-O207 -S0 -C0 -FO7  -FN1 -FC8000 -FD20000000 -FF0GECKOP2 -FL020000 -FS00 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM)</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Group>\n    <GroupName>Applicatioin</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>1</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\bsp.c</PathWithFileName>\n      <FilenameWithoutPath>bsp.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>2</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\main.c</PathWithFileName>\n      <FilenameWithoutPath>main.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>3</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\dpp.h</PathWithFileName>\n      <FilenameWithoutPath>dpp.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>4</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\include\\qstamp.c</PathWithFileName>\n      <FilenameWithoutPath>qstamp.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>5</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\philo.c</PathWithFileName>\n      <FilenameWithoutPath>philo.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>6</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\table.c</PathWithFileName>\n      <FilenameWithoutPath>table.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>efm32pg1b</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>7</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_cmu.c</PathWithFileName>\n      <FilenameWithoutPath>em_cmu.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>8</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_emu.c</PathWithFileName>\n      <FilenameWithoutPath>em_emu.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>9</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_gpio.c</PathWithFileName>\n      <FilenameWithoutPath>em_gpio.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>10</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_int.c</PathWithFileName>\n      <FilenameWithoutPath>em_int.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>11</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_rtcc.c</PathWithFileName>\n      <FilenameWithoutPath>em_rtcc.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>12</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_system.c</PathWithFileName>\n      <FilenameWithoutPath>em_system.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>13</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\system_efm32pg1b.c</PathWithFileName>\n      <FilenameWithoutPath>system_efm32pg1b.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>14</FileNumber>\n      <FileType>2</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\arm\\startup_efm32pg1b.s</PathWithFileName>\n      <FilenameWithoutPath>startup_efm32pg1b.s</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>15</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</PathWithFileName>\n      <FilenameWithoutPath>qepn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>16</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</PathWithFileName>\n      <FilenameWithoutPath>qfn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>17</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qkn\\qkn.c</PathWithFileName>\n      <FilenameWithoutPath>qkn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP_port</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>18</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qfn_port.h</PathWithFileName>\n      <FilenameWithoutPath>qfn_port.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>19</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qkn_port.c</PathWithFileName>\n      <FilenameWithoutPath>qkn_port.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n</ProjectOpt>\n"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/qk/armclang/dpp-qk.uvprojx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<Project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_projx.xsd\">\n\n  <SchemaVersion>2.1</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Targets>\n    <Target>\n      <TargetName>dpp-dbg</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6130001::V6.13.1::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>EFM32PG1B200F256GM48</Device>\n          <Vendor>Silicon Labs</Vendor>\n          <PackID>SiliconLabs.EFM32PG1B_DFP.5.5.0</PackID>\n          <PackURL>https://www.silabs.com/documents/public/cmsis-packs/</PackURL>\n          <Cpu>IRAM(0x20000000,0x00008000) IROM(0x00000000,0x00020000) CPUTYPE(\"Cortex-M4\") FPU2 CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC8000 -FN1 -FF0GECKOP2 -FS00 -FL020000 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:EFM32PG1B200F256GM48$Device\\EFM32PG1B\\Include\\em_device.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:EFM32PG1B200F256GM48$SVD\\EFM32PG1B\\EFM32PG1B200F256GM48.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\dbg\\</OutputDirectory>\n          <OutputName>dpp-qk</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>1</DebugInformation>\n          <BrowseInformation>1</BrowseInformation>\n          <ListingPath>.\\dbg\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>cmd /c \"del .\\dbg\\qstamp.o\"</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\dbg\\dpp-qk.bin .\\dbg\\dpp-qk.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>1</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4096</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3>\"\" ()</Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M4\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>2</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x20000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x20000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>1</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>0</vShortEn>\n            <vShortWch>0</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>EFM32PG1B200F256GM48=1 __FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\efm32pg1b</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile></ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Applicatioin</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>dpp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\dpp.h</FilePath>\n            </File>\n            <File>\n              <FileName>qstamp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\include\\qstamp.c</FilePath>\n            </File>\n            <File>\n              <FileName>philo.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\philo.c</FilePath>\n            </File>\n            <File>\n              <FileName>table.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\table.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>efm32pg1b</GroupName>\n          <Files>\n            <File>\n              <FileName>em_cmu.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_cmu.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_emu.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_emu.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_gpio.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_gpio.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_int.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_int.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_rtcc.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_rtcc.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_system.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_system.c</FilePath>\n            </File>\n            <File>\n              <FileName>system_efm32pg1b.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\system_efm32pg1b.c</FilePath>\n            </File>\n            <File>\n              <FileName>startup_efm32pg1b.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\arm\\startup_efm32pg1b.s</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qkn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qkn\\qkn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qkn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qkn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n    <Target>\n      <TargetName>dpp-rel</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6130001::V6.13.1::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>EFM32PG1B200F256GM48</Device>\n          <Vendor>Silicon Labs</Vendor>\n          <PackID>SiliconLabs.EFM32PG1B_DFP.5.5.0</PackID>\n          <PackURL>https://www.silabs.com/documents/public/cmsis-packs/</PackURL>\n          <Cpu>IRAM(0x20000000,0x00008000) IROM(0x00000000,0x00020000) CPUTYPE(\"Cortex-M4\") FPU2 CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC8000 -FN1 -FF0GECKOP2 -FS00 -FL020000 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:EFM32PG1B200F256GM48$Device\\EFM32PG1B\\Include\\em_device.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:EFM32PG1B200F256GM48$SVD\\EFM32PG1B\\EFM32PG1B200F256GM48.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\rel\\</OutputDirectory>\n          <OutputName>dpp-qk</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>0</DebugInformation>\n          <BrowseInformation>0</BrowseInformation>\n          <ListingPath>.\\rel\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>cmd /c \"del .\\rel\\qstamp.o\"</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\rel\\dpp-qk.bin .\\rel\\dpp-qk.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>1</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4096</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3>\"\" ()</Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M4\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>2</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x20000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x20000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>1</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>0</vShortEn>\n            <vShortWch>0</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>NDEBUG EFM32PG1B200F256GM48=1 __FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\efm32pg1b</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile>dpp-qk.sct</ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Applicatioin</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>dpp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\dpp.h</FilePath>\n            </File>\n            <File>\n              <FileName>qstamp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\include\\qstamp.c</FilePath>\n            </File>\n            <File>\n              <FileName>philo.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\philo.c</FilePath>\n            </File>\n            <File>\n              <FileName>table.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\table.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>efm32pg1b</GroupName>\n          <Files>\n            <File>\n              <FileName>em_cmu.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_cmu.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_emu.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_emu.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_gpio.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_gpio.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_int.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_int.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_rtcc.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_rtcc.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_system.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_system.c</FilePath>\n            </File>\n            <File>\n              <FileName>system_efm32pg1b.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\system_efm32pg1b.c</FilePath>\n            </File>\n            <File>\n              <FileName>startup_efm32pg1b.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\arm\\startup_efm32pg1b.s</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qkn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qkn\\qkn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qkn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qkn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n  </Targets>\n\n  <RTE>\n    <apis/>\n    <components/>\n    <files/>\n  </RTE>\n\n</Project>\n"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/qk/bsp.c",
    "content": "/*****************************************************************************\n* Product: DPP example, EFM32-SLSTK3401A board, preemptive QK kernel\n* Last Updated for Version: 5.9.7\n* Date of the Last Update:  2018-08-18\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"dpp.h\"\n#include \"bsp.h\"\n\n#include \"em_device.h\"  /* the device specific header (SiLabs) */\n#include \"em_cmu.h\"     /* Clock Management Unit (SiLabs) */\n#include \"em_gpio.h\"    /* GPIO (SiLabs) */\n/* add other drivers if necessary... */\n\n//Q_DEFINE_THIS_FILE\n\n/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n* Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n* DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n*/\nenum KernelUnawareISRs { /* see NOTE00 */\n    /* ... */\n    MAX_KERNEL_UNAWARE_CMSIS_PRI  /* keep always last */\n};\n/* \"kernel-unaware\" interrupts can't overlap \"kernel-aware\" interrupts */\nQ_ASSERT_COMPILE(MAX_KERNEL_UNAWARE_CMSIS_PRI <= QF_AWARE_ISR_CMSIS_PRI);\n\nenum KernelAwareISRs {\n    GPIO_EVEN_PRIO = QF_AWARE_ISR_CMSIS_PRI, /* see NOTE00 */\n    SYSTICK_PRIO,\n    /* ... */\n    MAX_KERNEL_AWARE_CMSIS_PRI /* keep always last */\n};\n/* \"kernel-aware\" interrupts should not overlap the PendSV priority */\nQ_ASSERT_COMPILE(MAX_KERNEL_AWARE_CMSIS_PRI <= (0xFF >>(8-__NVIC_PRIO_BITS)));\n\n/* ISRs defined in this BSP ------------------------------------------------*/\nvoid SysTick_Handler(void);\nvoid GPIO_EVEN_IRQHandler(void);\n\n/* Local-scope objects -----------------------------------------------------*/\n#define LED_PORT    gpioPortF\n#define LED0_PIN    4\n#define LED1_PIN    5\n\n#define PB_PORT     gpioPortF\n#define PB0_PIN     6\n#define PB1_PIN     7\n\nstatic uint32_t l_rnd;      /* random seed */\n\n/*..........................................................................*/\nvoid SysTick_Handler(void) {\n    /* state of the button debouncing, see below */\n    static struct ButtonsDebouncing {\n        uint32_t depressed;\n        uint32_t previous;\n    } buttons = { ~0U, ~0U };\n    uint32_t current;\n    uint32_t tmp;\n\n    QK_ISR_ENTRY();  /* inform QK about entering an ISR */\n\n    QF_tickXISR(0U); /* process time events for rate 0 */\n\n    /* Perform the debouncing of buttons. The algorithm for debouncing\n    * adapted from the book \"Embedded Systems Dictionary\" by Jack Ganssle\n    * and Michael Barr, page 71.\n    */\n    current = ~GPIO->P[PB_PORT].DIN; /* read PB0 and BP1 */\n    tmp = buttons.depressed; /* save the debounced depressed buttons */\n    buttons.depressed |= (buttons.previous & current); /* set depressed */\n    buttons.depressed &= (buttons.previous | current); /* clear released */\n    buttons.previous   = current; /* update the history */\n    tmp ^= buttons.depressed;     /* changed debounced depressed */\n    if ((tmp & (1U << PB0_PIN)) != 0U) {  /* debounced PB0 state changed? */\n        if ((buttons.depressed & (1U << PB0_PIN)) != 0U) { /* PB0 depressed?*/\n            QACTIVE_POST_ISR(&AO_Table, PAUSE_SIG, 0U);\n\n        }\n        else {            /* the button is released */\n            QACTIVE_POST_ISR(&AO_Table, SERVE_SIG, 0U);\n\n        }\n    }\n\n    QK_ISR_EXIT();  /* inform QK about exiting an ISR */\n}\n/*..........................................................................*/\nvoid GPIO_EVEN_IRQHandler(void) {\n    QK_ISR_ENTRY(); /* inform QK about entering an ISR */\n    QACTIVE_POST_ISR(&AO_Table, MAX_SIG, 0U);\n    QK_ISR_EXIT();  /* inform QK about exiting an ISR */\n}\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    /* NOTE: SystemInit() already called from the startup code\n    *  but SystemCoreClock needs to be updated\n    */\n    SystemCoreClockUpdate();\n\n    /* configure the FPU usage by choosing one of the options... */\n#if 1\n    /* OPTION 1:\n    * Use the automatic FPU state preservation and the FPU lazy stacking.\n    *\n    * NOTE:\n    * Use the following setting when FPU is used in more than one task or\n    * in any ISRs. This setting is the safest and recommended, but requires\n    * extra stack space and CPU cycles.\n    */\n    FPU->FPCCR |= (1U << FPU_FPCCR_ASPEN_Pos) | (1U << FPU_FPCCR_LSPEN_Pos);\n#else\n    /* OPTION 2:\n    * Do NOT to use the automatic FPU state preservation and\n    * do NOT to use the FPU lazy stacking.\n    *\n    * NOTE:\n    * Use the following setting when FPU is used in ONE task only and not\n    * in any ISR. This setting is very efficient, but if more than one task\n    * (or ISR) start using the FPU, this can lead to corruption of the\n    * FPU registers. This option should be used with CAUTION.\n    */\n    FPU->FPCCR &= ~((1U << FPU_FPCCR_ASPEN_Pos) | (1U << FPU_FPCCR_LSPEN_Pos));\n#endif\n\n    /* enable clock for to the peripherals used by this application... */\n    CMU_ClockEnable(cmuClock_HFPER, true);\n    CMU_ClockEnable(cmuClock_GPIO,  true);\n    CMU_ClockEnable(cmuClock_HFPER, true);\n    CMU_ClockEnable(cmuClock_GPIO,  true);\n\n    /* configure the LEDs */\n    GPIO_PinModeSet(LED_PORT, LED0_PIN, gpioModePushPull, 0);\n    GPIO_PinModeSet(LED_PORT, LED1_PIN, gpioModePushPull, 0);\n    GPIO_PinOutClear(LED_PORT, LED0_PIN);\n    GPIO_PinOutClear(LED_PORT, LED1_PIN);\n\n    /* configure the Buttons */\n    GPIO_PinModeSet(PB_PORT, PB0_PIN, gpioModeInputPull, 1);\n    GPIO_PinModeSet(PB_PORT, PB1_PIN, gpioModeInputPull, 1);\n\n    BSP_randomSeed(1234U);\n}\n/*..........................................................................*/\nvoid BSP_displayPhilStat(uint8_t n, char const *stat) {\n    if (stat[0] == 'e') {\n        GPIO->P[LED_PORT].DOUT |=  (1U << LED0_PIN);\n    }\n    else {\n        GPIO->P[LED_PORT].DOUT &=  ~(1U << LED0_PIN);\n    }\n\n}\n/*..........................................................................*/\nvoid BSP_displayPaused(uint8_t paused) {\n    if (paused != 0U) {\n        GPIO->P[LED_PORT].DOUT |=  (1U << LED0_PIN);\n    }\n    else {\n        GPIO->P[LED_PORT].DOUT &= ~(1U << LED0_PIN);\n    }\n}\n/*..........................................................................*/\nuint32_t BSP_random(void) { /* a very cheap pseudo-random-number generator */\n    uint32_t rnd;\n    QSchedStatus lockStat; /* <=== QK scheduler lock status */\n\n    /* The flating point code is to exercise the FPU... */\n    float volatile x = 3.1415926F;\n    x = x + 2.7182818F;\n\n    lockStat = QK_schedLock(N_PHILO); /* <=== lock scheduler up to N_PHILO prio */\n    /* \"Super-Duper\" Linear Congruential Generator (LCG)\n    * LCG(2^32, 3*7*11*13*23, 0, seed)\n    */\n    rnd = l_rnd * (3U*7U*11U*13U*23U);\n    l_rnd = rnd; /* set for the next time */\n    QK_schedUnlock(lockStat); /* <=== unlock the scheduler */\n\n    return (rnd >> 8);\n}\n/*..........................................................................*/\nvoid BSP_randomSeed(uint32_t seed) {\n    l_rnd = seed;\n}\n/*..........................................................................*/\nvoid BSP_terminate(int16_t result) {\n    (void)result;\n}\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    /* set up the SysTick timer to fire at BSP_TICKS_PER_SEC rate */\n    SysTick_Config(SystemCoreClock / BSP_TICKS_PER_SEC);\n\n    /* assing all priority bits for preemption-prio. and none to sub-prio. */\n    NVIC_SetPriorityGrouping(0U);\n\n    /* set priorities of ALL ISRs used in the system, see NOTE00\n    *\n    * !!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n    * Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n    * DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n    */\n    NVIC_SetPriority(SysTick_IRQn,   SYSTICK_PRIO);\n    NVIC_SetPriority(GPIO_EVEN_IRQn, GPIO_EVEN_PRIO);\n    /* ... */\n\n    /* enable IRQs... */\n    NVIC_EnableIRQ(GPIO_EVEN_IRQn);\n\n}\n/*..........................................................................*/\nvoid QK_onIdle(void) {\n    /* toggle the User LED on and then off, see NOTE01 */\n    QF_INT_DISABLE();\n    GPIO->P[LED_PORT].DOUT |=  (1U << LED1_PIN);\n    GPIO->P[LED_PORT].DOUT &= ~(1U << LED1_PIN);\n    QF_INT_ENABLE();\n\n#ifdef NDEBUG\n    /* Put the CPU and peripherals to the low-power mode.\n    * you might need to customize the clock management for your application,\n    * see the datasheet for your particular Cortex-M3 MCU.\n    */\n    __WFI(); /* Wait-For-Interrupt */\n#endif\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const module, int loc) {\n    /*\n    * NOTE: add here your application-specific error handling\n    */\n    (void)module;\n    (void)loc;\n\n#ifndef NDEBUG\n    /* light up both LEDs */\n    GPIO->P[LED_PORT].DOUT |= ((1U << LED0_PIN) | (1U << LED1_PIN));\n    /* for debugging, hang on in an endless loop until PB1 is pressed... */\n    while ((GPIO->P[PB_PORT].DIN & (1U << PB1_PIN)) != 0) {\n    }\n#endif\n\n    NVIC_SystemReset();\n}\n\n/*****************************************************************************\n* NOTE00:\n* The QF_AWARE_ISR_CMSIS_PRI constant from the QF port specifies the highest\n* ISR priority that is disabled by the QF framework. The value is suitable\n* for the NVIC_SetPriority() CMSIS function.\n*\n* Only ISRs prioritized at or below the QF_AWARE_ISR_CMSIS_PRI level (i.e.,\n* with the numerical values of priorities equal or higher than\n* QF_AWARE_ISR_CMSIS_PRI) are allowed to call the QK_ISR_ENTRY/QK_ISR_ENTRY\n* macros or any other QF/QK  services. These ISRs are \"QF-aware\".\n*\n* Conversely, any ISRs prioritized above the QF_AWARE_ISR_CMSIS_PRI priority\n* level (i.e., with the numerical values of priorities less than\n* QF_AWARE_ISR_CMSIS_PRI) are never disabled and are not aware of the kernel.\n* Such \"QF-unaware\" ISRs cannot call any QF/QK services. In particular they\n* can NOT call the macros QK_ISR_ENTRY/QK_ISR_ENTRY. The only mechanism\n* by which a \"QF-unaware\" ISR can communicate with the QF framework is by\n* triggering a \"QF-aware\" ISR, which can post/publish events.\n*\n* NOTE01:\n* The User LED is used to visualize the idle loop activity. The brightness\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/qk/gnu/Makefile",
    "content": "##############################################################################\n# Product: Makefile for QP-nano on EMF32-SLSTK3401A, QK-nano kernel, GNU-ARM\n# Last Updated for Version: 6.5.0\n# Date of the Last Update:  2019-04-15\n#\n#                    Q u a n t u m  L e a P s\n#                    ------------------------\n#                    Modern Embedded Software\n#\n# Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# https://www.state-machine.com\n# mailto:info@state-machine.com\n##############################################################################\n# examples of invoking this Makefile:\n# building configurations: Debug (default), Release, and Spy\n# make\n# make CONF=rel\n#\n# cleaning configurations: Debug (default), Release, and Spy\n# make clean\n# make CONF=rel clean\n#\n# NOTE:\n# To use this Makefile on Windows, you will need the GNU make utility, which\n# is included in the Qtools collection for Windows, see:\n#    http://sourceforge.net/projects/qpc/files/Qtools/\n#\n\n#-----------------------------------------------------------------------------\n# project name\n#\nPROJECT     := dpp-qk\n\n#-----------------------------------------------------------------------------\n# project directories\n#\n\n# location of the QP-nano framework (if not provided in an environemnt var.)\nifeq ($(QPN),)\nQPN := ../../../../..\nendif\n\n# QP port used in this project\nQP_PORT_DIR := $(QPN)/ports/arm-cm/qk/gnu\n\n# list of all source directories used by this project\nVPATH = \\\n\t.. \\\n\t../.. \\\n\t$(QPN)/src/qfn \\\n\t$(QPN)/src/qkn \\\n\t$(QP_PORT_DIR) \\\n\t$(QPN)/3rd_party/efm32pg1b \\\n\t$(QPN)/3rd_party/efm32pg1b/gnu\n\n# list of all include directories needed by this project\nINCLUDES  = \\\n\t-I../.. \\\n\t-I$(QPN)/include \\\n\t-I$(QP_PORT_DIR) \\\n\t-I$(QPN)/3rd_party/CMSIS/Include \\\n\t-I$(QPN)/3rd_party/efm32pg1b\n\n#-----------------------------------------------------------------------------\n# files\n#\n\n# assembler source files\nASM_SRCS :=\n\n# C source files\nC_SRCS := \\\n\tbsp.c \\\n\tmain.c \\\n\tphilo.c \\\n\ttable.c \\\n\tstartup_efm32pg1b.c \\\n\tsystem_efm32pg1b.c \\\n\tem_cmu.c \\\n\tem_emu.c \\\n\tem_gpio.c\n\n# C++ source files\nCPP_SRCS :=\n\nOUTPUT    := $(PROJECT)\nLD_SCRIPT := $(PROJECT).ld\n\nQP_SRCS := \\\n\tqepn.c \\\n\tqfn.c \\\n\tqkn.c \\\n\tqkn_port.c\n\nQP_ASMS :=\n\nLIB_DIRS  :=\nLIBS      :=\n\n# defines\nDEFINES   := -DEFM32PG1B200F256GM48=1\n\n# ARM CPU, ARCH, FPU, and Float-ABI types...\n# ARM_CPU:   [cortex-m0 | cortex-m0plus | cortex-m1 | cortex-m3 | cortex-m4]\n# ARM_ARCH:  [6 | 7] (NOTE: must match ARM_CPU!)\n# ARM_FPU:   [ | vfp]\n# FLOAT_ABI: [ | soft | softfp | hard]\n#\nARM_CPU   := -mcpu=cortex-m4\nARM_ARCH  := 7   # NOTE: must match the ARM_CPU!\nARM_FPU   := -mfpu=vfp\nFLOAT_ABI := -mfloat-abi=softfp\n\n#-----------------------------------------------------------------------------\n# GNU-ARM toolset (NOTE: You need to adjust to your machine)\n# see https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads\n#\nifeq ($(GNU_ARM),)\nGNU_ARM := $(QTOOLS)/gnu_arm-none-eabi\nendif\n\n# make sure that the GNU-ARM toolset exists...\nifeq (\"$(wildcard $(GNU_ARM))\",\"\")\n$(error GNU_ARM toolset not found. Please adjust the Makefile)\nendif\n\nCC    := $(GNU_ARM)/bin/arm-none-eabi-gcc\nCPP   := $(GNU_ARM)/bin/arm-none-eabi-g++\nAS    := $(GNU_ARM)/bin/arm-none-eabi-as\nLINK  := $(GNU_ARM)/bin/arm-none-eabi-g++\nBIN   := $(GNU_ARM)/bin/arm-none-eabi-objcopy\n\n\n##############################################################################\n# Typically, you should not need to change anything below this line\n\n# basic utilities (included in Qtools for Windows), see:\n#    http://sourceforge.net/projects/qpc/files/Qtools\n\nMKDIR := mkdir\nRM    := rm\n\n#-----------------------------------------------------------------------------\n# build options for various configurations for ARM Cortex-M\n#\n\n# combine all the soruces...\nC_SRCS += $(QP_SRCS)\nASM_SRCS += $(QP_ASMS)\n\nifeq (rel, $(CONF)) # Release configuration ..................................\n\nBIN_DIR := rel\n\nASFLAGS = $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O1 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nCPPFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O1 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nelse # default Debug configuration ..........................................\n\nBIN_DIR := dbg\n\nASFLAGS = -g $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O $(INCLUDES) $(DEFINES)\n\nCPPFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O $(INCLUDES) $(DEFINES)\n\nendif # ......................................................................\n\n\nLINKFLAGS = -T$(LD_SCRIPT) $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb \\\n\t-specs=nosys.specs -specs=nano.specs \\\n\t-Wl,-Map,$(BIN_DIR)/$(OUTPUT).map,--cref,--gc-sections $(LIB_DIRS)\n\n\nASM_OBJS     := $(patsubst %.s,%.o,  $(notdir $(ASM_SRCS)))\nC_OBJS       := $(patsubst %.c,%.o,  $(notdir $(C_SRCS)))\nCPP_OBJS     := $(patsubst %.cpp,%.o,$(notdir $(CPP_SRCS)))\n\nTARGET_BIN   := $(BIN_DIR)/$(OUTPUT).bin\nTARGET_ELF   := $(BIN_DIR)/$(OUTPUT).elf\nASM_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(ASM_OBJS))\nC_OBJS_EXT   := $(addprefix $(BIN_DIR)/, $(C_OBJS))\nC_DEPS_EXT   := $(patsubst %.o, %.d, $(C_OBJS_EXT))\nCPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))\nCPP_DEPS_EXT := $(patsubst %.o, %.d, $(CPP_OBJS_EXT))\n\n# create $(BIN_DIR) if it does not exist\nifeq (\"$(wildcard $(BIN_DIR))\",\"\")\n$(shell $(MKDIR) $(BIN_DIR))\nendif\n\n#-----------------------------------------------------------------------------\n# rules\n#\n\nall: $(TARGET_BIN)\n#all: $(TARGET_ELF)\n\n$(TARGET_BIN): $(TARGET_ELF)\n\t$(BIN) -O binary $< $@\n\n$(TARGET_ELF) : $(ASM_OBJS_EXT) $(C_OBJS_EXT) $(CPP_OBJS_EXT)\n\t$(CC) $(CFLAGS) $(QPN)/include/qstamp.c -o $(BIN_DIR)/qstamp.o\n\t$(LINK) $(LINKFLAGS) -o $@ $^ $(BIN_DIR)/qstamp.o $(LIBS)\n\n$(BIN_DIR)/%.d : %.c\n\t$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@\n\n$(BIN_DIR)/%.d : %.cpp\n\t$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@\n\n$(BIN_DIR)/%.o : %.s\n\t$(AS) $(ASFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.c\n\t$(CC) $(CFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.cpp\n\t$(CPP) $(CPPFLAGS) $< -o $@\n\n# include dependency files only if our goal depends on their existence\nifneq ($(MAKECMDGOALS),clean)\n  ifneq ($(MAKECMDGOALS),show)\n-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)\n  endif\nendif\n\n\n.PHONY : clean\nclean:\n\t-$(RM) $(BIN_DIR)/*.o \\\n\t$(BIN_DIR)/*.d \\\n\t$(BIN_DIR)/*.bin \\\n\t$(BIN_DIR)/*.elf \\\n\t$(BIN_DIR)/*.map\n\t\nshow:\n\t@echo PROJECT = $(PROJECT)\n\t@echo CONF = $(CONF)\n\t@echo DEFINES = $(DEFINES)\n\t@echo ASM_FPU = $(ASM_FPU)\n\t@echo ASM_SRCS = $(ASM_SRCS)\n\t@echo C_SRCS = $(C_SRCS)\n\t@echo CPP_SRCS = $(CPP_SRCS)\n\t@echo ASM_OBJS_EXT = $(ASM_OBJS_EXT)\n\t@echo C_OBJS_EXT = $(C_OBJS_EXT)\n\t@echo C_DEPS_EXT = $(C_DEPS_EXT)\n\t@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)\n\t@echo TARGET_ELF = $(TARGET_ELF)\n"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/qk/gnu/README.txt",
    "content": "About this Example\n==================\nThis example can be built from the command prompt with the provided\nMakefile. The example can also be imported as a Makefile-based\nproject into Eclipse-based IDEs.\n\n\nThe Makefile\n============\nThe provided Makefile should be easy to adapt for your own projects.\nIt contains two build configurations: Debug (default) and Release.\n\nAlso, the Makefile has been specifically designed to work as an external\nMakefile with the Eclipse CDT.\n\nThe various build configurations are built as follows:\n\nmake\nmake CONF=rel\nmake clean\nmake CONF=rel clean\n\n***\nNOTE:\nThe installation folder of the GNU-ARM toolset on YOUR machine needs\nto be adjusted in the provided Makefile, by editing the symbol: GNU_ARM.\nAs described in the comment for this symbol, the GNU-ARM toolset is taken\nfrom: http://gnutoolchains.com/arm-eabi\n\nIt is highly recommened to use the same GNU-ARM distribution, especially\nfor ARM Cortex-M4F projects, due to the support for the hardware FPU\n(float-abi=hard).\n***\n\n\nAdjusting Stack and Heap Sizes\n==============================\nThe stack and heap sizes are determined in this project by the GCC linker\nscript (.ld file), which provides a template of the recommended GCC linker\nscript for QP applications.\n\n\nStartup Code\n============\nThe startup code for the EFM32PG1B200F256GM48 MCU used in this project\nis located in the \"3rd_party\" folder in the following location:\n\nqpc\\3rd_party\\efm32pg1b\\gnu\\startup_efm32pg1b.c\n\nThe file startup_efm32pg1b.c provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/qk/gnu/dpp-qk.ld",
    "content": "/*****************************************************************************\n* Product: Linker script for EFM32-SLSTK3401A, GNU-ARM linker\n* Last Updated for Version: 5.9.8\n* Date of the Last Update:  2017-09-13\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <http://www.gnu.org/licenses/>.\n*\n* Contact information:\n* http://www.state-machine.com\n* mailto:info@state-machine.com\n*****************************************************************************/\nOUTPUT_FORMAT(\"elf32-littlearm\", \"elf32-bigarm\", \"elf32-littlearm\")\nOUTPUT_ARCH(arm)\nENTRY(Reset_Handler) /* entry Point */\n\nMEMORY { /* memory map of Pearl Gecko EFM32PG1B200F256GM48 */\n    ROM (rx)  : ORIGIN = 0x00000000, LENGTH = 256K\n    RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K\n}\n\n/* The size of the stack used by the application. NOTE: you need to adjust  */\nSTACK_SIZE = 1024;\n\n/* The size of the heap used by the application. NOTE: you need to adjust   */\nHEAP_SIZE = 0;\n\nSECTIONS {\n\n    .isr_vector : {        /* the vector table goes FIRST into ROM */\n        KEEP(*(.isr_vector)) /* vector table */\n        . = ALIGN(4);\n    } >ROM\n\n    .text : {              /* code and constants */\n        . = ALIGN(4);\n        *(.text)           /* .text sections (code) */\n        *(.text*)          /* .text* sections (code) */\n        *(.rodata)         /* .rodata sections (constants, strings, etc.) */\n        *(.rodata*)        /* .rodata* sections (constants, strings, etc.) */\n\n        KEEP (*(.init))\n        KEEP (*(.fini))\n\n        . = ALIGN(4);\n    } >ROM\n\n    .preinit_array : {\n        PROVIDE_HIDDEN (__preinit_array_start = .);\n        KEEP (*(.preinit_array*))\n        PROVIDE_HIDDEN (__preinit_array_end = .);\n    } >ROM\n\n    .init_array : {\n        PROVIDE_HIDDEN (__init_array_start = .);\n        KEEP (*(SORT(.init_array.*)))\n        KEEP (*(.init_array*))\n        PROVIDE_HIDDEN (__init_array_end = .);\n    } >ROM\n\n    .fini_array : {\n        PROVIDE_HIDDEN (__fini_array_start = .);\n        KEEP (*(.fini_array*))\n        KEEP (*(SORT(.fini_array.*)))\n        PROVIDE_HIDDEN (__fini_array_end = .);\n    } >ROM\n\n    _etext = .;            /* global symbols at end of code */\n\n    .stack : {\n        __stack_start__ = .;\n        . = . + STACK_SIZE;\n        . = ALIGN(4);\n        __stack_end__ = .;\n    } >RAM\n\n    .data :  AT (_etext) {\n        __data_load = LOADADDR (.data);\n        __data_start = .;\n        *(.data)           /* .data sections */\n        *(.data*)          /* .data* sections */\n        . = ALIGN(4);\n        __data_end__ = .;\n        _edata = __data_end__;\n    } >RAM\n\n    .bss : {\n        __bss_start__ = .;\n        *(.bss)\n        *(.bss*)\n        *(COMMON)\n        . = ALIGN(4);\n        _ebss = .;         /* define a global symbol at bss end */\n        __bss_end__ = .;\n    } >RAM\n\n    __exidx_start = .;\n    .ARM.exidx   : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } >RAM\n    __exidx_end = .;\n\n    PROVIDE ( end = _ebss );\n    PROVIDE ( _end = _ebss );\n    PROVIDE ( __end__ = _ebss );\n\n    .heap : {\n        __heap_start__ = .;\n        . = . + HEAP_SIZE;\n        . = ALIGN(4);\n        __heap_end__ = .;\n    } >RAM\n\n    /* Remove information from the standard libraries */\n    /DISCARD/ : {\n        libc.a ( * )\n        libm.a ( * )\n        libgcc.a ( * )\n    }\n}\n"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/qk/gnu/flash.bat",
    "content": "::============================================================================\n:: Batch file to program the flash of EFM32-SLSTK3401A board\n:: \n:: NOTE: requires the J-Link commander (JLink.exe) from SEGGER, see:\n:: https://www.segger.com/j-link-commander.html\n:: \nsetlocal\n\n@echo off\n@echo Load a given binary file to the flash of EFM32-SLSTK3401A \n@echo usage:   flash bin-file\n@echo example: flash dbg\\blinky-qk.bin\n\n::----------------------------------------------------------------------------\n:: NOTE: Adjust the following symbol to the location of the\n:: JLink utility on your machine\n::\nif [%JLINK%] EQU [] set JLINK=%QTOOLS%\\..\\JLink\nif not exist \"%JLINK%\\JLink.exe\" (\n    @echo The JLink tool not found. Please adjust flash.bat \n    @goto end\n)\n\nif [\"%~1\"]==[\"\"] (\n    @echo The binary file missing\n    @goto end\n)\nif not exist %~s1 (\n    @echo The binary file '%1' does not exist\n    @goto end\n)\n\n:: generate the Jlink command file depending on the first parameter %1\n@echo si 1 >flash.jlink\n@echo speed 4000 >>flash.jlink\n@echo r >>flash.jlink\n@echo h >>flash.jlink\n@echo loadbin %1, 0 >>flash.jlink\n@echo exit >>flash.jlink\n\n@echo on\n%JLINK%\\JLink.exe -device EFM32PG1B200F256GM48 flash.jlink\n@echo off\n\n@del flash.jlink\n\n:end\n\nendlocal"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/qk/iar/README.txt",
    "content": "About this Example\n==================\nThis example demonstrates how to use the IAR EWARM IDE to build\na QP application.\n\n\nIAR Project File\n----------------\nThe IAR EWARM project file provided with this example uses relative paths\nto the QP/C framework location (includes, port, and libraries. These\nrelative paths must be modified when the project is moved to different\nrelative location.\n\n\nStack Size and Heap Size\n------------------------\nIn this project, the size of the C stack and heap are determined in\nthe linker script blinky-qk.icf (see the next section).\n\n\nLinker Script\n-------------\nThe IAR linker script provides a template of the recommended linker script\nfor QP applications. This file needs to be customized to set the\napplication-specific sizes of the Stack and Heap. This file can be edited\nfrom the IAR EWARM IDE via the Project Options/Linker settings.\n\n\nStartup Code\n============\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\efm32pg1b\\iar\\startup_efm32pg1b.s\n\nThe file startup_efm32pg1b.s provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/qk/iar/dpp-qk.ewd",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project>\n    <fileVersion>3</fileVersion>\n    <configuration>\n        <name>Debug</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>1</debug>\n        <settings>\n            <name>C-SPY</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>29</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCVariant</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>MemOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MemFile</name>\n                    <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\SiliconLaboratories\\EFM32PG1B200F256GM48.ddf</state>\n                </option>\n                <option>\n                    <name>RunToEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RunToName</name>\n                    <state>main</state>\n                </option>\n                <option>\n                    <name>CExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDDFArgumentProducer</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadSuppressDownload</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDownloadVerifyAll</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCProductVersion</name>\n                    <state>7.30.4.8186</state>\n                </option>\n                <option>\n                    <name>OCDynDriverList</name>\n                    <state>JLINK_ID</state>\n                </option>\n                <option>\n                    <name>OCLastSavedByProductVersion</name>\n                    <state>8.20.2.14834</state>\n                </option>\n                <option>\n                    <name>UseFlashLoader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CLowLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CDevice</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>FlashLoadersV3</name>\n                    <state>$TOOLKIT_DIR$\\config\\flashloader\\SiliconLaboratories\\FlashGECKOP2.board</state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OverrideDefFlashBoard</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesOffset1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesUse1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDeviceConfigMacroFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDebuggerExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAllMTBOptions</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreNrOfCores</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreMaster</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCMulticorePort</name>\n                    <state>53461</state>\n                </option>\n                <option>\n                    <name>OCMulticoreWorkspace</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveProject</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveConfiguration</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadExtraImage</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAttachSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MassEraseBeforeFlashing</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ARMSIM_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCSimDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCSimEnablePSP</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspOverrideConfig</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspConfigFile</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CADI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCadiMemory</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Fast Model</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCADILogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCADILogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CMSISDAP_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CMSISDAPResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>CMSISDAPDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CMSISDAPProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>GDBSERVER_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJTagBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IJET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>8</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>IjetPowerFromProbe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPowerRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetProtocolRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPin</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPrescalerList</name>\n                    <version>1</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IjetProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPreferETB</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetTraceSettingsList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetTraceSizeList</name>\n                    <version>0</version>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>FlashBoardPathSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>JLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>16</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>JLinkSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJLinkHWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>JLinkInitialSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCDoJlinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkCommRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>CCJLinkSpeedRadioV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCUSBDevice</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceRadio</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkResetList</name>\n                    <version>6</version>\n                    <state>7</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCTcpIpAlt</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTcpIpSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSourceDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkDeviceName</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>LMIFTDI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>2</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>LmiftdiSpeed</name>\n                    <state>500</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceRadio</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>PEMICRO_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>3</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJPEMicroShowSettings</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>STLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCSTLinkCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDAPNumber</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkResetList</name>\n                    <version>3</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDebugAccessPortRadio</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>THIRDPARTY_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CThirdPartyDriverDll</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>TIFET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVccTypeDefault</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVoltage</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CCMSPFetVCCDefault</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetSettlingtime</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioJtagSpeedType</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetConnection</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetUsbComPort</name>\n                    <state>Automatic</state>\n                </option>\n                <option>\n                    <name>CCMSPFetAllowAccessToBSL</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioEraseFlash</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>XDS100_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>6</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCXds100CatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TIPackageOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TIPackage</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>BoardFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCXds100BreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100DoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockEdit</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCXds100HWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100JtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ProbeList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPortRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPort</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <debuggerPlugins>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\Mbed\\MbedArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n                <loadFlag>1</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\TargetAccessServer\\TargetAccessServer.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n        </debuggerPlugins>\n    </configuration>\n    <configuration>\n        <name>Release</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>0</debug>\n        <settings>\n            <name>C-SPY</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>29</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCVariant</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>MemOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MemFile</name>\n                    <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\SiliconLaboratories\\EFM32PG1B200F256GM48.ddf</state>\n                </option>\n                <option>\n                    <name>RunToEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RunToName</name>\n                    <state>main</state>\n                </option>\n                <option>\n                    <name>CExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDDFArgumentProducer</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadSuppressDownload</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDownloadVerifyAll</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCProductVersion</name>\n                    <state>7.30.4.8186</state>\n                </option>\n                <option>\n                    <name>OCDynDriverList</name>\n                    <state>JLINK_ID</state>\n                </option>\n                <option>\n                    <name>OCLastSavedByProductVersion</name>\n                    <state>7.60.1.11206</state>\n                </option>\n                <option>\n                    <name>UseFlashLoader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CLowLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CDevice</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>FlashLoadersV3</name>\n                    <state>$TOOLKIT_DIR$\\config\\flashloader\\SiliconLaboratories\\FlashGECKOP2.board</state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OverrideDefFlashBoard</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesOffset1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesUse1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDeviceConfigMacroFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDebuggerExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAllMTBOptions</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreNrOfCores</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreMaster</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCMulticorePort</name>\n                    <state>53461</state>\n                </option>\n                <option>\n                    <name>OCMulticoreWorkspace</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveProject</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveConfiguration</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadExtraImage</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAttachSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MassEraseBeforeFlashing</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ARMSIM_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCSimDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCSimEnablePSP</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspOverrideConfig</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspConfigFile</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CADI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCadiMemory</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Fast Model</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCADILogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCADILogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CMSISDAP_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CMSISDAPResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>CMSISDAPDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CMSISDAPProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>GDBSERVER_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJTagBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IJET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>8</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>IjetPowerFromProbe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPowerRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetProtocolRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPin</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPrescalerList</name>\n                    <version>1</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IjetProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPreferETB</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetTraceSettingsList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetTraceSizeList</name>\n                    <version>0</version>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>FlashBoardPathSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>JLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>16</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>JLinkSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJLinkHWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>JLinkInitialSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCDoJlinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkCommRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>CCJLinkSpeedRadioV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCUSBDevice</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceRadio</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkResetList</name>\n                    <version>6</version>\n                    <state>7</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCTcpIpAlt</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTcpIpSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSourceDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkDeviceName</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>LMIFTDI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>2</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>LmiftdiSpeed</name>\n                    <state>500</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceRadio</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>PEMICRO_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>3</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJPEMicroShowSettings</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>STLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCSTLinkCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDAPNumber</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkResetList</name>\n                    <version>3</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDebugAccessPortRadio</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>THIRDPARTY_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CThirdPartyDriverDll</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>TIFET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVccTypeDefault</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVoltage</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CCMSPFetVCCDefault</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetSettlingtime</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioJtagSpeedType</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetConnection</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetUsbComPort</name>\n                    <state>Automatic</state>\n                </option>\n                <option>\n                    <name>CCMSPFetAllowAccessToBSL</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioEraseFlash</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>XDS100_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>6</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCXds100CatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TIPackageOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TIPackage</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>BoardFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCXds100BreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100DoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockEdit</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCXds100HWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100JtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ProbeList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPortRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPort</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <debuggerPlugins>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\Mbed\\MbedArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n                <loadFlag>1</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\TargetAccessServer\\TargetAccessServer.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n        </debuggerPlugins>\n    </configuration>\n</project>\n"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/qk/iar/dpp-qk.ewp",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project>\n    <fileVersion>3</fileVersion>\n    <configuration>\n        <name>Debug</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>1</debug>\n        <settings>\n            <name>General</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <version>30</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>ExePath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>ObjPath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>ListPath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>GEndianMode</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>Input description</name>\n                    <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n                </option>\n                <option>\n                    <name>Output description</name>\n                    <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n                </option>\n                <option>\n                    <name>GOutputBinary</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCoreOrChip</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelect</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelectSlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RTDescription</name>\n                    <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n                </option>\n                <option>\n                    <name>OGProductVersion</name>\n                    <state>5.11.0.50579</state>\n                </option>\n                <option>\n                    <name>OGLastSavedByProductVersion</name>\n                    <state>8.20.2.14834</state>\n                </option>\n                <option>\n                    <name>GeneralEnableMisra</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVerbose</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGChipSelectEditMenu</name>\n                    <state>EFM32PG1B200F256GM48\tSiliconLaboratories EFM32PG1B200F256GM48</state>\n                </option>\n                <option>\n                    <name>GenLowLevelInterface</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GEndianModeBE</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OGBufferedTerminalOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenStdoutInterface</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>RTConfigPath2</name>\n                    <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n                </option>\n                <option>\n                    <name>GBECoreSlave</name>\n                    <version>26</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>OGUseCmsis</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsisDspLib</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibThreads</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CoreVariant</name>\n                    <version>26</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>GFPUDeviceSlave</name>\n                    <state>EFM32PG1B200F256GM48\tSiliconLaboratories EFM32PG1B200F256GM48</state>\n                </option>\n                <option>\n                    <name>FPU2</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>NrRegs</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>NEON</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUCoreSlave2</name>\n                    <version>26</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>OGCMSISPackSelectDevice</name>\n                </option>\n                <option>\n                    <name>OgLibHeap</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGLibAdditionalLocale</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGPrintfVariant</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>OGPrintfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGScanfVariant</name>\n                    <version>0</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OGScanfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenLocaleTags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>GenLocaleDisplayOnly</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DSPExtension</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TrustZone</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ICCARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>34</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCOptimizationNoSizeConstraints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDefines</name>\n                    <state>EFM32PG1B200F256GM48</state>\n                </option>\n                <option>\n                    <name>CCPreprocFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocComments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMnemonics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMessages</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDiagSuppress</name>\n                    <state>Pa050</state>\n                </option>\n                <option>\n                    <name>CCDiagRemark</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagWarning</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagError</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCAllowList</name>\n                    <version>1</version>\n                    <state>00000000</state>\n                </option>\n                <option>\n                    <name>CCDebugInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IEndianMode</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCLangConformance</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSignedPlainChar</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRequirePrototypes</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCDiagWarnAreErr</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCompilerRuntimeInfo</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>CCLibConfigHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>PreInclude</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CompilerMisraOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIncludePath2</name>\n                    <state>$PROJ_DIR$\\..</state>\n                    <state>$PROJ_DIR$\\..\\..</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\iar</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b</state>\n                </option>\n                <option>\n                    <name>CCStdIncCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCodeSection</name>\n                    <state>.text</state>\n                </option>\n                <option>\n                    <name>IProcessorMode2</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptStrategy</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevelSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>CCPosIndRopi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndRwpi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndNoDynInit</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccLang</name>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>IccCDialect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccAllowVLA</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccStaticDestr</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCppInlineSemantics</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccFloatSemantics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCOptStrategySlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCGuardCalls</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccExceptions2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccRTTI2</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>AARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>10</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>AObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>ACaseSensitivity</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacroChars</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnWhat</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnOne</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>ADebug</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AltRegisterNames</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ADefines</name>\n                    <state>ewarm</state>\n                </option>\n                <option>\n                    <name>AList</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AListHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AListing</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Includes</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacDefs</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacExps</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacExec</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OnlyAssed</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MultiLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLengthCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLength</name>\n                    <state>80</state>\n                </option>\n                <option>\n                    <name>TabSpacing</name>\n                    <state>8</state>\n                </option>\n                <option>\n                    <name>AXRef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDefines</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefInternal</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDual</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AOutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsEdit</name>\n                    <state>100</state>\n                </option>\n                <option>\n                    <name>AIgnoreStdInclude</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AUserIncludes</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AExtraOptionsCheckV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AExtraOptionsV2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AsmNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>OBJCOPY</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OOCOutputFormat</name>\n                    <version>3</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OCOutputOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OOCOutputFile</name>\n                    <state>dpp-qk.bin</state>\n                </option>\n                <option>\n                    <name>OOCCommandLineProducer</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OOCObjCopyEnable</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CUSTOM</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <extensions></extensions>\n                <cmdline></cmdline>\n                <hasPrio>0</hasPrio>\n            </data>\n        </settings>\n        <settings>\n            <name>BICOMP</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>BUILDACTION</name>\n            <archiveVersion>1</archiveVersion>\n            <data>\n                <prebuild>cmd /c \"if exist $OBJ_DIR$\\qstamp.o del $OBJ_DIR$\\qstamp.o\"</prebuild>\n                <postbuild></postbuild>\n            </data>\n        </settings>\n        <settings>\n            <name>ILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>20</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>IlinkLibIOConfig</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>XLinkMisraHandler</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkInputFileSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOutputFile</name>\n                    <state>dpp-qk.out</state>\n                </option>\n                <option>\n                    <name>IlinkDebugInfoEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkKeepSymbols</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkConfigDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkMapFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogInitialization</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogModule</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogSection</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogVeneer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfOverride</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile</name>\n                    <state>$PROJ_DIR$\\dpp-qk.icf</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFileSlave</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkSuppressDiags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsRem</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsWarn</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsErr</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkWarningsAreErrors</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkUseExtraOptions</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkLowLevelInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAutoLibEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAdditionalLibs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkOverrideProgramEntryLabel</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabelSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabel</name>\n                    <state>__iar_program_start</state>\n                </option>\n                <option>\n                    <name>DoFill</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>FillerByte</name>\n                    <state>0xFF</state>\n                </option>\n                <option>\n                    <name>FillerStart</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>FillerEnd</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>CrcSize</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcAlign</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcPoly</name>\n                    <state>0x11021</state>\n                </option>\n                <option>\n                    <name>CrcCompl</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcBitOrder</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcInitialValue</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>DoCrc</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkBufferedTerminalOutput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkStdoutInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcFullSize</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIElfToolPostProcess</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogAutoLibSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogRedirSymbols</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogUnusedFragments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcReverseByteOrder</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcUseAsInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptInline</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsAllow</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsForce</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptMergeDuplSections</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptUseVfe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptForceVfe</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackAnalysisEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackControlFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkStackCallGraphFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CrcAlgorithm</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcUnitSize</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkThreadsSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogCallGraph</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile_AltDefault</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkHeapSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLocaleSelect</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IARCHIVE</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>IarchiveInputs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IarchiveOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IarchiveOutput</name>\n                    <state>###Unitialized###</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>BILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>Coder</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n    </configuration>\n    <configuration>\n        <name>Release</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>0</debug>\n        <settings>\n            <name>General</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <version>30</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>ExePath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>ObjPath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>ListPath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>GEndianMode</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>Input description</name>\n                    <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n                </option>\n                <option>\n                    <name>Output description</name>\n                    <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n                </option>\n                <option>\n                    <name>GOutputBinary</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCoreOrChip</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelect</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelectSlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RTDescription</name>\n                    <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n                </option>\n                <option>\n                    <name>OGProductVersion</name>\n                    <state>5.11.0.50579</state>\n                </option>\n                <option>\n                    <name>OGLastSavedByProductVersion</name>\n                    <state>7.60.1.11206</state>\n                </option>\n                <option>\n                    <name>GeneralEnableMisra</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVerbose</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGChipSelectEditMenu</name>\n                    <state>EFM32PG1B200F256GM48\tSiliconLaboratories EFM32PG1B200F256GM48</state>\n                </option>\n                <option>\n                    <name>GenLowLevelInterface</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GEndianModeBE</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OGBufferedTerminalOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenStdoutInterface</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>RTConfigPath2</name>\n                    <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n                </option>\n                <option>\n                    <name>GBECoreSlave</name>\n                    <version>26</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>OGUseCmsis</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsisDspLib</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibThreads</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CoreVariant</name>\n                    <version>26</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>GFPUDeviceSlave</name>\n                    <state>EFM32PG1B200F256GM48\tSiliconLaboratories EFM32PG1B200F256GM48</state>\n                </option>\n                <option>\n                    <name>FPU2</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>NrRegs</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>NEON</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUCoreSlave2</name>\n                    <version>26</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>OGCMSISPackSelectDevice</name>\n                </option>\n                <option>\n                    <name>OgLibHeap</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGLibAdditionalLocale</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGPrintfVariant</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>OGPrintfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGScanfVariant</name>\n                    <version>0</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OGScanfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenLocaleTags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>GenLocaleDisplayOnly</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DSPExtension</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TrustZone</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ICCARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>34</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCOptimizationNoSizeConstraints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDefines</name>\n                    <state>NDEBUG</state>\n                    <state>EFM32PG1B200F256GM48</state>\n                </option>\n                <option>\n                    <name>CCPreprocFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocComments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMnemonics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMessages</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDiagSuppress</name>\n                    <state>Pa050</state>\n                </option>\n                <option>\n                    <name>CCDiagRemark</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagWarning</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagError</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCAllowList</name>\n                    <version>1</version>\n                    <state>11111110</state>\n                </option>\n                <option>\n                    <name>CCDebugInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IEndianMode</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCLangConformance</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSignedPlainChar</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRequirePrototypes</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCDiagWarnAreErr</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCompilerRuntimeInfo</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>CCLibConfigHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>PreInclude</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CompilerMisraOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIncludePath2</name>\n                    <state>$PROJ_DIR$\\..</state>\n                    <state>$PROJ_DIR$\\..\\..</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\iar</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b</state>\n                </option>\n                <option>\n                    <name>CCStdIncCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCodeSection</name>\n                    <state>.text</state>\n                </option>\n                <option>\n                    <name>IProcessorMode2</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevel</name>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>CCOptStrategy</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevelSlave</name>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>CCPosIndRopi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndRwpi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndNoDynInit</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccLang</name>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>IccCDialect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccAllowVLA</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccStaticDestr</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCppInlineSemantics</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccFloatSemantics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCOptStrategySlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCGuardCalls</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccExceptions2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccRTTI2</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>AARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>10</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>AObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>ACaseSensitivity</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacroChars</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnWhat</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnOne</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>ADebug</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AltRegisterNames</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ADefines</name>\n                    <state>ewarm</state>\n                </option>\n                <option>\n                    <name>AList</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AListHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AListing</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Includes</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacDefs</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacExps</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacExec</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OnlyAssed</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MultiLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLengthCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLength</name>\n                    <state>80</state>\n                </option>\n                <option>\n                    <name>TabSpacing</name>\n                    <state>8</state>\n                </option>\n                <option>\n                    <name>AXRef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDefines</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefInternal</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDual</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AOutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsEdit</name>\n                    <state>100</state>\n                </option>\n                <option>\n                    <name>AIgnoreStdInclude</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AUserIncludes</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AExtraOptionsCheckV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AExtraOptionsV2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AsmNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>OBJCOPY</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OOCOutputFormat</name>\n                    <version>3</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OCOutputOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OOCOutputFile</name>\n                    <state>dpp-qk.bin</state>\n                </option>\n                <option>\n                    <name>OOCCommandLineProducer</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OOCObjCopyEnable</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CUSTOM</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <extensions></extensions>\n                <cmdline></cmdline>\n                <hasPrio>0</hasPrio>\n            </data>\n        </settings>\n        <settings>\n            <name>BICOMP</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>BUILDACTION</name>\n            <archiveVersion>1</archiveVersion>\n            <data>\n                <prebuild>cmd /c \"if exist $OBJ_DIR$\\qstamp.o del $OBJ_DIR$\\qstamp.o\"</prebuild>\n                <postbuild></postbuild>\n            </data>\n        </settings>\n        <settings>\n            <name>ILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>20</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>IlinkLibIOConfig</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>XLinkMisraHandler</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkInputFileSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOutputFile</name>\n                    <state>dpp-qk.out</state>\n                </option>\n                <option>\n                    <name>IlinkDebugInfoEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkKeepSymbols</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkConfigDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkMapFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogInitialization</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogModule</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogSection</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogVeneer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfOverride</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile</name>\n                    <state>$PROJ_DIR$\\dpp-qk.icf</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFileSlave</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkSuppressDiags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsRem</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsWarn</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsErr</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkWarningsAreErrors</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkUseExtraOptions</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkLowLevelInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAutoLibEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAdditionalLibs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkOverrideProgramEntryLabel</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabelSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabel</name>\n                    <state>__iar_program_start</state>\n                </option>\n                <option>\n                    <name>DoFill</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>FillerByte</name>\n                    <state>0xFF</state>\n                </option>\n                <option>\n                    <name>FillerStart</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>FillerEnd</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>CrcSize</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcAlign</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcPoly</name>\n                    <state>0x11021</state>\n                </option>\n                <option>\n                    <name>CrcCompl</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcBitOrder</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcInitialValue</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>DoCrc</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkBufferedTerminalOutput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkStdoutInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcFullSize</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIElfToolPostProcess</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogAutoLibSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogRedirSymbols</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogUnusedFragments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcReverseByteOrder</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcUseAsInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptInline</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsAllow</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsForce</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptMergeDuplSections</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptUseVfe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptForceVfe</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackAnalysisEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackControlFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkStackCallGraphFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CrcAlgorithm</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcUnitSize</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkThreadsSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogCallGraph</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile_AltDefault</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkHeapSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLocaleSelect</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IARCHIVE</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>IarchiveInputs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IarchiveOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IarchiveOutput</name>\n                    <state>###Unitialized###</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>BILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>Coder</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n    </configuration>\n    <group>\n        <name>Application</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\bsp.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\bsp.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\dpp.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\main.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\philo.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\qpn_conf.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\include\\qstamp.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\table.c</name>\n        </file>\n    </group>\n    <group>\n        <name>efm32pg1b</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_assert.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_cmu.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_emu.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_gpio.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_system.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\iar\\startup_efm32pg1b.s</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\system_efm32pg1b.c</name>\n        </file>\n    </group>\n    <group>\n        <name>QP</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qepn.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qfn.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qkn\\qkn.c</name>\n        </file>\n    </group>\n    <group>\n        <name>QP_port</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\iar\\qkn_port.c</name>\n        </file>\n    </group>\n</project>\n"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/qk/iar/dpp-qk.eww",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<workspace>\n  <project>\n    <path>$WS_DIR$\\dpp-qk.ewp</path>\n  </project>\n  <batchBuild/>\n</workspace>\n\n\n"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/qk/iar/dpp-qk.icf",
    "content": "/*###ICF### Section handled by ICF editor, don't touch! ****/\n/*-Editor annotation file-*/\n/* IcfEditorFile=\"$TOOLKIT_DIR$\\config\\ide\\IcfEditor\\cortex_v1_0.xml\" */\n/*-Specials-*/\ndefine symbol __ICFEDIT_intvec_start__ = 0x00000000;\n/*-Memory Regions-*/\ndefine symbol __ICFEDIT_region_ROM_start__ = 0x00000000;\ndefine symbol __ICFEDIT_region_ROM_end__   = 0x0003FFFF;\ndefine symbol __ICFEDIT_region_RAM_start__ = 0x20000000;\ndefine symbol __ICFEDIT_region_RAM_end__   = 0x20007FFF;\n/*-Sizes-*/\ndefine symbol __ICFEDIT_size_cstack__ = 1024;\ndefine symbol __ICFEDIT_size_heap__   = 0;\n/**** End of ICF editor section. ###ICF###*/\n\ndefine memory mem with size = 4G;\ndefine region ROM_region   = mem:[from __ICFEDIT_region_ROM_start__   to __ICFEDIT_region_ROM_end__];\ndefine region RAM_region   = mem:[from __ICFEDIT_region_RAM_start__   to __ICFEDIT_region_RAM_end__];\n\ndefine block CSTACK    with alignment = 8, size = __ICFEDIT_size_cstack__   { };\ndefine block HEAP      with alignment = 8, size = __ICFEDIT_size_heap__     { };\n\ninitialize by copy { readwrite };\ndo not initialize  { section .noinit };\n\nplace at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };\nplace in ROM_region   { readonly };\nplace at start of RAM_region {block CSTACK }; \nplace in RAM_region   { readwrite, block HEAP  };"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/qpn_conf.h",
    "content": "/*****************************************************************************\n* Product: QP-nano configuration for the Blinky example\n* Last Updated for Version: 5.9.7\n* Date of the Last Update:  2017-08-18\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef QPN_CONF_H\n#define QPN_CONF_H\n\n#define Q_PARAM_SIZE            4U\n#define QF_MAX_TICK_RATE        1U\n#define QF_TIMEEVT_CTR_SIZE     2U\n#define QF_TIMEEVT_PERIODIC\n#define QK_SCHED_LOCK\n\n#endif  /* QPN_CONF_H */\n"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/qv/armclang/README.txt",
    "content": "About this Example\n==================\nThis example demonstrates how to use the uVision IDE together with\nthe MDK-ARM toolchain.\n\nuVision Project File\n====================\nThe MDK-ARM uVision project file provided with this example uses\nrelative paths to the QP framework location (includes, port, and\nlibraries. These relative paths must be modified when the project\nis moved to different relative location.\n\n\nAdjusting Stack and Heap Sizes\n==============================\nThe stack and heap sizes are determined in this project by the\ncommand-line options for the ARM assembler (see the Asm tab in\nthe \"Options for Target\" dialog box in uVision). Specifically,\nyou should define symbols: Stack_Size=xxx Heap_Size=yyy, where\nxxx represents a numerical value of stack size and yyy the\nnumerical value of the heap size (for most embedded projects\nyyy should be 0, as the using the heap is not recommended).\n\n\nStartup Code\n============\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\efm32pg1b\\arm\\startup_efm32pg1b.s\n\nThe file startup_efm32pg1b.s provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n  "
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/qv/armclang/dpp-qv.uvoptx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<ProjectOpt xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_optx.xsd\">\n\n  <SchemaVersion>1.0</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Extensions>\n    <cExt>*.c</cExt>\n    <aExt>*.s*; *.src; *.a*</aExt>\n    <oExt>*.obj; *.o</oExt>\n    <lExt>*.lib</lExt>\n    <tExt>*.txt; *.h; *.inc</tExt>\n    <pExt>*.plm</pExt>\n    <CppX>*.cpp</CppX>\n    <nMigrate>0</nMigrate>\n  </Extensions>\n\n  <DaveTm>\n    <dwLowDateTime>0</dwLowDateTime>\n    <dwHighDateTime>0</dwHighDateTime>\n  </DaveTm>\n\n  <Target>\n    <TargetName>dpp-dbg</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\dbg\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>1</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>3</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>1</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>3</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>Segger\\JL2CM3.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGUARM</Key>\n          <Name>/</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>JL2CM3</Key>\n          <Name>-U440060969 -O207 -S2 -ZTIFSpeedSel5000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00(\"ARM CoreSight SW-DP\") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO7 -FD20000000 -FC8000 -FN1 -FF0GECKOP2.FLM -FS00 -FL040000 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>UL2CM3(-O207 -S0 -C0 -FO7  -FN1 -FC8000 -FD20000000 -FF0GECKOP2 -FL020000 -FS00 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E2006F4 -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Target>\n    <TargetName>dpp-rel</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\rel\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>0</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>3</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>1</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>3</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>Segger\\JL2CM3.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>JL2CM3</Key>\n          <Name>-U440060969 -O207 -S2 -ZTIFSpeedSel5000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00(\"ARM CoreSight SW-DP\") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO7 -FD20000000 -FC8000 -FN1 -FF0GECKOP2.FLM -FS00 -FL020000 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGUARM</Key>\n          <Name>/</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E10259B -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>-O207 -S0 -C0 -FO7  -FN1 -FC8000 -FD20000000 -FF0GECKOP2 -FL020000 -FS00 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM)</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Group>\n    <GroupName>Applicatioin</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>1</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\bsp.c</PathWithFileName>\n      <FilenameWithoutPath>bsp.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>2</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\main.c</PathWithFileName>\n      <FilenameWithoutPath>main.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>3</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\dpp.h</PathWithFileName>\n      <FilenameWithoutPath>dpp.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>4</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\include\\qstamp.c</PathWithFileName>\n      <FilenameWithoutPath>qstamp.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>5</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\philo.c</PathWithFileName>\n      <FilenameWithoutPath>philo.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>6</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\table.c</PathWithFileName>\n      <FilenameWithoutPath>table.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>efm32pg1b</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>7</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_cmu.c</PathWithFileName>\n      <FilenameWithoutPath>em_cmu.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>8</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_emu.c</PathWithFileName>\n      <FilenameWithoutPath>em_emu.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>9</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_gpio.c</PathWithFileName>\n      <FilenameWithoutPath>em_gpio.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>10</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_int.c</PathWithFileName>\n      <FilenameWithoutPath>em_int.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>11</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_rtcc.c</PathWithFileName>\n      <FilenameWithoutPath>em_rtcc.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>12</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_system.c</PathWithFileName>\n      <FilenameWithoutPath>em_system.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>13</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\system_efm32pg1b.c</PathWithFileName>\n      <FilenameWithoutPath>system_efm32pg1b.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>14</FileNumber>\n      <FileType>2</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\arm\\startup_efm32pg1b.s</PathWithFileName>\n      <FilenameWithoutPath>startup_efm32pg1b.s</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>15</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</PathWithFileName>\n      <FilenameWithoutPath>qepn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>16</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</PathWithFileName>\n      <FilenameWithoutPath>qfn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>17</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qvn\\qvn.c</PathWithFileName>\n      <FilenameWithoutPath>qvn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP_port</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>18</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qfn_port.h</PathWithFileName>\n      <FilenameWithoutPath>qfn_port.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>19</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qvn_port.c</PathWithFileName>\n      <FilenameWithoutPath>qvn_port.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n</ProjectOpt>\n"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/qv/armclang/dpp-qv.uvprojx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<Project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_projx.xsd\">\n\n  <SchemaVersion>2.1</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Targets>\n    <Target>\n      <TargetName>dpp-dbg</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6130001::V6.13.1::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>EFM32PG1B200F256GM48</Device>\n          <Vendor>Silicon Labs</Vendor>\n          <PackID>SiliconLabs.EFM32PG1B_DFP.5.5.0</PackID>\n          <PackURL>https://www.silabs.com/documents/public/cmsis-packs/</PackURL>\n          <Cpu>IRAM(0x20000000,0x00008000) IROM(0x00000000,0x00020000) CPUTYPE(\"Cortex-M4\") FPU2 CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC8000 -FN1 -FF0GECKOP2 -FS00 -FL020000 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:EFM32PG1B200F256GM48$Device\\EFM32PG1B\\Include\\em_device.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:EFM32PG1B200F256GM48$SVD\\EFM32PG1B\\EFM32PG1B200F256GM48.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\dbg\\</OutputDirectory>\n          <OutputName>dpp-qv</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>1</DebugInformation>\n          <BrowseInformation>1</BrowseInformation>\n          <ListingPath>.\\dbg\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>cmd /c \"del .\\dbg\\qstamp.o\"</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\dbg\\dpp-qv.bin .\\dbg\\dpp-qv.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>1</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4096</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3>\"\" ()</Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M4\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>2</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x20000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x20000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>1</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>0</vShortEn>\n            <vShortWch>0</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>EFM32PG1B200F256GM48=1 __FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\efm32pg1b</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile></ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Applicatioin</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>dpp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\dpp.h</FilePath>\n            </File>\n            <File>\n              <FileName>qstamp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\include\\qstamp.c</FilePath>\n            </File>\n            <File>\n              <FileName>philo.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\philo.c</FilePath>\n            </File>\n            <File>\n              <FileName>table.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\table.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>efm32pg1b</GroupName>\n          <Files>\n            <File>\n              <FileName>em_cmu.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_cmu.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_emu.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_emu.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_gpio.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_gpio.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_int.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_int.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_rtcc.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_rtcc.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_system.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_system.c</FilePath>\n            </File>\n            <File>\n              <FileName>system_efm32pg1b.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\system_efm32pg1b.c</FilePath>\n            </File>\n            <File>\n              <FileName>startup_efm32pg1b.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\arm\\startup_efm32pg1b.s</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qvn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qvn\\qvn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qvn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qvn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n    <Target>\n      <TargetName>dpp-rel</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6130001::V6.13.1::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>EFM32PG1B200F256GM48</Device>\n          <Vendor>Silicon Labs</Vendor>\n          <PackID>SiliconLabs.EFM32PG1B_DFP.5.5.0</PackID>\n          <PackURL>https://www.silabs.com/documents/public/cmsis-packs/</PackURL>\n          <Cpu>IRAM(0x20000000,0x00008000) IROM(0x00000000,0x00020000) CPUTYPE(\"Cortex-M4\") FPU2 CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC8000 -FN1 -FF0GECKOP2 -FS00 -FL020000 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:EFM32PG1B200F256GM48$Device\\EFM32PG1B\\Include\\em_device.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:EFM32PG1B200F256GM48$SVD\\EFM32PG1B\\EFM32PG1B200F256GM48.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\rel\\</OutputDirectory>\n          <OutputName>dpp-qv</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>0</DebugInformation>\n          <BrowseInformation>0</BrowseInformation>\n          <ListingPath>.\\rel\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>cmd /c \"del .\\rel\\qstamp.o\"</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\rel\\dpp-qv.bin .\\rel\\dpp-qv.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>1</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4096</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3>\"\" ()</Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M4\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>2</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x20000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x20000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>1</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>0</vShortEn>\n            <vShortWch>0</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>NDEBUG EFM32PG1B200F256GM48=1 __FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\efm32pg1b</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile>dpp-qv.sct</ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Applicatioin</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>dpp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\dpp.h</FilePath>\n            </File>\n            <File>\n              <FileName>qstamp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\include\\qstamp.c</FilePath>\n            </File>\n            <File>\n              <FileName>philo.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\philo.c</FilePath>\n            </File>\n            <File>\n              <FileName>table.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\table.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>efm32pg1b</GroupName>\n          <Files>\n            <File>\n              <FileName>em_cmu.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_cmu.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_emu.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_emu.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_gpio.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_gpio.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_int.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_int.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_rtcc.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_rtcc.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_system.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_system.c</FilePath>\n            </File>\n            <File>\n              <FileName>system_efm32pg1b.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\system_efm32pg1b.c</FilePath>\n            </File>\n            <File>\n              <FileName>startup_efm32pg1b.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\arm\\startup_efm32pg1b.s</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qvn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qvn\\qvn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qvn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qvn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n  </Targets>\n\n  <RTE>\n    <apis/>\n    <components/>\n    <files/>\n  </RTE>\n\n</Project>\n"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/qv/bsp.c",
    "content": "/*****************************************************************************\n* Product: DPP example, EFM32-SLSTK3401A board, cooperative QV kernel\n* Last Updated for Version: 5.6.5\n* Date of the Last Update:  2016-05-08\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"dpp.h\"\n#include \"bsp.h\"\n\n#include \"em_device.h\"  /* the device specific header (SiLabs) */\n#include \"em_cmu.h\"     /* Clock Management Unit (SiLabs) */\n#include \"em_gpio.h\"    /* GPIO (SiLabs) */\n/* add other drivers if necessary... */\n\n//Q_DEFINE_THIS_FILE\n\n/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n* Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n* DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n*/\nenum KernelUnawareISRs { /* see NOTE00 */\n    /* ... */\n    MAX_KERNEL_UNAWARE_CMSIS_PRI  /* keep always last */\n};\n/* \"kernel-unaware\" interrupts can't overlap \"kernel-aware\" interrupts */\nQ_ASSERT_COMPILE(MAX_KERNEL_UNAWARE_CMSIS_PRI <= QF_AWARE_ISR_CMSIS_PRI);\n\nenum KernelAwareISRs {\n    GPIO_EVEN_PRIO = QF_AWARE_ISR_CMSIS_PRI, /* see NOTE00 */\n    SYSTICK_PRIO,\n    /* ... */\n    MAX_KERNEL_AWARE_CMSIS_PRI /* keep always last */\n};\n/* \"kernel-aware\" interrupts should not overlap the PendSV priority */\nQ_ASSERT_COMPILE(MAX_KERNEL_AWARE_CMSIS_PRI <= (0xFF >>(8-__NVIC_PRIO_BITS)));\n\n/* ISRs defined in this BSP ------------------------------------------------*/\nvoid SysTick_Handler(void);\nvoid GPIO_EVEN_IRQHandler(void);\n\n/* Local-scope objects -----------------------------------------------------*/\n#define LED_PORT    gpioPortF\n#define LED0_PIN    4\n#define LED1_PIN    5\n\n#define PB_PORT     gpioPortF\n#define PB0_PIN     6\n#define PB1_PIN     7\n\nstatic uint32_t l_rnd;      /* random seed */\n\n\n/*..........................................................................*/\nvoid SysTick_Handler(void) {\n    /* state of the button debouncing, see below */\n    static struct ButtonsDebouncing {\n        uint32_t depressed;\n        uint32_t previous;\n    } buttons = { ~0U, ~0U };\n    uint32_t current;\n    uint32_t tmp;\n\n    QF_tickXISR(0U); /* process time events for rate 0 */\n\n    /* Perform the debouncing of buttons. The algorithm for debouncing\n    * adapted from the book \"Embedded Systems Dictionary\" by Jack Ganssle\n    * and Michael Barr, page 71.\n    */\n    current = ~GPIO->P[PB_PORT].DIN; /* read PB0 and BP1 */\n    tmp = buttons.depressed; /* save the debounced depressed buttons */\n    buttons.depressed |= (buttons.previous & current); /* set depressed */\n    buttons.depressed &= (buttons.previous | current); /* clear released */\n    buttons.previous   = current; /* update the history */\n    tmp ^= buttons.depressed;     /* changed debounced depressed */\n    if ((tmp & (1U << PB0_PIN)) != 0U) {  /* debounced PB0 state changed? */\n        if ((buttons.depressed & (1U << PB0_PIN)) != 0U) { /* PB0 depressed?*/\n            QACTIVE_POST_ISR(&AO_Table, PAUSE_SIG, 0U);\n\n        }\n        else {            /* the button is released */\n            QACTIVE_POST_ISR(&AO_Table, SERVE_SIG, 0U);\n\n        }\n    }\n}\n/*..........................................................................*/\nvoid GPIO_EVEN_IRQHandler(void) {\n    QACTIVE_POST_ISR(&AO_Table, MAX_SIG, 0U);\n}\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    /* NOTE: SystemInit() already called from the startup code\n    *  but SystemCoreClock needs to be updated\n    */\n    SystemCoreClockUpdate();\n\n    /* configure the FPU usage by choosing one of the options...\n    *\n    * Do NOT to use the automatic FPU state preservation and\n    * do NOT to use the FPU lazy stacking.\n    *\n    * NOTE:\n    * Use the following setting when FPU is used only by active objects\n    * and NOT in any ISR. This setting is very efficient, but if any ISRs\n    * start using the FPU, this can lead to corruption of the FPU registers.\n    */\n    FPU->FPCCR &= ~((1U << FPU_FPCCR_ASPEN_Pos) | (1U << FPU_FPCCR_LSPEN_Pos));\n\n    /* enable clock for to the peripherals used by this application... */\n    CMU_ClockEnable(cmuClock_HFPER, true);\n    CMU_ClockEnable(cmuClock_GPIO,  true);\n    CMU_ClockEnable(cmuClock_HFPER, true);\n    CMU_ClockEnable(cmuClock_GPIO,  true);\n\n    /* configure the LEDs */\n    GPIO_PinModeSet(LED_PORT, LED0_PIN, gpioModePushPull, 0);\n    GPIO_PinModeSet(LED_PORT, LED1_PIN, gpioModePushPull, 0);\n    GPIO_PinOutClear(LED_PORT, LED0_PIN);\n    GPIO_PinOutClear(LED_PORT, LED1_PIN);\n\n    /* configure the Buttons */\n    GPIO_PinModeSet(PB_PORT, PB0_PIN, gpioModeInputPull, 1);\n    GPIO_PinModeSet(PB_PORT, PB1_PIN, gpioModeInputPull, 1);\n\n    BSP_randomSeed(1234U);\n}\n/*..........................................................................*/\nvoid BSP_displayPhilStat(uint8_t n, char const *stat) {\n    if (stat[0] == 'e') {\n        GPIO->P[LED_PORT].DOUT |=  (1U << LED0_PIN);\n    }\n    else {\n        GPIO->P[LED_PORT].DOUT &=  ~(1U << LED0_PIN);\n    }\n\n}\n/*..........................................................................*/\nvoid BSP_displayPaused(uint8_t paused) {\n    if (paused != 0U) {\n        GPIO->P[LED_PORT].DOUT |=  (1U << LED0_PIN);\n    }\n    else {\n        GPIO->P[LED_PORT].DOUT &= ~(1U << LED0_PIN);\n    }\n}\n/*..........................................................................*/\nuint32_t BSP_random(void) { /* a very cheap pseudo-random-number generator */\n    uint32_t rnd;\n\n    /* The flating point code is to exercise the FPU... */\n    float volatile x = 3.1415926F;\n    x = x + 2.7182818F;\n\n    /* \"Super-Duper\" Linear Congruential Generator (LCG)\n    * LCG(2^32, 3*7*11*13*23, 0, seed)\n    */\n    rnd = l_rnd * (3U*7U*11U*13U*23U);\n    l_rnd = rnd;\n\n    return rnd >> 8;\n}\n/*..........................................................................*/\nvoid BSP_randomSeed(uint32_t seed) {\n    l_rnd = seed;\n}\n/*..........................................................................*/\nvoid BSP_terminate(int16_t result) {\n    (void)result;\n}\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    /* set up the SysTick timer to fire at BSP_TICKS_PER_SEC rate */\n    SysTick_Config(SystemCoreClock / BSP_TICKS_PER_SEC);\n\n    /* assing all priority bits for preemption-prio. and none to sub-prio. */\n    NVIC_SetPriorityGrouping(0U);\n\n    /* set priorities of ALL ISRs used in the system, see NOTE00\n    *\n    * !!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n    * Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n    * DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n    */\n    NVIC_SetPriority(SysTick_IRQn,   SYSTICK_PRIO);\n    NVIC_SetPriority(GPIO_EVEN_IRQn, GPIO_EVEN_PRIO);\n    /* ... */\n\n    /* enable IRQs... */\n    NVIC_EnableIRQ(GPIO_EVEN_IRQn);\n\n}\n/*..........................................................................*/\nvoid QV_onIdle(void) { /* CATION: called with interrupts DISABLED, NOTE01 */\n    /* toggle LED1 on and then off, see NOTE02 */\n    GPIO_PinOutSet(LED_PORT, LED1_PIN);\n    //GPIO->P[LED_PORT].DOUT |= (1U << LED1_PIN);\n    GPIO_PinOutClear(LED_PORT, LED1_PIN);\n    //GPIO->P[LED_PORT].DOUT &= ~(1U << LED1_PIN);\n\n#ifdef NDEBUG\n    /* Put the CPU and peripherals to the low-power mode.\n    * you might need to customize the clock management for your application,\n    * see the datasheet for your particular Cortex-M MCU.\n    */\n    QV_CPU_SLEEP();  /* atomically go to sleep and enable interrupts */\n#else\n    QF_INT_ENABLE(); /* just enable interrupts */\n#endif\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const module, int loc) {\n    /*\n    * NOTE: add here your application-specific error handling\n    */\n    (void)module;\n    (void)loc;\n\n#ifndef NDEBUG\n    /* light up both LEDs */\n    GPIO->P[LED_PORT].DOUT |= ((1U << LED0_PIN) | (1U << LED1_PIN));\n    /* for debugging, hang on in an endless loop until PB1 is pressed... */\n    while ((GPIO->P[PB_PORT].DIN & (1U << PB1_PIN)) != 0) {\n    }\n#endif\n\n    NVIC_SystemReset();\n}\n\n/*****************************************************************************\n* NOTE00:\n* The QF_AWARE_ISR_CMSIS_PRI constant from the QF port specifies the highest\n* ISR priority that is disabled by the QF framework. The value is suitable\n* for the NVIC_SetPriority() CMSIS function.\n*\n* Only ISRs prioritized at or below the QF_AWARE_ISR_CMSIS_PRI level (i.e.,\n* with the numerical values of priorities equal or higher than\n* QF_AWARE_ISR_CMSIS_PRI) are allowed to call the QK_ISR_ENTRY/QK_ISR_ENTRY\n* macros or any other QF/QK  services. These ISRs are \"QF-aware\".\n*\n* Conversely, any ISRs prioritized above the QF_AWARE_ISR_CMSIS_PRI priority\n* level (i.e., with the numerical values of priorities less than\n* QF_AWARE_ISR_CMSIS_PRI) are never disabled and are not aware of the kernel.\n* Such \"QF-unaware\" ISRs cannot call any QF/QK services. In particular they\n* can NOT call the macros QK_ISR_ENTRY/QK_ISR_ENTRY. The only mechanism\n* by which a \"QF-unaware\" ISR can communicate with the QF framework is by\n* triggering a \"QF-aware\" ISR, which can post/publish events.\n*\n* NOTE01:\n* The QV_onIdle() callback is called with interrupts disabled, because the\n* determination of the idle condition might change by any interrupt posting\n* an event. QV_onIdle() must internally enable interrupts, ideally\n* atomically with putting the CPU to the power-saving mode.\n*\n* NOTE02:\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/qv/gnu/Makefile",
    "content": "##############################################################################\n# Product: Makefile for QP-nano on EMF32-SLSTK3401A, QV-nano kernel, GNU-ARM\n# Last Updated for Version: 6.5.0\n# Date of the Last Update:  2019-04-15\n#\n#                    Q u a n t u m  L e a P s\n#                    ------------------------\n#                    Modern Embedded Software\n#\n# Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# https://www.state-machine.com\n# mailto:info@state-machine.com\n##############################################################################\n# examples of invoking this Makefile:\n# building configurations: Debug (default), Release, and Spy\n# make\n# make CONF=rel\n#\n# cleaning configurations: Debug (default), Release, and Spy\n# make clean\n# make CONF=rel clean\n#\n# NOTE:\n# To use this Makefile on Windows, you will need the GNU make utility, which\n# is included in the Qtools collection for Windows, see:\n#    http://sourceforge.net/projects/qpc/files/Qtools/\n#\n\n#-----------------------------------------------------------------------------\n# project name\n#\nPROJECT     := dpp-qv\n\n#-----------------------------------------------------------------------------\n# project directories\n#\n\n# location of the QP-nano framework (if not provided in an environemnt var.)\nifeq ($(QPN),)\nQPN := ../../../../..\nendif\n\n# QP port used in this project\nQP_PORT_DIR := $(QPN)/ports/arm-cm/qv/gnu\n\n# list of all source directories used by this project\nVPATH = \\\n\t.. \\\n\t../.. \\\n\t$(QPN)/src/qfn \\\n\t$(QPN)/src/qvn \\\n\t$(QP_PORT_DIR) \\\n\t$(QPN)/3rd_party/efm32pg1b \\\n\t$(QPN)/3rd_party/efm32pg1b/gnu\n\n# list of all include directories needed by this project\nINCLUDES  = \\\n\t-I../.. \\\n\t-I$(QPN)/include \\\n\t-I$(QP_PORT_DIR) \\\n\t-I$(QPN)/3rd_party/CMSIS/Include \\\n\t-I$(QPN)/3rd_party/efm32pg1b\n\n#-----------------------------------------------------------------------------\n# files\n#\n\n# assembler source files\nASM_SRCS :=\n\n# C source files\nC_SRCS := \\\n\tbsp.c \\\n\tmain.c \\\n\tphilo.c \\\n\ttable.c \\\n\tstartup_efm32pg1b.c \\\n\tsystem_efm32pg1b.c \\\n\tem_cmu.c \\\n\tem_emu.c \\\n\tem_gpio.c\n\n# C++ source files\nCPP_SRCS :=\n\nOUTPUT    := $(PROJECT)\nLD_SCRIPT := $(PROJECT).ld\n\nQP_SRCS := \\\n\tqepn.c \\\n\tqfn.c \\\n\tqvn.c \\\n\tqvn_port.c\n\nQP_ASMS := \\\n\n\nLIB_DIRS  :=\nLIBS      :=\n\n# defines\nDEFINES   := -DEFM32PG1B200F256GM48=1\n\n# ARM CPU, ARCH, FPU, and Float-ABI types...\n# ARM_CPU:   [cortex-m0 | cortex-m0plus | cortex-m1 | cortex-m3 | cortex-m4]\n# ARM_ARCH:  [6 | 7] (NOTE: must match ARM_CPU!)\n# ARM_FPU:   [ | vfp]\n# FLOAT_ABI: [ | soft | softfp | hard]\n#\nARM_CPU   := -mcpu=cortex-m4\nARM_ARCH  := 7   # NOTE: must match the ARM_CPU!\nARM_FPU   := -mfpu=vfp\nFLOAT_ABI := -mfloat-abi=softfp\n\n#-----------------------------------------------------------------------------\n# GNU-ARM toolset (NOTE: You need to adjust to your machine)\n# see https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads\n#\nifeq ($(GNU_ARM),)\nGNU_ARM := $(QTOOLS)/gnu_arm-none-eabi\nendif\n\n# make sure that the GNU-ARM toolset exists...\nifeq (\"$(wildcard $(GNU_ARM))\",\"\")\n$(error GNU_ARM toolset not found. Please adjust the Makefile)\nendif\n\nCC    := $(GNU_ARM)/bin/arm-none-eabi-gcc\nCPP   := $(GNU_ARM)/bin/arm-none-eabi-g++\nAS    := $(GNU_ARM)/bin/arm-none-eabi-as\nLINK  := $(GNU_ARM)/bin/arm-none-eabi-g++\nBIN   := $(GNU_ARM)/bin/arm-none-eabi-objcopy\n\n\n##############################################################################\n# Typically, you should not need to change anything below this line\n\n# basic utilities (included in Qtools for Windows), see:\n#    http://sourceforge.net/projects/qpc/files/Qtools\n\nMKDIR := mkdir\nRM    := rm\n\n#-----------------------------------------------------------------------------\n# build options for various configurations for ARM Cortex-M\n#\n\n# combine all the soruces...\nC_SRCS += $(QP_SRCS)\nASM_SRCS += $(QP_ASMS)\n\nifeq (rel, $(CONF)) # Release configuration ..................................\n\nBIN_DIR := rel\n\nASFLAGS = $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O1 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nCPPFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O1 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nelse # default Debug configuration ..........................................\n\nBIN_DIR := dbg\n\nASFLAGS = -g $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O $(INCLUDES) $(DEFINES)\n\nCPPFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O $(INCLUDES) $(DEFINES)\n\nendif # ......................................................................\n\n\nLINKFLAGS = -T$(LD_SCRIPT) $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb \\\n\t-specs=nosys.specs -specs=nano.specs \\\n\t-Wl,-Map,$(BIN_DIR)/$(OUTPUT).map,--cref,--gc-sections $(LIB_DIRS)\n\n\nASM_OBJS     := $(patsubst %.s,%.o,  $(notdir $(ASM_SRCS)))\nC_OBJS       := $(patsubst %.c,%.o,  $(notdir $(C_SRCS)))\nCPP_OBJS     := $(patsubst %.cpp,%.o,$(notdir $(CPP_SRCS)))\n\nTARGET_BIN   := $(BIN_DIR)/$(OUTPUT).bin\nTARGET_ELF   := $(BIN_DIR)/$(OUTPUT).elf\nASM_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(ASM_OBJS))\nC_OBJS_EXT   := $(addprefix $(BIN_DIR)/, $(C_OBJS))\nC_DEPS_EXT   := $(patsubst %.o, %.d, $(C_OBJS_EXT))\nCPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))\nCPP_DEPS_EXT := $(patsubst %.o, %.d, $(CPP_OBJS_EXT))\n\n# create $(BIN_DIR) if it does not exist\nifeq (\"$(wildcard $(BIN_DIR))\",\"\")\n$(shell $(MKDIR) $(BIN_DIR))\nendif\n\n#-----------------------------------------------------------------------------\n# rules\n#\n\nall: $(TARGET_BIN)\n#all: $(TARGET_ELF)\n\n$(TARGET_BIN): $(TARGET_ELF)\n\t$(BIN) -O binary $< $@\n\n$(TARGET_ELF) : $(ASM_OBJS_EXT) $(C_OBJS_EXT) $(CPP_OBJS_EXT)\n\t$(CC) $(CFLAGS) $(QPN)/include/qstamp.c -o $(BIN_DIR)/qstamp.o\n\t$(LINK) $(LINKFLAGS) -o $@ $^ $(BIN_DIR)/qstamp.o $(LIBS)\n\n$(BIN_DIR)/%.d : %.c\n\t$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@\n\n$(BIN_DIR)/%.d : %.cpp\n\t$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@\n\n$(BIN_DIR)/%.o : %.s\n\t$(AS) $(ASFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.c\n\t$(CC) $(CFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.cpp\n\t$(CPP) $(CPPFLAGS) $< -o $@\n\n# include dependency files only if our goal depends on their existence\nifneq ($(MAKECMDGOALS),clean)\n  ifneq ($(MAKECMDGOALS),show)\n-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)\n  endif\nendif\n\n\n.PHONY : clean\nclean:\n\t-$(RM) $(BIN_DIR)/*.o \\\n\t$(BIN_DIR)/*.d \\\n\t$(BIN_DIR)/*.bin \\\n\t$(BIN_DIR)/*.elf \\\n\t$(BIN_DIR)/*.map\n\t\nshow:\n\t@echo PROJECT = $(PROJECT)\n\t@echo CONF = $(CONF)\n\t@echo DEFINES = $(DEFINES)\n\t@echo ASM_FPU = $(ASM_FPU)\n\t@echo ASM_SRCS = $(ASM_SRCS)\n\t@echo C_SRCS = $(C_SRCS)\n\t@echo CPP_SRCS = $(CPP_SRCS)\n\t@echo ASM_OBJS_EXT = $(ASM_OBJS_EXT)\n\t@echo C_OBJS_EXT = $(C_OBJS_EXT)\n\t@echo C_DEPS_EXT = $(C_DEPS_EXT)\n\t@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)\n\t@echo TARGET_ELF = $(TARGET_ELF)\n"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/qv/gnu/README.txt",
    "content": "About this Example\n==================\nThis example can be built from the command prompt with the provided\nMakefile. The example can also be imported as a Makefile-based\nproject into Eclipse-based IDEs.\n\n\nThe Makefile\n============\nThe provided Makefile should be easy to adapt for your own projects.\nIt contains two build configurations: Debug (default) and Release.\n\nAlso, the Makefile has been specifically designed to work as an external\nMakefile with the Eclipse CDT.\n\nThe various build configurations are built as follows:\n\nmake\nmake CONF=rel\nmake clean\nmake CONF=rel clean\n\n***\nNOTE:\nThe installation folder of the GNU-ARM toolset on YOUR machine needs\nto be adjusted in the provided Makefile, by editing the symbol: GNU_ARM.\nAs described in the comment for this symbol, the GNU-ARM toolset is taken\nfrom: http://gnutoolchains.com/arm-eabi\n\nIt is highly recommened to use the same GNU-ARM distribution, especially\nfor ARM Cortex-M4F projects, due to the support for the hardware FPU\n(float-abi=hard).\n***\n\n\nAdjusting Stack and Heap Sizes\n==============================\nThe stack and heap sizes are determined in this project by the GCC linker\nscript (.ld file), which provides a template of the recommended GCC linker\nscript for QP applications.\n\n\nStartup Code\n============\nThe startup code for the EFM32PG1B200F256GM48 MCU used in this project\nis located in the \"3rd_party\" folder in the following location:\n\nqpc\\3rd_party\\efm32pg1b\\gnu\\startup_efm32pg1b.c\n\nThe file startup_efm32pg1b.c provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/qv/gnu/dpp-qv.ld",
    "content": "/*****************************************************************************\n* Product: Linker script for EFM32-SLSTK3401A, GNU-ARM linker\n* Last Updated for Version: 5.9.8\n* Date of the Last Update:  2017-09-13\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <http://www.gnu.org/licenses/>.\n*\n* Contact information:\n* http://www.state-machine.com\n* mailto:info@state-machine.com\n*****************************************************************************/\nOUTPUT_FORMAT(\"elf32-littlearm\", \"elf32-bigarm\", \"elf32-littlearm\")\nOUTPUT_ARCH(arm)\nENTRY(Reset_Handler) /* entry Point */\n\nMEMORY { /* memory map of Pearl Gecko EFM32PG1B200F256GM48 */\n    ROM (rx)  : ORIGIN = 0x00000000, LENGTH = 256K\n    RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K\n}\n\n/* The size of the stack used by the application. NOTE: you need to adjust  */\nSTACK_SIZE = 1024;\n\n/* The size of the heap used by the application. NOTE: you need to adjust   */\nHEAP_SIZE = 0;\n\nSECTIONS {\n\n    .isr_vector : {        /* the vector table goes FIRST into ROM */\n        KEEP(*(.isr_vector)) /* vector table */\n        . = ALIGN(4);\n    } >ROM\n\n    .text : {              /* code and constants */\n        . = ALIGN(4);\n        *(.text)           /* .text sections (code) */\n        *(.text*)          /* .text* sections (code) */\n        *(.rodata)         /* .rodata sections (constants, strings, etc.) */\n        *(.rodata*)        /* .rodata* sections (constants, strings, etc.) */\n\n        KEEP (*(.init))\n        KEEP (*(.fini))\n\n        . = ALIGN(4);\n    } >ROM\n\n    .preinit_array : {\n        PROVIDE_HIDDEN (__preinit_array_start = .);\n        KEEP (*(.preinit_array*))\n        PROVIDE_HIDDEN (__preinit_array_end = .);\n    } >ROM\n\n    .init_array : {\n        PROVIDE_HIDDEN (__init_array_start = .);\n        KEEP (*(SORT(.init_array.*)))\n        KEEP (*(.init_array*))\n        PROVIDE_HIDDEN (__init_array_end = .);\n    } >ROM\n\n    .fini_array : {\n        PROVIDE_HIDDEN (__fini_array_start = .);\n        KEEP (*(.fini_array*))\n        KEEP (*(SORT(.fini_array.*)))\n        PROVIDE_HIDDEN (__fini_array_end = .);\n    } >ROM\n\n    _etext = .;            /* global symbols at end of code */\n\n    .stack : {\n        __stack_start__ = .;\n        . = . + STACK_SIZE;\n        . = ALIGN(4);\n        __stack_end__ = .;\n    } >RAM\n\n    .data :  AT (_etext) {\n        __data_load = LOADADDR (.data);\n        __data_start = .;\n        *(.data)           /* .data sections */\n        *(.data*)          /* .data* sections */\n        . = ALIGN(4);\n        __data_end__ = .;\n        _edata = __data_end__;\n    } >RAM\n\n    .bss : {\n        __bss_start__ = .;\n        *(.bss)\n        *(.bss*)\n        *(COMMON)\n        . = ALIGN(4);\n        _ebss = .;         /* define a global symbol at bss end */\n        __bss_end__ = .;\n    } >RAM\n\n    __exidx_start = .;\n    .ARM.exidx   : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } >RAM\n    __exidx_end = .;\n\n    PROVIDE ( end = _ebss );\n    PROVIDE ( _end = _ebss );\n    PROVIDE ( __end__ = _ebss );\n\n    .heap : {\n        __heap_start__ = .;\n        . = . + HEAP_SIZE;\n        . = ALIGN(4);\n        __heap_end__ = .;\n    } >RAM\n\n    /* Remove information from the standard libraries */\n    /DISCARD/ : {\n        libc.a ( * )\n        libm.a ( * )\n        libgcc.a ( * )\n    }\n}\n"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/qv/gnu/flash.bat",
    "content": "::============================================================================\n:: Batch file to program the flash of EFM32-SLSTK3401A board\n:: \n:: NOTE: requires the J-Link commander (JLink.exe) from SEGGER, see:\n:: https://www.segger.com/j-link-commander.html\n:: \nsetlocal\n\n@echo off\n@echo Load a given binary file to the flash of EFM32-SLSTK3401A \n@echo usage:   flash bin-file\n@echo example: flash dbg\\blinky-qk.bin\n\n::----------------------------------------------------------------------------\n:: NOTE: Adjust the following symbol to the location of the\n:: JLink utility on your machine\n::\nif [%JLINK%] EQU [] set JLINK=%QTOOLS%\\..\\JLink\nif not exist \"%JLINK%\\JLink.exe\" (\n    @echo The JLink tool not found. Please adjust flash.bat \n    @goto end\n)\n\nif [\"%~1\"]==[\"\"] (\n    @echo The binary file missing\n    @goto end\n)\nif not exist %~s1 (\n    @echo The binary file '%1' does not exist\n    @goto end\n)\n\n:: generate the Jlink command file depending on the first parameter %1\n@echo si 1 >flash.jlink\n@echo speed 4000 >>flash.jlink\n@echo r >>flash.jlink\n@echo h >>flash.jlink\n@echo loadbin %1, 0 >>flash.jlink\n@echo exit >>flash.jlink\n\n@echo on\n%JLINK%\\JLink.exe -device EFM32PG1B200F256GM48 flash.jlink\n@echo off\n\n@del flash.jlink\n\n:end\n\nendlocal"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/qv/iar/README.txt",
    "content": "About this Example\n==================\nThis example demonstrates how to use the IAR EWARM IDE to build\na QP application.\n\n\nIAR Project File\n----------------\nThe IAR EWARM project file provided with this example uses relative paths\nto the QP/C framework location (includes, port, and libraries. These\nrelative paths must be modified when the project is moved to different\nrelative location.\n\n\nStack Size and Heap Size\n------------------------\nIn this project, the size of the C stack and heap are determined in\nthe linker script blinky-qk.icf (see the next section).\n\n\nLinker Script\n-------------\nThe IAR linker script provides a template of the recommended linker script\nfor QP applications. This file needs to be customized to set the\napplication-specific sizes of the Stack and Heap. This file can be edited\nfrom the IAR EWARM IDE via the Project Options/Linker settings.\n\n\nStartup Code\n============\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\efm32pg1b\\iar\\startup_efm32pg1b.s\n\nThe file startup_efm32pg1b.s provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/qv/iar/dpp-qv.ewd",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project>\n    <fileVersion>3</fileVersion>\n    <configuration>\n        <name>Debug</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>1</debug>\n        <settings>\n            <name>C-SPY</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCVariant</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>MemOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MemFile</name>\n                    <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\SiliconLaboratories\\EFM32PG1B200F256GM48.ddf</state>\n                </option>\n                <option>\n                    <name>RunToEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RunToName</name>\n                    <state>main</state>\n                </option>\n                <option>\n                    <name>CExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDDFArgumentProducer</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadSuppressDownload</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDownloadVerifyAll</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCProductVersion</name>\n                    <state>7.30.4.8186</state>\n                </option>\n                <option>\n                    <name>OCDynDriverList</name>\n                    <state>JLINK_ID</state>\n                </option>\n                <option>\n                    <name>OCLastSavedByProductVersion</name>\n                    <state>8.11.1.13270</state>\n                </option>\n                <option>\n                    <name>UseFlashLoader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CLowLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CDevice</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>FlashLoadersV3</name>\n                    <state>$TOOLKIT_DIR$\\config\\flashloader\\SiliconLaboratories\\FlashGECKOP2.board</state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OverrideDefFlashBoard</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesOffset1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesUse1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDeviceConfigMacroFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDebuggerExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAllMTBOptions</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreNrOfCores</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreMaster</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCMulticorePort</name>\n                    <state>53461</state>\n                </option>\n                <option>\n                    <name>OCMulticoreWorkspace</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveProject</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveConfiguration</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadExtraImage</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAttachSlave</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ARMSIM_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCSimDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCSimEnablePSP</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspOverrideConfig</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspConfigFile</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CADI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCadiMemory</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Fast Model</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCADILogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCADILogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CMSISDAP_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CMSISDAPResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>CMSISDAPDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CMSISDAPProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>GDBSERVER_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJTagBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IJET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>8</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>IjetPowerFromProbe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPowerRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetProtocolRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPin</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPrescalerList</name>\n                    <version>1</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IjetProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPreferETB</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetTraceSettingsList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetTraceSizeList</name>\n                    <version>0</version>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>FlashBoardPathSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>JLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>16</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>JLinkSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJLinkHWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>JLinkInitialSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCDoJlinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkCommRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>CCJLinkSpeedRadioV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCUSBDevice</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceRadio</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkResetList</name>\n                    <version>6</version>\n                    <state>7</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCTcpIpAlt</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTcpIpSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSourceDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkDeviceName</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>LMIFTDI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>2</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>LmiftdiSpeed</name>\n                    <state>500</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceRadio</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>PEMICRO_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>3</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJPEMicroShowSettings</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>STLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCSTLinkCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDAPNumber</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkResetList</name>\n                    <version>3</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDebugAccessPortRadio</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>THIRDPARTY_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CThirdPartyDriverDll</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>TIFET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVccTypeDefault</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVoltage</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CCMSPFetVCCDefault</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetSettlingtime</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioJtagSpeedType</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetConnection</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetUsbComPort</name>\n                    <state>Automatic</state>\n                </option>\n                <option>\n                    <name>CCMSPFetAllowAccessToBSL</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioEraseFlash</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>XDS100_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>6</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCXds100CatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TIPackageOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TIPackage</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>BoardFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCXds100BreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100DoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockEdit</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCXds100HWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100JtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ProbeList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPortRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPort</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <debuggerPlugins>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n                <loadFlag>1</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n        </debuggerPlugins>\n    </configuration>\n    <configuration>\n        <name>Release</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>0</debug>\n        <settings>\n            <name>C-SPY</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCVariant</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>MemOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MemFile</name>\n                    <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\SiliconLaboratories\\EFM32PG1B200F256GM48.ddf</state>\n                </option>\n                <option>\n                    <name>RunToEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RunToName</name>\n                    <state>main</state>\n                </option>\n                <option>\n                    <name>CExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDDFArgumentProducer</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadSuppressDownload</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDownloadVerifyAll</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCProductVersion</name>\n                    <state>7.30.4.8186</state>\n                </option>\n                <option>\n                    <name>OCDynDriverList</name>\n                    <state>JLINK_ID</state>\n                </option>\n                <option>\n                    <name>OCLastSavedByProductVersion</name>\n                    <state>7.60.1.11206</state>\n                </option>\n                <option>\n                    <name>UseFlashLoader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CLowLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CDevice</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>FlashLoadersV3</name>\n                    <state>$TOOLKIT_DIR$\\config\\flashloader\\SiliconLaboratories\\FlashGECKOP2.board</state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OverrideDefFlashBoard</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesOffset1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesUse1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDeviceConfigMacroFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDebuggerExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAllMTBOptions</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreNrOfCores</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreMaster</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCMulticorePort</name>\n                    <state>53461</state>\n                </option>\n                <option>\n                    <name>OCMulticoreWorkspace</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveProject</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveConfiguration</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadExtraImage</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAttachSlave</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ARMSIM_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCSimDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCSimEnablePSP</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspOverrideConfig</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspConfigFile</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CADI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCadiMemory</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Fast Model</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCADILogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCADILogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CMSISDAP_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CMSISDAPResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>CMSISDAPDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CMSISDAPProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>GDBSERVER_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJTagBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IJET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>8</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>IjetPowerFromProbe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPowerRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetProtocolRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPin</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPrescalerList</name>\n                    <version>1</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IjetProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPreferETB</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetTraceSettingsList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetTraceSizeList</name>\n                    <version>0</version>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>FlashBoardPathSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>JLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>16</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>JLinkSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJLinkHWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>JLinkInitialSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCDoJlinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkCommRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>CCJLinkSpeedRadioV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCUSBDevice</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceRadio</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkResetList</name>\n                    <version>6</version>\n                    <state>7</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCTcpIpAlt</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTcpIpSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSourceDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkDeviceName</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>LMIFTDI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>2</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>LmiftdiSpeed</name>\n                    <state>500</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceRadio</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>PEMICRO_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>3</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJPEMicroShowSettings</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>STLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCSTLinkCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDAPNumber</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkResetList</name>\n                    <version>3</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDebugAccessPortRadio</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>THIRDPARTY_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CThirdPartyDriverDll</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>TIFET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVccTypeDefault</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVoltage</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CCMSPFetVCCDefault</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetSettlingtime</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioJtagSpeedType</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetConnection</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetUsbComPort</name>\n                    <state>Automatic</state>\n                </option>\n                <option>\n                    <name>CCMSPFetAllowAccessToBSL</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioEraseFlash</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>XDS100_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>6</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCXds100CatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TIPackageOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TIPackage</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>BoardFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCXds100BreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100DoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockEdit</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCXds100HWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100JtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ProbeList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPortRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPort</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <debuggerPlugins>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n                <loadFlag>1</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n        </debuggerPlugins>\n    </configuration>\n</project>\n"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/qv/iar/dpp-qv.ewp",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project>\n    <fileVersion>3</fileVersion>\n    <configuration>\n        <name>Debug</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>1</debug>\n        <settings>\n            <name>General</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>ExePath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>ObjPath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>ListPath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>GEndianMode</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>Input description</name>\n                    <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n                </option>\n                <option>\n                    <name>Output description</name>\n                    <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n                </option>\n                <option>\n                    <name>GOutputBinary</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCoreOrChip</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelect</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelectSlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RTDescription</name>\n                    <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n                </option>\n                <option>\n                    <name>OGProductVersion</name>\n                    <state>5.11.0.50579</state>\n                </option>\n                <option>\n                    <name>OGLastSavedByProductVersion</name>\n                    <state>8.11.1.13270</state>\n                </option>\n                <option>\n                    <name>GeneralEnableMisra</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVerbose</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGChipSelectEditMenu</name>\n                    <state>EFM32PG1B200F256GM48\tSiliconLaboratories EFM32PG1B200F256GM48</state>\n                </option>\n                <option>\n                    <name>GenLowLevelInterface</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GEndianModeBE</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OGBufferedTerminalOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenStdoutInterface</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>RTConfigPath2</name>\n                    <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n                </option>\n                <option>\n                    <name>GBECoreSlave</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>OGUseCmsis</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsisDspLib</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibThreads</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CoreVariant</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>GFPUDeviceSlave</name>\n                    <state>EFM32PG1B200F256GM48\tSiliconLaboratories EFM32PG1B200F256GM48</state>\n                </option>\n                <option>\n                    <name>FPU2</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>NrRegs</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>NEON</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUCoreSlave2</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>OGCMSISPackSelectDevice</name>\n                </option>\n                <option>\n                    <name>OgLibHeap</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGLibAdditionalLocale</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGPrintfVariant</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>OGPrintfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGScanfVariant</name>\n                    <version>0</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OGScanfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenLocaleTags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>GenLocaleDisplayOnly</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ICCARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>34</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCOptimizationNoSizeConstraints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDefines</name>\n                    <state>EFM32PG1B200F256GM48</state>\n                </option>\n                <option>\n                    <name>CCPreprocFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocComments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMnemonics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMessages</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDiagSuppress</name>\n                    <state>Pa050</state>\n                </option>\n                <option>\n                    <name>CCDiagRemark</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagWarning</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagError</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCAllowList</name>\n                    <version>1</version>\n                    <state>00000000</state>\n                </option>\n                <option>\n                    <name>CCDebugInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IEndianMode</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCLangConformance</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSignedPlainChar</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRequirePrototypes</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCDiagWarnAreErr</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCompilerRuntimeInfo</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>CCLibConfigHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>PreInclude</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CompilerMisraOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIncludePath2</name>\n                    <state>$PROJ_DIR$\\..</state>\n                    <state>$PROJ_DIR$\\..\\..</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b</state>\n                </option>\n                <option>\n                    <name>CCStdIncCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCodeSection</name>\n                    <state>.text</state>\n                </option>\n                <option>\n                    <name>IProcessorMode2</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptStrategy</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevelSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>CCPosIndRopi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndRwpi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndNoDynInit</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccLang</name>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>IccCDialect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccAllowVLA</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccStaticDestr</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCppInlineSemantics</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccFloatSemantics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCOptStrategySlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCGuardCalls</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccExceptions2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccRTTI2</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>AARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>10</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>AObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>ACaseSensitivity</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacroChars</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnWhat</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnOne</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>ADebug</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AltRegisterNames</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ADefines</name>\n                    <state>ewarm</state>\n                </option>\n                <option>\n                    <name>AList</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AListHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AListing</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Includes</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacDefs</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacExps</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacExec</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OnlyAssed</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MultiLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLengthCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLength</name>\n                    <state>80</state>\n                </option>\n                <option>\n                    <name>TabSpacing</name>\n                    <state>8</state>\n                </option>\n                <option>\n                    <name>AXRef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDefines</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefInternal</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDual</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AOutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsEdit</name>\n                    <state>100</state>\n                </option>\n                <option>\n                    <name>AIgnoreStdInclude</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AUserIncludes</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AExtraOptionsCheckV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AExtraOptionsV2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AsmNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>OBJCOPY</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OOCOutputFormat</name>\n                    <version>3</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OCOutputOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OOCOutputFile</name>\n                    <state>dpp-qv.bin</state>\n                </option>\n                <option>\n                    <name>OOCCommandLineProducer</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OOCObjCopyEnable</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CUSTOM</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <extensions></extensions>\n                <cmdline></cmdline>\n                <hasPrio>0</hasPrio>\n            </data>\n        </settings>\n        <settings>\n            <name>BICOMP</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>BUILDACTION</name>\n            <archiveVersion>1</archiveVersion>\n            <data>\n                <prebuild>cmd /c \"if exist $OBJ_DIR$\\qstamp.o del $OBJ_DIR$\\qstamp.o\"</prebuild>\n                <postbuild></postbuild>\n            </data>\n        </settings>\n        <settings>\n            <name>ILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>20</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>IlinkLibIOConfig</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>XLinkMisraHandler</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkInputFileSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOutputFile</name>\n                    <state>dpp-qv.out</state>\n                </option>\n                <option>\n                    <name>IlinkDebugInfoEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkKeepSymbols</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkConfigDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkMapFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogInitialization</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogModule</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogSection</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogVeneer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfOverride</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile</name>\n                    <state>$PROJ_DIR$\\dpp-qv.icf</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFileSlave</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkSuppressDiags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsRem</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsWarn</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsErr</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkWarningsAreErrors</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkUseExtraOptions</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkLowLevelInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAutoLibEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAdditionalLibs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkOverrideProgramEntryLabel</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabelSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabel</name>\n                    <state>__iar_program_start</state>\n                </option>\n                <option>\n                    <name>DoFill</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>FillerByte</name>\n                    <state>0xFF</state>\n                </option>\n                <option>\n                    <name>FillerStart</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>FillerEnd</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>CrcSize</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcAlign</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcPoly</name>\n                    <state>0x11021</state>\n                </option>\n                <option>\n                    <name>CrcCompl</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcBitOrder</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcInitialValue</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>DoCrc</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkBufferedTerminalOutput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkStdoutInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcFullSize</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIElfToolPostProcess</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogAutoLibSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogRedirSymbols</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogUnusedFragments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcReverseByteOrder</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcUseAsInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptInline</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsAllow</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsForce</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptMergeDuplSections</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptUseVfe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptForceVfe</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackAnalysisEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackControlFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkStackCallGraphFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CrcAlgorithm</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcUnitSize</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkThreadsSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogCallGraph</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile_AltDefault</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkHeapSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLocaleSelect</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IARCHIVE</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>IarchiveInputs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IarchiveOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IarchiveOutput</name>\n                    <state>###Unitialized###</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>BILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>Coder</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n    </configuration>\n    <configuration>\n        <name>Release</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>0</debug>\n        <settings>\n            <name>General</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>ExePath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>ObjPath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>ListPath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>GEndianMode</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>Input description</name>\n                    <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n                </option>\n                <option>\n                    <name>Output description</name>\n                    <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n                </option>\n                <option>\n                    <name>GOutputBinary</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCoreOrChip</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelect</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelectSlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RTDescription</name>\n                    <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n                </option>\n                <option>\n                    <name>OGProductVersion</name>\n                    <state>5.11.0.50579</state>\n                </option>\n                <option>\n                    <name>OGLastSavedByProductVersion</name>\n                    <state>7.60.1.11206</state>\n                </option>\n                <option>\n                    <name>GeneralEnableMisra</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVerbose</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGChipSelectEditMenu</name>\n                    <state>EFM32PG1B200F256GM48\tSiliconLaboratories EFM32PG1B200F256GM48</state>\n                </option>\n                <option>\n                    <name>GenLowLevelInterface</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GEndianModeBE</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OGBufferedTerminalOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenStdoutInterface</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>RTConfigPath2</name>\n                    <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n                </option>\n                <option>\n                    <name>GBECoreSlave</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>OGUseCmsis</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsisDspLib</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibThreads</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CoreVariant</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>GFPUDeviceSlave</name>\n                    <state>EFM32PG1B200F256GM48\tSiliconLaboratories EFM32PG1B200F256GM48</state>\n                </option>\n                <option>\n                    <name>FPU2</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>NrRegs</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>NEON</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUCoreSlave2</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>OGCMSISPackSelectDevice</name>\n                </option>\n                <option>\n                    <name>OgLibHeap</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGLibAdditionalLocale</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGPrintfVariant</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>OGPrintfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGScanfVariant</name>\n                    <version>0</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OGScanfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenLocaleTags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>GenLocaleDisplayOnly</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ICCARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>34</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCOptimizationNoSizeConstraints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDefines</name>\n                    <state>NDEBUG</state>\n                    <state>EFM32PG1B200F256GM48</state>\n                </option>\n                <option>\n                    <name>CCPreprocFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocComments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMnemonics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMessages</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDiagSuppress</name>\n                    <state>Pa050</state>\n                </option>\n                <option>\n                    <name>CCDiagRemark</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagWarning</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagError</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCAllowList</name>\n                    <version>1</version>\n                    <state>11111110</state>\n                </option>\n                <option>\n                    <name>CCDebugInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IEndianMode</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCLangConformance</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSignedPlainChar</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRequirePrototypes</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCDiagWarnAreErr</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCompilerRuntimeInfo</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>CCLibConfigHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>PreInclude</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CompilerMisraOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIncludePath2</name>\n                    <state>$PROJ_DIR$\\..</state>\n                    <state>$PROJ_DIR$\\..\\..</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b</state>\n                </option>\n                <option>\n                    <name>CCStdIncCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCodeSection</name>\n                    <state>.text</state>\n                </option>\n                <option>\n                    <name>IProcessorMode2</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevel</name>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>CCOptStrategy</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevelSlave</name>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>CCPosIndRopi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndRwpi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndNoDynInit</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccLang</name>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>IccCDialect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccAllowVLA</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccStaticDestr</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCppInlineSemantics</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccFloatSemantics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCOptStrategySlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCGuardCalls</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccExceptions2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccRTTI2</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>AARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>10</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>AObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>ACaseSensitivity</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacroChars</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnWhat</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnOne</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>ADebug</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AltRegisterNames</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ADefines</name>\n                    <state>ewarm</state>\n                </option>\n                <option>\n                    <name>AList</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AListHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AListing</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Includes</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacDefs</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacExps</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacExec</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OnlyAssed</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MultiLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLengthCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLength</name>\n                    <state>80</state>\n                </option>\n                <option>\n                    <name>TabSpacing</name>\n                    <state>8</state>\n                </option>\n                <option>\n                    <name>AXRef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDefines</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefInternal</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDual</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AOutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsEdit</name>\n                    <state>100</state>\n                </option>\n                <option>\n                    <name>AIgnoreStdInclude</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AUserIncludes</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AExtraOptionsCheckV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AExtraOptionsV2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AsmNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>OBJCOPY</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OOCOutputFormat</name>\n                    <version>3</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OCOutputOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OOCOutputFile</name>\n                    <state>dpp-qv.bin</state>\n                </option>\n                <option>\n                    <name>OOCCommandLineProducer</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OOCObjCopyEnable</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CUSTOM</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <extensions></extensions>\n                <cmdline></cmdline>\n                <hasPrio>0</hasPrio>\n            </data>\n        </settings>\n        <settings>\n            <name>BICOMP</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>BUILDACTION</name>\n            <archiveVersion>1</archiveVersion>\n            <data>\n                <prebuild>cmd /c \"if exist $OBJ_DIR$\\qstamp.o del $OBJ_DIR$\\qstamp.o\"</prebuild>\n                <postbuild></postbuild>\n            </data>\n        </settings>\n        <settings>\n            <name>ILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>20</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>IlinkLibIOConfig</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>XLinkMisraHandler</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkInputFileSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOutputFile</name>\n                    <state>dpp-qv.out</state>\n                </option>\n                <option>\n                    <name>IlinkDebugInfoEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkKeepSymbols</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkConfigDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkMapFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogInitialization</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogModule</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogSection</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogVeneer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfOverride</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile</name>\n                    <state>$PROJ_DIR$\\dpp-qv.icf</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFileSlave</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkSuppressDiags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsRem</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsWarn</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsErr</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkWarningsAreErrors</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkUseExtraOptions</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkLowLevelInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAutoLibEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAdditionalLibs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkOverrideProgramEntryLabel</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabelSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabel</name>\n                    <state>__iar_program_start</state>\n                </option>\n                <option>\n                    <name>DoFill</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>FillerByte</name>\n                    <state>0xFF</state>\n                </option>\n                <option>\n                    <name>FillerStart</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>FillerEnd</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>CrcSize</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcAlign</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcPoly</name>\n                    <state>0x11021</state>\n                </option>\n                <option>\n                    <name>CrcCompl</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcBitOrder</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcInitialValue</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>DoCrc</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkBufferedTerminalOutput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkStdoutInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcFullSize</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIElfToolPostProcess</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogAutoLibSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogRedirSymbols</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogUnusedFragments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcReverseByteOrder</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcUseAsInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptInline</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsAllow</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsForce</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptMergeDuplSections</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptUseVfe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptForceVfe</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackAnalysisEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackControlFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkStackCallGraphFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CrcAlgorithm</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcUnitSize</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkThreadsSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogCallGraph</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile_AltDefault</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkHeapSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLocaleSelect</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IARCHIVE</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>IarchiveInputs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IarchiveOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IarchiveOutput</name>\n                    <state>###Unitialized###</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>BILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>Coder</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n    </configuration>\n    <group>\n        <name>Application</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\bsp.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\bsp.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\dpp.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\main.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\philo.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\qpn_conf.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\include\\qstamp.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\table.c</name>\n        </file>\n    </group>\n    <group>\n        <name>efm32pg1b</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_assert.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_cmu.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_emu.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_gpio.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_system.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\iar\\startup_efm32pg1b.s</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\system_efm32pg1b.c</name>\n        </file>\n    </group>\n    <group>\n        <name>QP</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qepn.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qfn.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qvn\\qvn.c</name>\n        </file>\n    </group>\n    <group>\n        <name>QP_port</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar\\qfn_port.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar\\qvn_port.c</name>\n        </file>\n    </group>\n</project>\n"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/qv/iar/dpp-qv.eww",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<workspace>\n  <project>\n    <path>$WS_DIR$\\dpp-qv.ewp</path>\n  </project>\n  <batchBuild/>\n</workspace>\n\n\n"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/qv/iar/dpp-qv.icf",
    "content": "/*###ICF### Section handled by ICF editor, don't touch! ****/\n/*-Editor annotation file-*/\n/* IcfEditorFile=\"$TOOLKIT_DIR$\\config\\ide\\IcfEditor\\cortex_v1_0.xml\" */\n/*-Specials-*/\ndefine symbol __ICFEDIT_intvec_start__ = 0x00000000;\n/*-Memory Regions-*/\ndefine symbol __ICFEDIT_region_ROM_start__ = 0x00000000;\ndefine symbol __ICFEDIT_region_ROM_end__   = 0x0003FFFF;\ndefine symbol __ICFEDIT_region_RAM_start__ = 0x20000000;\ndefine symbol __ICFEDIT_region_RAM_end__   = 0x20007FFF;\n/*-Sizes-*/\ndefine symbol __ICFEDIT_size_cstack__ = 1024;\ndefine symbol __ICFEDIT_size_heap__   = 0;\n/**** End of ICF editor section. ###ICF###*/\n\ndefine memory mem with size = 4G;\ndefine region ROM_region   = mem:[from __ICFEDIT_region_ROM_start__   to __ICFEDIT_region_ROM_end__];\ndefine region RAM_region   = mem:[from __ICFEDIT_region_RAM_start__   to __ICFEDIT_region_RAM_end__];\n\ndefine block CSTACK    with alignment = 8, size = __ICFEDIT_size_cstack__   { };\ndefine block HEAP      with alignment = 8, size = __ICFEDIT_size_heap__     { };\n\ninitialize by copy { readwrite };\ndo not initialize  { section .noinit };\n\nplace at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };\nplace in ROM_region   { readonly };\nplace at start of RAM_region {block CSTACK }; \nplace in RAM_region   { readwrite, block HEAP  };"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/table.c",
    "content": "/*.$file${.::table.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: dpp.qm\n* File:  ${.::table.c}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::table.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"  /* QP-nano port */\n#include \"bsp.h\"  /* Board Support Package */\n#include \"dpp.h\"  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(\"table\")\n\n/* Active object class -----------------------------------------------------*/\n/*.$declare${AOs::Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table} ...........................................................*/\ntypedef struct Table {\n/* protected: */\n    QActive super;\n\n/* private: */\n    uint8_t fork[N_PHILO];\n    uint8_t isHungry[N_PHILO];\n} Table;\n\n/* protected: */\nstatic QState Table_initial(Table * const me);\nstatic QState Table_active(Table * const me);\nstatic QState Table_serving(Table * const me);\nstatic QState Table_paused(Table * const me);\n/*.$enddecl${AOs::Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Global objects ----------------------------------------------------------*/\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 650U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.5.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Table} ........................................................*/\nstruct Table AO_Table;\n/*.$enddef${AOs::AO_Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n#define RIGHT(n_) ((uint8_t)(((n_) + (N_PHILO - 1U)) % N_PHILO))\n#define LEFT(n_)  ((uint8_t)(((n_) + 1U) % N_PHILO))\n#define FREE      ((uint8_t)0)\n#define USED      ((uint8_t)1)\n\n/*..........................................................................*/\n/*.$define${AOs::Table_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table_ctor} ......................................................*/\nvoid Table_ctor(void) {\n    uint8_t n;\n    Table *me = &AO_Table;\n\n    QActive_ctor(&me->super, Q_STATE_CAST(&Table_initial));\n    for (n = 0U; n < N_PHILO; ++n) {\n        me->fork[n] = FREE;\n        me->isHungry[n] = 0U;\n    }\n}\n/*.$enddef${AOs::Table_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table} ...........................................................*/\n/*.${AOs::Table::SM} .......................................................*/\nstatic QState Table_initial(Table * const me) {\n    /*.${AOs::Table::SM::initial} */\n    uint8_t n;\n    for (n = 0U; n < N_PHILO; ++n) {\n        me->fork[n] = FREE;\n        me->isHungry[n] = 0U;\n        BSP_displayPhilStat(n, \"thinking\");\n    }\n    return Q_TRAN(&Table_serving);\n}\n/*.${AOs::Table::SM::active} ...............................................*/\nstatic QState Table_active(Table * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Table::SM::active::TERMINATE} */\n        case TERMINATE_SIG: {\n            BSP_terminate(0);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::EAT} */\n        case EAT_SIG: {\n            Q_ERROR();\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Table::SM::active::serving} ......................................*/\nstatic QState Table_serving(Table * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Table::SM::active::serving} */\n        case Q_ENTRY_SIG: {\n            uint8_t n;\n            for (n = 0U; n < N_PHILO; ++n) { /* give permissions to eat... */\n                if ((me->isHungry[n] != 0U)\n                    && (me->fork[LEFT(n)] == FREE)\n                    && (me->fork[n] == FREE))\n                {\n                    QActive *philo;\n\n                    me->fork[LEFT(n)] = USED;\n                    me->fork[n] = USED;\n                    philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\n                    QACTIVE_POST(philo, EAT_SIG, n);\n                    me->isHungry[n] = 0U;\n                    BSP_displayPhilStat(n, \"eating  \");\n                }\n            }\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::HUNGRY} */\n        case HUNGRY_SIG: {\n            uint8_t n, m;\n            QActive *philo;\n\n            n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* phil ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n\n            BSP_displayPhilStat(n, \"hungry  \");\n            m = LEFT(n);\n            /*.${AOs::Table::SM::active::serving::HUNGRY::[bothfree]} */\n            if ((me->fork[m] == FREE) && (me->fork[n] == FREE)) {\n                me->fork[m] = USED;\n                me->fork[n] = USED;\n                philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\n                QACTIVE_POST(philo, EAT_SIG, n);\n                BSP_displayPhilStat(n, \"eating  \");\n                status_ = Q_HANDLED();\n            }\n            /*.${AOs::Table::SM::active::serving::HUNGRY::[else]} */\n            else {\n                me->isHungry[n] = 1U;\n                status_ = Q_HANDLED();\n            }\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::DONE} */\n        case DONE_SIG: {\n            uint8_t n, m;\n            QActive *philo;\n\n            n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* phil ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n\n            BSP_displayPhilStat(n, \"thinking\");\n            m = LEFT(n);\n            /* both forks of Phil[n] must be used */\n            Q_ASSERT((me->fork[n] == USED) && (me->fork[m] == USED));\n\n            me->fork[m] = FREE;\n            me->fork[n] = FREE;\n            m = RIGHT(n); /* check the right neighbor */\n\n            if ((me->isHungry[m] != 0U) && (me->fork[m] == FREE)) {\n                me->fork[n] = USED;\n                me->fork[m] = USED;\n                me->isHungry[m] = 0U;\n                philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n                QACTIVE_POST(philo, EAT_SIG, m);\n                BSP_displayPhilStat(m, \"eating  \");\n            }\n            m = LEFT(n); /* check the left neighbor */\n            n = LEFT(m); /* left fork of the left neighbor */\n            if ((me->isHungry[m] != 0U) && (me->fork[n] == FREE)) {\n                me->fork[m] = USED;\n                me->fork[n] = USED;\n                me->isHungry[m] = 0U;\n                philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n                QACTIVE_POST(philo, EAT_SIG, m);\n                BSP_displayPhilStat(m, \"eating  \");\n            }\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::EAT} */\n        case EAT_SIG: {\n            Q_ERROR();\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::PAUSE} */\n        case PAUSE_SIG: {\n            status_ = Q_TRAN(&Table_paused);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Table_active);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Table::SM::active::paused} .......................................*/\nstatic QState Table_paused(Table * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Table::SM::active::paused} */\n        case Q_ENTRY_SIG: {\n            BSP_displayPaused(1U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused} */\n        case Q_EXIT_SIG: {\n            BSP_displayPaused(0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused::SERVE} */\n        case SERVE_SIG: {\n            status_ = Q_TRAN(&Table_serving);\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused::HUNGRY} */\n        case HUNGRY_SIG: {\n            uint8_t n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* philo ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n            me->isHungry[n] = 1U;\n            BSP_displayPhilStat(n, \"hungry  \");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused::DONE} */\n        case DONE_SIG: {\n            uint8_t n, m;\n\n            n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* phil ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n\n            BSP_displayPhilStat(n, \"thinking\");\n            m = LEFT(n);\n            /* both forks of Phil[n] must be used */\n            Q_ASSERT((me->fork[n] == USED) && (me->fork[m] == USED));\n\n            me->fork[m] = FREE;\n            me->fork[n] = FREE;\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Table_active);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${AOs::Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/win32-gui/bsp.c",
    "content": "/*****************************************************************************\n* Product: \"DPP\" example, EFM32-SLSTK3401A, Win32-GUI\n* Last Updated for Version: 6.7.0\n* Date of the Last Update:  2020-01-06\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"dpp.h\"\n#include \"bsp.h\"\n\n#include \"qwin_gui.h\" /* QWIN GUI */\n#include \"resource.h\" /* GUI resource IDs generated by the resource editior */\n\n#include \"safe_std.h\" /* portable \"safe\" <stdio.h>/<string.h> facilities */\n\nQ_DEFINE_THIS_FILE\n\n/* local variables ---------------------------------------------------------*/\nstatic HINSTANCE l_hInst;   /* this application instance */\nstatic HWND      l_hWnd;    /* main window handle */\nstatic LPSTR     l_cmdLine; /* the command line string */\n\nstatic SegmentDisplay   l_philos;   /* SegmentDisplay to show Philo status */\nstatic OwnerDrawnButton l_pauseBtn; /* owner-drawn button */\n\nstatic unsigned  l_rnd;  /* random seed */\n\n/* Local functions ---------------------------------------------------------*/\nstatic LRESULT CALLBACK WndProc(HWND hWnd, UINT iMsg,\n                                WPARAM wParam, LPARAM lParam);\n\n/*..........................................................................*/\n/* thread function for running the application main_gui() */\nstatic DWORD WINAPI appThread(LPVOID par) {\n    (void)par; /* unused parameter */\n    return (DWORD)main_gui(); /* run the QF application */\n}\n\n/*--------------------------------------------------------------------------*/\nint WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst,\n                   LPSTR cmdLine, int iCmdShow)\n{\n    HWND hWnd;\n    MSG  msg;\n\n    (void)hPrevInst; /* unused parameter */\n\n    l_hInst   = hInst;   /* save the application instance */\n    l_cmdLine = cmdLine; /* save the command line string */\n\n    //AllocConsole();\n\n    /* create the main custom dialog window */\n    hWnd = CreateCustDialog(hInst, IDD_APPLICATION, NULL,\n                            &WndProc, \"MY_CLASS\");\n    ShowWindow(hWnd, iCmdShow);  /* show the main window */\n\n    /* enter the message loop... */\n    while (GetMessage(&msg, NULL, 0, 0)) {\n        TranslateMessage(&msg);\n        DispatchMessage(&msg);\n    }\n\n    //FreeConsole();\n    BSP_terminate(0);\n\n    return msg.wParam;\n}\n\n/*..........................................................................*/\nstatic LRESULT CALLBACK WndProc(HWND hWnd, UINT iMsg,\n                                WPARAM wParam, LPARAM lParam)\n{\n    switch (iMsg) {\n\n        /* Perform initialization upon cration of the main dialog window\n        * NOTE: Any child-windows are NOT created yet at this time, so\n        * the GetDlgItem() function can't be used (it will return NULL).\n        */\n        case WM_CREATE: {\n            l_hWnd = hWnd; /* save the window handle */\n\n            /* initialize the owner-drawn buttons...\n            * NOTE: must be done *before* the first drawing of the buttons,\n            * so WM_INITDIALOG is too late.\n            */\n            OwnerDrawnButton_init(&l_pauseBtn, IDC_PAUSE,\n                LoadBitmap(l_hInst, MAKEINTRESOURCE(IDB_BTN_UP)),\n                LoadBitmap(l_hInst, MAKEINTRESOURCE(IDB_BTN_DWN)),\n                LoadCursor(NULL, IDC_HAND));\n            return 0;\n        }\n\n        /* Perform initialization after all child windows have been created */\n        case WM_INITDIALOG: {\n\n            SegmentDisplay_init(&l_philos,\n                     N_PHILO,          /* N_PHILO \"segments\" for the Philos */\n                     3U);         /* 3 bitmaps (for thinking/hungry/eating) */\n            SegmentDisplay_initSegment(&l_philos, 0U, IDC_PHILO_0);\n            SegmentDisplay_initSegment(&l_philos, 1U, IDC_PHILO_1);\n            SegmentDisplay_initSegment(&l_philos, 2U, IDC_PHILO_2);\n            SegmentDisplay_initSegment(&l_philos, 3U, IDC_PHILO_3);\n            SegmentDisplay_initSegment(&l_philos, 4U, IDC_PHILO_4);\n            SegmentDisplay_initBitmap(&l_philos,\n                 0U, LoadBitmap(l_hInst, MAKEINTRESOURCE(IDB_THINKING)));\n            SegmentDisplay_initBitmap(&l_philos,\n                 1U, LoadBitmap(l_hInst, MAKEINTRESOURCE(IDB_HUNGRY)));\n            SegmentDisplay_initBitmap(&l_philos,\n                 2U, LoadBitmap(l_hInst, MAKEINTRESOURCE(IDB_EATING)));\n\n            /* --> QP: spawn the application thread to run main_gui() */\n            Q_ALLEGE(CreateThread(NULL, 0, &appThread, NULL, 0, NULL)\n                     != (HANDLE)0);\n            return 0;\n        }\n\n        case WM_DESTROY: {\n            PostQuitMessage(0);\n            return 0;\n        }\n\n        /* commands from regular buttons and menus... */\n        case WM_COMMAND: {\n            SetFocus(hWnd);\n            switch (wParam) {\n                case IDOK:\n                case IDCANCEL: {\n                    PostQuitMessage(0);\n                    break;\n                }\n            }\n            return 0;\n        }\n\n        /* owner-drawn buttons... */\n        case WM_DRAWITEM: {\n            LPDRAWITEMSTRUCT pdis = (LPDRAWITEMSTRUCT)lParam;\n            switch (pdis->CtlID) {\n                case IDC_PAUSE: { /* PAUSE owner-drawn button */\n                    switch (OwnerDrawnButton_draw(&l_pauseBtn,pdis)) {\n                        case BTN_DEPRESSED: {\n                            QACTIVE_POST((QActive *)&AO_Table, PAUSE_SIG, 0U);\n                            break;\n                        }\n                        case BTN_RELEASED: {\n                            QACTIVE_POST((QActive *)&AO_Table, SERVE_SIG, 0U);\n                            break;\n                        }\n                        default: {\n                            break;\n                        }\n                    }\n                    break;\n                }\n            }\n            return 0;\n        }\n\n        /* mouse input... */\n        case WM_MOUSEWHEEL: {\n            return 0;\n        }\n\n        /* keyboard input... */\n        case WM_KEYDOWN: {\n            return 0;\n        }\n    }\n    return DefWindowProc(hWnd, iMsg, wParam, lParam) ;\n}\n\n/*--------------------------------------------------------------------------*/\nvoid QF_onStartup(void) {\n    QF_setTickRate(BSP_TICKS_PER_SEC, 30U); /* set the desired tick rate */\n}\n/*..........................................................................*/\nvoid QF_onCleanup(void) {\n}\n/*..........................................................................*/\nvoid QF_onClockTickISR(void) {\n    QF_tickXISR(0U); /* perform the QF-nano clock tick processing */\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const * const module, int_t loc) {\n    char message[80];\n    QF_stop(); /* stop ticking */\n    SNPRINTF_S(message, Q_DIM(message) - 1,\n               \"Assertion failed in module %s location %d\", module, loc);\n    MessageBox(l_hWnd, message, \"!!! ASSERTION !!!\",\n               MB_OK | MB_ICONEXCLAMATION | MB_APPLMODAL);\n\n    PostQuitMessage(-1);\n}\n\n/*..........................................................................*/\nvoid BSP_init(void) {\n}\n/*..........................................................................*/\nvoid BSP_terminate(int16_t result) {\n    QF_stop();\n\n    /* cleanup all QWIN resources... */\n    OwnerDrawnButton_xtor(&l_pauseBtn); /* cleanup the l_pauseBtn resources */\n    SegmentDisplay_xtor(&l_philos);     /* cleanup the l_philos resources */\n\n    /* end the main dialog */\n    EndDialog(l_hWnd, result);\n}\n/*..........................................................................*/\nvoid BSP_displayPhilStat(uint8_t n, char const *stat) {\n    UINT bitmapNum = 0;\n\n    Q_REQUIRE(n < N_PHILO);\n\n    switch (stat[0]) {\n        case 't': bitmapNum = 0U; break;\n        case 'h': bitmapNum = 1U; break;\n        case 'e': bitmapNum = 2U; break;\n        default: Q_ERROR();  break;\n    }\n    /* set the \"segment\" # n to the bitmap # 'bitmapNum' */\n    SegmentDisplay_setSegment(&l_philos, (UINT)n, bitmapNum);\n}\n/*..........................................................................*/\nvoid BSP_displayPaused(uint8_t paused) {\n    char buf[16];\n    LoadString(l_hInst,\n        (paused != 0U) ? IDS_PAUSED : IDS_RUNNING, buf, Q_DIM(buf));\n    SetDlgItemText(l_hWnd, IDC_PAUSED, buf);\n}\n/*..........................................................................*/\nuint32_t BSP_random(void) {  /* a very cheap pseudo-random-number generator */\n    /* \"Super-Duper\" Linear Congruential Generator (LCG)\n    * LCG(2^32, 3*7*11*13*23, 0, seed)\n    */\n    l_rnd = l_rnd * (3U*7U*11U*13U*23U);\n    return l_rnd >> 8;\n}\n/*..........................................................................*/\nvoid BSP_randomSeed(uint32_t seed) {\n    l_rnd = seed;\n}\n"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/win32-gui/dpp-gui.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio Express 2013 for Windows Desktop\nVisualStudioVersion = 12.0.21005.1\nMinimumVisualStudioVersion = 10.0.40219.1\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"dpp-gui\", \"dpp-gui.vcxproj\", \"{79027B25-0949-4F66-9765-4EFBCBBEFB94}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{79027B25-0949-4F66-9765-4EFBCBBEFB94}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{79027B25-0949-4F66-9765-4EFBCBBEFB94}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{79027B25-0949-4F66-9765-4EFBCBBEFB94}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{79027B25-0949-4F66-9765-4EFBCBBEFB94}.Release|Win32.Build.0 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/win32-gui/dpp-gui.vcxproj",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"12.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <ItemGroup Label=\"ProjectConfigurations\">\n    <ProjectConfiguration Include=\"Debug|Win32\">\n      <Configuration>Debug</Configuration>\n      <Platform>Win32</Platform>\n    </ProjectConfiguration>\n    <ProjectConfiguration Include=\"Release|Win32\">\n      <Configuration>Release</Configuration>\n      <Platform>Win32</Platform>\n    </ProjectConfiguration>\n  </ItemGroup>\n  <PropertyGroup Label=\"Globals\">\n    <ProjectGuid>{79027B25-0949-4F66-9765-4EFBCBBEFB94}</ProjectGuid>\n    <RootNamespace>dpp-gui</RootNamespace>\n    <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>\n  </PropertyGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.Default.props\" />\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\" Label=\"Configuration\">\n    <ConfigurationType>Application</ConfigurationType>\n    <UseOfMfc>false</UseOfMfc>\n    <CharacterSet>NotSet</CharacterSet>\n    <PlatformToolset>v142</PlatformToolset>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\" Label=\"Configuration\">\n    <ConfigurationType>Application</ConfigurationType>\n    <UseOfMfc>false</UseOfMfc>\n    <CharacterSet>NotSet</CharacterSet>\n    <PlatformToolset>v142</PlatformToolset>\n  </PropertyGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.props\" />\n  <ImportGroup Label=\"ExtensionSettings\">\n  </ImportGroup>\n  <ImportGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\" Label=\"PropertySheets\">\n    <Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n    <Import Project=\"$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props\" />\n  </ImportGroup>\n  <ImportGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\" Label=\"PropertySheets\">\n    <Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n    <Import Project=\"$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props\" />\n  </ImportGroup>\n  <PropertyGroup Label=\"UserMacros\" />\n  <PropertyGroup>\n    <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>\n    <OutDir Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">$(Configuration)\\</OutDir>\n    <IntDir Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">$(Configuration)\\</IntDir>\n    <EnableManagedIncrementalBuild Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">false</EnableManagedIncrementalBuild>\n    <LinkIncremental Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">false</LinkIncremental>\n    <OutDir Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">$(Configuration)\\</OutDir>\n    <IntDir Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">$(Configuration)\\</IntDir>\n    <EnableManagedIncrementalBuild Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">false</EnableManagedIncrementalBuild>\n    <LinkIncremental Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">false</LinkIncremental>\n  </PropertyGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">\n    <Midl>\n      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <MkTypLibCompatible>true</MkTypLibCompatible>\n      <SuppressStartupBanner>true</SuppressStartupBanner>\n      <TargetEnvironment>Win32</TargetEnvironment>\n      <TypeLibraryName>.\\Release/dpp-gui.tlb</TypeLibraryName>\n      <HeaderFileName>\n      </HeaderFileName>\n    </Midl>\n    <ClCompile>\n      <Optimization>MaxSpeed</Optimization>\n      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>\n      <AdditionalIncludeDirectories>.;..;../../../../include;../../../../ports/win32-qv</AdditionalIncludeDirectories>\n      <PreprocessorDefinitions>QWIN_GUI;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <StringPooling>false</StringPooling>\n      <ExceptionHandling>\n      </ExceptionHandling>\n      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\n      <FunctionLevelLinking>true</FunctionLevelLinking>\n      <PrecompiledHeaderOutputFile>\n      </PrecompiledHeaderOutputFile>\n      <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>\n      <ObjectFileName>$(IntDir)</ObjectFileName>\n      <ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName>\n      <WarningLevel>Level3</WarningLevel>\n      <SuppressStartupBanner>true</SuppressStartupBanner>\n      <CompileAs>Default</CompileAs>\n    </ClCompile>\n    <ResourceCompile>\n      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <Culture>0x0409</Culture>\n    </ResourceCompile>\n    <Link>\n      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\n      <OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>\n      <SuppressStartupBanner>true</SuppressStartupBanner>\n      <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n      <SubSystem>Windows</SubSystem>\n      <RandomizedBaseAddress>false</RandomizedBaseAddress>\n      <DataExecutionPrevention>\n      </DataExecutionPrevention>\n      <TargetMachine>MachineX86</TargetMachine>\n    </Link>\n    <Bscmake>\n      <SuppressStartupBanner>true</SuppressStartupBanner>\n      <OutputFile>.\\Release/dpp-gui.bsc</OutputFile>\n    </Bscmake>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">\n    <Midl>\n      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <MkTypLibCompatible>true</MkTypLibCompatible>\n      <SuppressStartupBanner>true</SuppressStartupBanner>\n      <TargetEnvironment>Win32</TargetEnvironment>\n      <TypeLibraryName>.\\Debug/dpp-gui.tlb</TypeLibraryName>\n      <HeaderFileName>\n      </HeaderFileName>\n    </Midl>\n    <ClCompile>\n      <Optimization>Disabled</Optimization>\n      <AdditionalIncludeDirectories>.;..;../../../../include;../../../../ports/win32-qv</AdditionalIncludeDirectories>\n      <PreprocessorDefinitions>QWIN_GUI;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <StringPooling>false</StringPooling>\n      <ExceptionHandling>\n      </ExceptionHandling>\n      <BasicRuntimeChecks>Default</BasicRuntimeChecks>\n      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\n      <PrecompiledHeaderOutputFile>\n      </PrecompiledHeaderOutputFile>\n      <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>\n      <ObjectFileName>$(IntDir)</ObjectFileName>\n      <ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName>\n      <BrowseInformation>true</BrowseInformation>\n      <WarningLevel>Level3</WarningLevel>\n      <SuppressStartupBanner>true</SuppressStartupBanner>\n      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\n      <CompileAs>Default</CompileAs>\n      <DisableSpecificWarnings>\n      </DisableSpecificWarnings>\n    </ClCompile>\n    <ResourceCompile>\n      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <Culture>0x0409</Culture>\n    </ResourceCompile>\n    <Link>\n      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\n      <OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>\n      <SuppressStartupBanner>true</SuppressStartupBanner>\n      <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n      <GenerateDebugInformation>true</GenerateDebugInformation>\n      <GenerateMapFile>false</GenerateMapFile>\n      <MapFileName>\n      </MapFileName>\n      <SubSystem>Windows</SubSystem>\n      <RandomizedBaseAddress>false</RandomizedBaseAddress>\n      <DataExecutionPrevention>\n      </DataExecutionPrevention>\n      <TargetMachine>MachineX86</TargetMachine>\n    </Link>\n    <Bscmake>\n      <SuppressStartupBanner>true</SuppressStartupBanner>\n      <OutputFile>.\\Debug/dpp-gui.bsc</OutputFile>\n    </Bscmake>\n  </ItemDefinitionGroup>\n  <ItemGroup>\n    <None Include=\"Res\\BTN_DWN.bmp\" />\n    <None Include=\"Res\\BTN_UP.bmp\" />\n    <None Include=\"Res\\eating.bmp\" />\n    <None Include=\"Res\\hungry.bmp\" />\n    <None Include=\"Res\\qp.ico\" />\n    <None Include=\"Res\\thinking.bmp\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ClCompile Include=\"..\\..\\..\\..\\ports\\win32-qv\\qfn_win32.c\" />\n    <ClCompile Include=\"..\\..\\..\\..\\ports\\win32-qv\\qwin_gui.c\" />\n    <ClCompile Include=\"..\\..\\..\\..\\src\\qfn\\qepn.c\" />\n    <ClCompile Include=\"..\\main.c\" />\n    <ClCompile Include=\"..\\philo.c\" />\n    <ClCompile Include=\"..\\table.c\" />\n    <ClCompile Include=\"bsp.c\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ResourceCompile Include=\"Resource.rc\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ClInclude Include=\"..\\..\\..\\..\\ports\\win32-qv\\qfn_port.h\" />\n    <ClInclude Include=\"..\\..\\..\\..\\ports\\win32-qv\\qwin_gui.h\" />\n    <ClInclude Include=\"..\\bsp.h\" />\n    <ClInclude Include=\"..\\dpp.h\" />\n    <ClInclude Include=\"..\\qpn_conf.h\" />\n    <ClInclude Include=\"resource.h\" />\n  </ItemGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\" />\n  <ImportGroup Label=\"ExtensionTargets\">\n  </ImportGroup>\n</Project>"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/win32-gui/dpp-gui.vcxproj.filters",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <ItemGroup>\n    <None Include=\"Res\\hungry.bmp\">\n      <Filter>Res</Filter>\n    </None>\n    <None Include=\"Res\\eating.bmp\">\n      <Filter>Res</Filter>\n    </None>\n    <None Include=\"Res\\qp.ico\">\n      <Filter>Res</Filter>\n    </None>\n    <None Include=\"Res\\thinking.bmp\">\n      <Filter>Res</Filter>\n    </None>\n    <None Include=\"Res\\BTN_UP.bmp\">\n      <Filter>Res</Filter>\n    </None>\n    <None Include=\"Res\\BTN_DWN.bmp\">\n      <Filter>Res</Filter>\n    </None>\n  </ItemGroup>\n  <ItemGroup>\n    <Filter Include=\"Res\">\n      <UniqueIdentifier>{382909e6-fb4e-4829-941e-d3461d9ce146}</UniqueIdentifier>\n    </Filter>\n    <Filter Include=\"QP\">\n      <UniqueIdentifier>{cead428d-5be7-440c-b491-936bfc2a36a3}</UniqueIdentifier>\n    </Filter>\n  </ItemGroup>\n  <ItemGroup>\n    <ClCompile Include=\"bsp.c\" />\n    <ClCompile Include=\"..\\main.c\" />\n    <ClCompile Include=\"..\\philo.c\" />\n    <ClCompile Include=\"..\\table.c\" />\n    <ClCompile Include=\"..\\..\\..\\..\\ports\\win32-qv\\qfn_win32.c\">\n      <Filter>QP</Filter>\n    </ClCompile>\n    <ClCompile Include=\"..\\..\\..\\..\\ports\\win32-qv\\qwin_gui.c\" />\n    <ClCompile Include=\"..\\..\\..\\..\\src\\qfn\\qepn.c\">\n      <Filter>QP</Filter>\n    </ClCompile>\n  </ItemGroup>\n  <ItemGroup>\n    <ResourceCompile Include=\"Resource.rc\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ClInclude Include=\"resource.h\" />\n    <ClInclude Include=\"..\\bsp.h\" />\n    <ClInclude Include=\"..\\dpp.h\" />\n    <ClInclude Include=\"..\\qpn_conf.h\" />\n    <ClInclude Include=\"..\\..\\..\\..\\ports\\win32-qv\\qfn_port.h\">\n      <Filter>QP</Filter>\n    </ClInclude>\n    <ClInclude Include=\"..\\..\\..\\..\\ports\\win32-qv\\qwin_gui.h\" />\n  </ItemGroup>\n</Project>"
  },
  {
    "path": "examples/arm-cm/dpp_efm32-slstk3401a/win32-gui/resource.h",
    "content": "//{{NO_DEPENDENCIES}}\n// Microsoft Visual C++ generated include file.\n// Used by Resource.rc\n//\n#define IDI_QP                          2\n#define IDD_APPLICATION                 101\n#define IDB_THINKING                    134\n#define IDB_EATING                      135\n#define IDB_HUNGRY                      136\n#define IDB_BTN_UP                      137\n#define IDB_BTN_DWN                     138\n#define IDC_PHILO_0                     1000\n#define IDC_PHILO_1                     1001\n#define IDC_PHILO_2                     1002\n#define IDC_PHILO_3                     1003\n#define IDC_PHILO_4                     1004\n#define IDC_PAUSE                       1006\n#define IDC_PAUSED                      1009\n#define IDS_APP_TITLE                   40000\n#define IDS_PAUSED                      40001\n#define IDS_RUNNING                     40002\n\n// Next default values for new objects\n//\n#ifdef APSTUDIO_INVOKED\n#ifndef APSTUDIO_READONLY_SYMBOLS\n#define _APS_NEXT_RESOURCE_VALUE        112\n#define _APS_NEXT_COMMAND_VALUE         40001\n#define _APS_NEXT_CONTROL_VALUE         1002\n#define _APS_NEXT_SYMED_VALUE           123\n#endif\n#endif\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/README.txt",
    "content": "About this Example\n==================\nThis directory contains the simple DPP QP-nano example application for\nthe EK-TM4C123GXL board (TivaC LauchPad). This directory contains portable\ncode that should compile with any C compiler.\n\nThe sub-directories contain the Board Support Packages (BSPs) for the\npreemptive QK-nano kernel (sub-directory qk), the cooperative QV kernel\n(sub-directory qv), and the Win32-QV emulation (Windows).\n\nThe native kernels (QK-nano and QV-nano) further provide code and project\nfiles for the particular ARM toolchains, such as ARM (MDK-ARM), GNU, and IAR.\n\nPlease refer to the README files in the sub-directories for instructions\nhow to use and customize the example to your needs.\n\n\nSupport Code for EK-TM4C123GXL Board\n====================================\nThe directory qpn\\3rd_party\\ek-tm4c123gxl contains the CMSIS-compliant\ndevice code for the TM4C123GH6PM MCU. Please see the README.txt file in\nthis folder for more details.\n\n\nWin32 Emulation\n===============\nThe sub-directory win32-qv provides the emulation of the example on Windows\nas a GUI application. The sub-directory contains the Makefile for the\nMinGW toolset and a Visual Studio solution file (dpp-gui.sln) for Visual C++.\n\nThe Win32 emulation uses exactly the same code as the embedded board and\ndiffers only in the Board Support Package (bsp.c). This example demonstrates\nthe \"dual targeting\" development approach, where most of the embedded code\nis developed on the desktop machine (Windows), but is intended for a deeply\nembedded target (TivaC LauchPad here).\n\n\nLint Support\n============\nThe sub-directory lint provides the scripts and configuration files for\nrunning the PC-Lint static analysis tool over the application code. Please\nread the README.txt file in the lint directory for more information."
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/README.url",
    "content": "[InternetShortcut]\nURL=http://www.state-machine.com/qpn/arm-cm_dpp_ek-tm4c123gxl.html\nIconFile=http://www.state-machine.com/qp.ico\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/bsp.h",
    "content": "/*****************************************************************************\n* Product: DPP example\n* Last Updated for Version: 5.4.0\n* Date of the Last Update:  2015-03-07\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* Web  : www.state-machine.com\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BSP_H\n#define BSP_H\n\n#define BSP_TICKS_PER_SEC    100U\n\nvoid BSP_init(void);\nvoid BSP_displayPaused(uint8_t paused);\nvoid BSP_displayPhilStat(uint8_t n, char_t const *stat);\nvoid BSP_terminate(int16_t result);\n\nvoid BSP_randomSeed(uint32_t seed);   /* random seed */\nuint32_t BSP_random(void);            /* pseudo-random generator */\n\n#endif /* BSP_H */\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/dpp.h",
    "content": "/*.$file${.::dpp.h} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: dpp.qm\n* File:  ${.::dpp.h}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::dpp.h} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#ifndef DPP_H\n#define DPP_H\n\nenum DPPSignals {\n    EAT_SIG = Q_USER_SIG, /* published by Table to let a philosopher eat */\n    DONE_SIG,             /* published by Philosopher when done eating */\n    PAUSE_SIG,            /* published by BSP to pause the application */\n    SERVE_SIG,            /* published by BSP to pause the application */\n    TERMINATE_SIG,        /* published by BSP to terminate the application */\n    HUNGRY_SIG,           /* posted direclty to Table from hungry Philo */\n    MAX_SIG               /* the last signal */\n};\n\n/* number of philosophers */\n#define N_PHILO ((uint8_t)5)\n#define PHILO_0_PRIO 1\n\n/*.$declare${AOs::AO_Philo0} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo0;\n/*.$enddecl${AOs::AO_Philo0} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo1} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo1;\n/*.$enddecl${AOs::AO_Philo1} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo2} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo2;\n/*.$enddecl${AOs::AO_Philo2} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo3} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo3;\n/*.$enddecl${AOs::AO_Philo3} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo4} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo4;\n/*.$enddecl${AOs::AO_Philo4} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Table AO_Table;\n/*.$enddecl${AOs::AO_Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/*.$declare${AOs::Philo_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo_ctor} ......................................................*/\nvoid Philo_ctor(void);\n/*.$enddecl${AOs::Philo_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::Table_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table_ctor} ......................................................*/\nvoid Table_ctor(void);\n/*.$enddecl${AOs::Table_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n#endif /* DPP_H */\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/dpp.qm",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<model version=\"4.6.0\" links=\"1\">\n <documentation>Dining Philosopher Problem example with QActive</documentation>\n <!--${qpn}-->\n <framework name=\"qpn\"/>\n <!--${AOs}-->\n <package name=\"AOs\" stereotype=\"0x02\">\n  <!--${AOs::Philo}-->\n  <class name=\"Philo\" superclass=\"qpn::QActive\">\n   <!--${AOs::Philo::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${AOs::Philo::SM::initial}-->\n    <initial target=\"../1\">\n     <initial_glyph conn=\"2,3,5,1,20,5,-3\">\n      <action box=\"0,-2,6,2\"/>\n     </initial_glyph>\n    </initial>\n    <!--${AOs::Philo::SM::thinking}-->\n    <state name=\"thinking\">\n     <entry>QActive_armX(&amp;me-&gt;super, 0U, THINK_TIME, 0U);</entry>\n     <exit>QActive_disarmX(&amp;me-&gt;super, 0U);</exit>\n     <!--${AOs::Philo::SM::thinking::Q_TIMEOUT}-->\n     <tran trig=\"Q_TIMEOUT\" target=\"../../2\">\n      <tran_glyph conn=\"2,12,3,1,20,13,-3\">\n       <action box=\"0,-2,6,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Philo::SM::thinking::EAT, DONE}-->\n     <tran trig=\"EAT, DONE\">\n      <action>Q_ERROR(); /* these events should never arrive in this state */</action>\n      <tran_glyph conn=\"2,17,3,-1,13\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,5,17,16\">\n      <entry box=\"1,2,5,2\"/>\n      <exit box=\"1,4,6,2\"/>\n     </state_glyph>\n    </state>\n    <!--${AOs::Philo::SM::hungry}-->\n    <state name=\"hungry\">\n     <entry>QACTIVE_POST(&amp;AO_Table, HUNGRY_SIG, me-&gt;super.prio);</entry>\n     <!--${AOs::Philo::SM::hungry::EAT}-->\n     <tran trig=\"EAT\" target=\"../../3\">\n      <tran_glyph conn=\"2,30,3,1,20,13,-3\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Philo::SM::hungry::DONE}-->\n     <tran trig=\"DONE\">\n      <action>Q_ERROR(); /* this event should never arrive in this state */</action>\n      <tran_glyph conn=\"2,36,3,-1,14\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,23,17,16\">\n      <entry box=\"1,2,5,2\"/>\n     </state_glyph>\n    </state>\n    <!--${AOs::Philo::SM::eating}-->\n    <state name=\"eating\">\n     <entry>QActive_armX(&amp;me-&gt;super, 0U, EAT_TIME, 0U);</entry>\n     <exit>QActive_disarmX(&amp;me-&gt;super, 0U);\nQACTIVE_POST(QF_ACTIVE_CAST(&amp;AO_Table), DONE_SIG, me-&gt;super.prio);</exit>\n     <!--${AOs::Philo::SM::eating::Q_TIMEOUT}-->\n     <tran trig=\"Q_TIMEOUT\" target=\"../../1\">\n      <tran_glyph conn=\"2,51,3,1,22,-41,-5\">\n       <action box=\"0,-2,6,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Philo::SM::eating::EAT, DONE}-->\n     <tran trig=\"EAT, DONE\">\n      <action>Q_ERROR(); /* these events should never arrive in this state */</action>\n      <tran_glyph conn=\"2,55,3,-1,13\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,41,17,18\">\n      <entry box=\"1,2,5,2\"/>\n      <exit box=\"1,4,5,2\"/>\n     </state_glyph>\n    </state>\n    <state_diagram size=\"37,61\"/>\n   </statechart>\n  </class>\n  <!--${AOs::Table}-->\n  <class name=\"Table\" superclass=\"qpn::QActive\">\n   <!--${AOs::Table::fork[N_PHILO]}-->\n   <attribute name=\"fork[N_PHILO]\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Table::isHungry[N_PHILO]}-->\n   <attribute name=\"isHungry[N_PHILO]\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Table::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${AOs::Table::SM::initial}-->\n    <initial target=\"../1/2\">\n     <action>uint8_t n;\nfor (n = 0U; n &lt; N_PHILO; ++n) {\n    me-&gt;fork[n] = FREE;\n    me-&gt;isHungry[n] = 0U;\n    BSP_displayPhilStat(n, &quot;thinking&quot;);\n}</action>\n     <initial_glyph conn=\"3,3,5,1,44,18,-9\">\n      <action box=\"0,-2,6,2\"/>\n     </initial_glyph>\n    </initial>\n    <!--${AOs::Table::SM::active}-->\n    <state name=\"active\">\n     <!--${AOs::Table::SM::active::TERMINATE}-->\n     <tran trig=\"TERMINATE\">\n      <action>BSP_terminate(0);</action>\n      <tran_glyph conn=\"2,11,3,-1,14\">\n       <action box=\"0,-2,11,4\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Table::SM::active::EAT}-->\n     <tran trig=\"EAT\">\n      <action>Q_ERROR();</action>\n      <tran_glyph conn=\"2,15,3,-1,14\">\n       <action box=\"0,-2,10,4\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Table::SM::active::serving}-->\n     <state name=\"serving\">\n      <entry brief=\"give pending permitions to eat\">uint8_t n;\nfor (n = 0U; n &lt; N_PHILO; ++n) { /* give permissions to eat... */\n    if ((me-&gt;isHungry[n] != 0U)\n        &amp;&amp; (me-&gt;fork[LEFT(n)] == FREE)\n        &amp;&amp; (me-&gt;fork[n] == FREE))\n    {\n        QActive *philo;\n\n        me-&gt;fork[LEFT(n)] = USED;\n        me-&gt;fork[n] = USED;\n        philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\n        QACTIVE_POST(philo, EAT_SIG, n);\n        me-&gt;isHungry[n] = 0U;\n        BSP_displayPhilStat(n, &quot;eating  &quot;);\n    }\n}</entry>\n      <!--${AOs::Table::SM::active::serving::HUNGRY}-->\n      <tran trig=\"HUNGRY\">\n       <action>uint8_t n, m;\nQActive *philo;\n\nn = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* phil ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\n\nBSP_displayPhilStat(n, &quot;hungry  &quot;);\nm = LEFT(n);</action>\n       <!--${AOs::Table::SM::active::serving::HUNGRY::[bothfree]}-->\n       <choice>\n        <guard brief=\"both free\">(me-&gt;fork[m] == FREE) &amp;&amp; (me-&gt;fork[n] == FREE)</guard>\n        <action>me-&gt;fork[m] = USED;\nme-&gt;fork[n] = USED;\nphilo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\nQACTIVE_POST(philo, EAT_SIG, n);\nBSP_displayPhilStat(n, &quot;eating  &quot;);</action>\n        <choice_glyph conn=\"19,26,5,-1,10\">\n         <action box=\"1,0,10,2\"/>\n        </choice_glyph>\n       </choice>\n       <!--${AOs::Table::SM::active::serving::HUNGRY::[else]}-->\n       <choice>\n        <guard>else</guard>\n        <action>me-&gt;isHungry[n] = 1U;</action>\n        <choice_glyph conn=\"19,26,4,-1,5,10\">\n         <action box=\"1,5,6,2\"/>\n        </choice_glyph>\n       </choice>\n       <tran_glyph conn=\"4,26,3,-1,15\">\n        <action box=\"0,-2,8,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::serving::DONE}-->\n      <tran trig=\"DONE\">\n       <action>uint8_t n, m;\nQActive *philo;\n\nn = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* phil ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\n\nBSP_displayPhilStat(n, &quot;thinking&quot;);\nm = LEFT(n);\n/* both forks of Phil[n] must be used */\nQ_ASSERT((me-&gt;fork[n] == USED) &amp;&amp; (me-&gt;fork[m] == USED));\n\nme-&gt;fork[m] = FREE;\nme-&gt;fork[n] = FREE;\nm = RIGHT(n); /* check the right neighbor */\n\nif ((me-&gt;isHungry[m] != 0U) &amp;&amp; (me-&gt;fork[m] == FREE)) {\n    me-&gt;fork[n] = USED;\n    me-&gt;fork[m] = USED;\n    me-&gt;isHungry[m] = 0U;\n    philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n    QACTIVE_POST(philo, EAT_SIG, m);\n    BSP_displayPhilStat(m, &quot;eating  &quot;);\n}\nm = LEFT(n); /* check the left neighbor */\nn = LEFT(m); /* left fork of the left neighbor */\nif ((me-&gt;isHungry[m] != 0U) &amp;&amp; (me-&gt;fork[n] == FREE)) {\n    me-&gt;fork[m] = USED;\n    me-&gt;fork[n] = USED;\n    me-&gt;isHungry[m] = 0U;\n    philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n    QACTIVE_POST(philo, EAT_SIG, m);\n    BSP_displayPhilStat(m, &quot;eating  &quot;);\n}</action>\n       <tran_glyph conn=\"4,34,3,-1,15\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::serving::EAT}-->\n      <tran trig=\"EAT\">\n       <action>Q_ERROR();</action>\n       <tran_glyph conn=\"4,37,3,-1,15\">\n        <action box=\"0,-2,12,4\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::serving::PAUSE}-->\n      <tran trig=\"PAUSE\" target=\"../../3\">\n       <tran_glyph conn=\"4,41,3,1,37,6,-3\">\n        <action box=\"0,-2,7,2\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"4,19,34,24\">\n       <entry box=\"1,2,27,2\"/>\n      </state_glyph>\n     </state>\n     <!--${AOs::Table::SM::active::paused}-->\n     <state name=\"paused\">\n      <entry>BSP_displayPaused(1U);</entry>\n      <exit>BSP_displayPaused(0U);</exit>\n      <!--${AOs::Table::SM::active::paused::SERVE}-->\n      <tran trig=\"SERVE\" target=\"../../2\">\n       <tran_glyph conn=\"4,57,3,1,39,-20,-5\">\n        <action box=\"0,-2,7,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::paused::HUNGRY}-->\n      <tran trig=\"HUNGRY\">\n       <action>uint8_t n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* philo ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\nme-&gt;isHungry[n] = 1U;\nBSP_displayPhilStat(n, &quot;hungry  &quot;);</action>\n       <tran_glyph conn=\"4,60,3,-1,15\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::paused::DONE}-->\n      <tran trig=\"DONE\">\n       <action>uint8_t n, m;\n\nn = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* phil ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\n\nBSP_displayPhilStat(n, &quot;thinking&quot;);\nm = LEFT(n);\n/* both forks of Phil[n] must be used */\nQ_ASSERT((me-&gt;fork[n] == USED) &amp;&amp; (me-&gt;fork[m] == USED));\n\nme-&gt;fork[m] = FREE;\nme-&gt;fork[n] = FREE;</action>\n       <tran_glyph conn=\"4,63,3,-1,15\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"4,45,34,20\">\n       <entry box=\"1,2,18,4\"/>\n       <exit box=\"1,6,18,4\"/>\n      </state_glyph>\n     </state>\n     <state_glyph node=\"2,5,43,62\"/>\n    </state>\n    <state_diagram size=\"49,69\"/>\n   </statechart>\n  </class>\n  <!--${AOs::AO_Philo0}-->\n  <attribute name=\"AO_Philo0\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo1}-->\n  <attribute name=\"AO_Philo1\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo2}-->\n  <attribute name=\"AO_Philo2\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo3}-->\n  <attribute name=\"AO_Philo3\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo4}-->\n  <attribute name=\"AO_Philo4\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Table}-->\n  <attribute name=\"AO_Table\" type=\"struct Table\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::Philo_ctor}-->\n  <operation name=\"Philo_ctor\" type=\"void\" visibility=\"0x00\" properties=\"0x00\">\n   <code>QActive_ctor(&amp;AO_Philo0.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo1.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo2.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo3.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo4.super, Q_STATE_CAST(&amp;Philo_initial));\nBSP_randomSeed(123U);</code>\n  </operation>\n  <!--${AOs::Table_ctor}-->\n  <operation name=\"Table_ctor\" type=\"void\" visibility=\"0x00\" properties=\"0x00\">\n   <code>uint8_t n;\nTable *me = &amp;AO_Table;\n\nQActive_ctor(&amp;me-&gt;super, Q_STATE_CAST(&amp;Table_initial));\nfor (n = 0U; n &lt; N_PHILO; ++n) {\n    me-&gt;fork[n] = FREE;\n    me-&gt;isHungry[n] = 0U;\n}</code>\n  </operation>\n </package>\n <!--${.}-->\n <directory name=\".\">\n  <!--${.::dpp.h}-->\n  <file name=\"dpp.h\">\n   <text>#ifndef DPP_H\n#define DPP_H\n\nenum DPPSignals {\n    EAT_SIG = Q_USER_SIG, /* published by Table to let a philosopher eat */\n    DONE_SIG,             /* published by Philosopher when done eating */\n    PAUSE_SIG,            /* published by BSP to pause the application */\n    SERVE_SIG,            /* published by BSP to pause the application */\n    TERMINATE_SIG,        /* published by BSP to terminate the application */\n    HUNGRY_SIG,           /* posted direclty to Table from hungry Philo */\n    MAX_SIG               /* the last signal */\n};\n\n/* number of philosophers */\n#define N_PHILO ((uint8_t)5)\n#define PHILO_0_PRIO 1\n\n$declare${AOs::AO_Philo0}\n$declare${AOs::AO_Philo1}\n$declare${AOs::AO_Philo2}\n$declare${AOs::AO_Philo3}\n$declare${AOs::AO_Philo4}\n$declare${AOs::AO_Table}\n\n$declare${AOs::Philo_ctor}\n$declare${AOs::Table_ctor}\n\n#endif /* DPP_H */\n</text>\n  </file>\n  <!--${.::philo.c}-->\n  <file name=\"philo.c\">\n   <text>#include &quot;qpn.h&quot;  /* QP-nano port */\n#include &quot;bsp.h&quot;  /* Board Support Package */\n#include &quot;dpp.h&quot;  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(&quot;philo&quot;)\n\n/* Active object class -----------------------------------------------------*/\n$declare${AOs::Philo}\n\n/* Global objects ----------------------------------------------------------*/\n$define${AOs::AO_Philo0}\n$define${AOs::AO_Philo1}\n$define${AOs::AO_Philo2}\n$define${AOs::AO_Philo3}\n$define${AOs::AO_Philo4}\n\n/* Local objects -----------------------------------------------------------*/\n#define THINK_TIME  \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + (BSP_TICKS_PER_SEC/2U))\n#define EAT_TIME    \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + BSP_TICKS_PER_SEC)\n\n/* Philo definition --------------------------------------------------------*/\n$define${AOs::Philo_ctor}\n$define${AOs::Philo}</text>\n  </file>\n  <!--${.::table.c}-->\n  <file name=\"table.c\">\n   <text>#include &quot;qpn.h&quot;  /* QP-nano port */\n#include &quot;bsp.h&quot;  /* Board Support Package */\n#include &quot;dpp.h&quot;  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(&quot;table&quot;)\n\n/* Active object class -----------------------------------------------------*/\n$declare${AOs::Table}\n\n/* Global objects ----------------------------------------------------------*/\n$define${AOs::AO_Table}\n\n#define RIGHT(n_) ((uint8_t)(((n_) + (N_PHILO - 1U)) % N_PHILO))\n#define LEFT(n_)  ((uint8_t)(((n_) + 1U) % N_PHILO))\n#define FREE      ((uint8_t)0)\n#define USED      ((uint8_t)1)\n\n/*..........................................................................*/\n$define${AOs::Table_ctor}\n$define${AOs::Table}</text>\n  </file>\n </directory>\n</model>\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/lint-plus/README.txt",
    "content": "About this Example\n==================\nThis directory contains the facilities for \"linting\" the application with\nPC-Lint-Plus.\n\nTo \"lint\" the application, invoke the batch \"lin.bat\"  without parameters.\n\n\nThe output from the \"linting\" is saved in the fle \"lin_out.log\".\n\n***\nNOTE: You need to adjust the symbol PCLP_DIR at the top of the lin.bat\nfile, to point to the directory where PC-Lint-Plus is installed on your\nmachine.\n***\n\n\nThe PC-Lint-Plus Options File\n=============================\nThe \"options.lnt\" file specifies the linting options. You might need\nto modify this file to suit your needs.\n\n\n****\nNOTE: The purpose of this example is NOT to find problems with the\nsupporting 3rd-party code, which every non-trivial embedded system needs.\nRather, the purpose of this particular example is to check YOUR application\nlevel code, such as state machines.\n****\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/lint-plus/lin.bat",
    "content": "@echo off\n:: ===========================================================================\n:: Product: QP-nano build script for PC-Lint-Plus, \"Standard\" C compiler\n:: Last Updated for Version: 6.7.0\n:: Date of the Last Update:  2019-12-29\n::\n::                    Q u a n t u m  L e a P s\n::                    ------------------------\n::                    Modern Embedded Software\n::\n:: Copyright (C) Quantum Leaps, LLC. All rights reserved.\n::\n:: This program is open source software: you can redistribute it and/or\n:: modify it under the terms of the GNU General Public License as published\n:: by the Free Software Foundation, either version 3 of the License, or\n:: (at your option) any later version.\n::\n:: Alternatively, this program may be distributed and modified under the\n:: terms of Quantum Leaps commercial licenses, which expressly supersede\n:: the GNU General Public License and are specifically designed for\n:: licensees interested in retaining the proprietary status of their code.\n::\n:: This program is distributed in the hope that it will be useful,\n:: but WITHOUT ANY WARRANTY; without even the implied warranty of\n:: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n:: GNU General Public License for more details.\n::\n:: You should have received a copy of the GNU General Public License\n:: along with this program. If not, see <www.gnu.org/licenses/>.\n::\n:: Contact information:\n:: <www.state-machine.com/licensing>\n:: <info@state-machine.com>\n:: ===========================================================================\nsetlocal\n\n:: Options for calling lin.bat\n\n:: NOTE: adjust to for your installation directory of PC-Lint-Plus\nset PCLP_DIR=C:\\tools\\lint-plus\nset PCLP=%PCLP_DIR%\\pclp32.exe\n\nif NOT exist \"%PCLP%\" (\n    @echo The PC-Lint-Plus toolset not found. Please adjust lin.bat\n    goto end\n)\n\n:: set the QP/C directory\nset QPN=..\\..\\..\\..\nset QPN_LINT=%QPN%\\ports\\lint-plus\n\nset LINTFLAGS=%QPN%\\ports\\lint-plus\\std.lnt options.lnt %1 %2 %3 %4\nset PROJ_DIR=..\n\n:: linting -------------------------------------------------------------------\n%PCLP% -os(lint_out.log) %LINTFLAGS% %PROJ_DIR%\\philo.c %PROJ_DIR%\\table.c\n\n:end\nendlocal\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/lint-plus/options.lnt",
    "content": "//////////////////////////////////////////////////////////////////////////////\n// Product: PC-Lint-Plus options for linting QP-nano applications\n// Last updated for version 6.7.0\n// Last updated on  2019-12-30\n//\n//                    Q u a n t u m  L e a P s\n//                    ------------------------\n//                    Modern Embedded Software\n//\n// Copyright (C) 2005-2019 Quantum Leaps. All rights reserved.\n//\n// This program is open source software: you can redistribute it and/or\n// modify it under the terms of the GNU General Public License as published\n// by the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Alternatively, this program may be distributed and modified under the\n// terms of Quantum Leaps commercial licenses, which expressly supersede\n// the GNU General Public License and are specifically designed for\n// licensees interested in retaining the proprietary status of their code.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program. If not, see <www.gnu.org/licenses>.\n//\n// Contact information:\n// <www.state-machine.com/licensing>\n// <info@state-machine.com>\n////////////////////////////////////////////////////////////////////////////\n\n/////////////////////////////////////////////////////////////////////////////\n// general options\n-unit_check        // perform only subset check (suppresses Global Wrapup)\n-max_threads=1     // suppress message \"no '-max_threads=N' option\"\n//-vf              // print names of all source files (for debugging linting)\n\n// include directories\n-i..              // application includes\n-i%QPN%\\include   // QP-nano public includes\n-i%QPN_LINT%      // QP-nano lint \"port\"\n-i%QPN_LINT%\\qkn  // QP-nano lint \"port\" to QK-nano\n\n// size options corresponding to GNU-ARM\n-si4 -sl4 -sll8 -ss2 -sw4 -sp4 -sf4 -sd8 -sld8 +fzl\n\n// standards\n%QPN_LINT%\\au-misra3.lnt       // MISRA-C:2012 options\n%QPN_LINT%\\au-misra3-amd1.lnt  // MISRA-C:2012 amendment 1 options\n%QPN_LINT%\\au-ds.lnt           // Dan Saks recommendations\n//-strong(AXJ)        // Strong type checking\n\n/////////////////////////////////////////////////////////////////////////////\n// QP-nano options for clients\nqpn.lnt           // QP-nano options\n\n/////////////////////////////////////////////////////////////////////////////\n// addtitional supporession rules for bulding this application\n\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/main.c",
    "content": "/*****************************************************************************\n* Product: DPP example\n* Last Updated for Version: 5.8.0\n* Date of the Last Update:  2016-11-06\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"  /* QP-nano */\n#include \"bsp.h\"  /* Board Support Package */\n#include \"dpp.h\"  /* Application interface */\n\n/*..........................................................................*/\nstatic QEvt l_philoQueue[N_PHILO][N_PHILO];\nstatic QEvt l_tableQueue[2];\n\n/* QF_active[] array defines all active object control blocks --------------*/\nQActiveCB const Q_ROM QF_active[] = {\n    { (QActive *)0,           (QEvt *)0,        0U                      },\n    { (QActive *)&AO_Philo0,  l_philoQueue[0],  Q_DIM(l_philoQueue[0])  },\n    { (QActive *)&AO_Philo1,  l_philoQueue[1],  Q_DIM(l_philoQueue[1])  },\n    { (QActive *)&AO_Philo2,  l_philoQueue[2],  Q_DIM(l_philoQueue[2])  },\n    { (QActive *)&AO_Philo3,  l_philoQueue[3],  Q_DIM(l_philoQueue[3])  },\n    { (QActive *)&AO_Philo4,  l_philoQueue[4],  Q_DIM(l_philoQueue[4])  },\n    { (QActive *)&AO_Table,   l_tableQueue,     Q_DIM(l_tableQueue)     }\n};\n\n/*..........................................................................*/\nint_t main() {\n    Philo_ctor();    /* instantiate all Philo AOs */\n    Table_ctor();    /* instantiate the Table AO */\n\n    QF_init(Q_DIM(QF_active)); /* initialize the QF-nano framework */\n    BSP_init();      /* initialize the Board Support Package */\n\n    return QF_run(); /* transfer control to QF-nano */\n}\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/philo.c",
    "content": "/*.$file${.::philo.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: dpp.qm\n* File:  ${.::philo.c}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::philo.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"  /* QP-nano port */\n#include \"bsp.h\"  /* Board Support Package */\n#include \"dpp.h\"  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(\"philo\")\n\n/* Active object class -----------------------------------------------------*/\n/*.$declare${AOs::Philo} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo} ...........................................................*/\ntypedef struct Philo {\n/* protected: */\n    QActive super;\n} Philo;\n\n/* protected: */\nstatic QState Philo_initial(Philo * const me);\nstatic QState Philo_thinking(Philo * const me);\nstatic QState Philo_hungry(Philo * const me);\nstatic QState Philo_eating(Philo * const me);\n/*.$enddecl${AOs::Philo} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Global objects ----------------------------------------------------------*/\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 650U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.5.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo0} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo0} .......................................................*/\nstruct Philo AO_Philo0;\n/*.$enddef${AOs::AO_Philo0} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo1} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo1} .......................................................*/\nstruct Philo AO_Philo1;\n/*.$enddef${AOs::AO_Philo1} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo2} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo2} .......................................................*/\nstruct Philo AO_Philo2;\n/*.$enddef${AOs::AO_Philo2} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo3} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo3} .......................................................*/\nstruct Philo AO_Philo3;\n/*.$enddef${AOs::AO_Philo3} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo4} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo4} .......................................................*/\nstruct Philo AO_Philo4;\n/*.$enddef${AOs::AO_Philo4} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Local objects -----------------------------------------------------------*/\n#define THINK_TIME  \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + (BSP_TICKS_PER_SEC/2U))\n#define EAT_TIME    \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + BSP_TICKS_PER_SEC)\n\n/* Philo definition --------------------------------------------------------*/\n/*.$define${AOs::Philo_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo_ctor} ......................................................*/\nvoid Philo_ctor(void) {\n    QActive_ctor(&AO_Philo0.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo1.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo2.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo3.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo4.super, Q_STATE_CAST(&Philo_initial));\n    BSP_randomSeed(123U);\n}\n/*.$enddef${AOs::Philo_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Philo} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo} ...........................................................*/\n/*.${AOs::Philo::SM} .......................................................*/\nstatic QState Philo_initial(Philo * const me) {\n    /*.${AOs::Philo::SM::initial} */\n    return Q_TRAN(&Philo_thinking);\n}\n/*.${AOs::Philo::SM::thinking} .............................................*/\nstatic QState Philo_thinking(Philo * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Philo::SM::thinking} */\n        case Q_ENTRY_SIG: {\n            QActive_armX(&me->super, 0U, THINK_TIME, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::thinking} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::thinking::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Philo_hungry);\n            break;\n        }\n        /*.${AOs::Philo::SM::thinking::EAT, DONE} */\n        case EAT_SIG: /* intentionally fall through */\n        case DONE_SIG: {\n            Q_ERROR(); /* these events should never arrive in this state */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Philo::SM::hungry} ...............................................*/\nstatic QState Philo_hungry(Philo * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Philo::SM::hungry} */\n        case Q_ENTRY_SIG: {\n            QACTIVE_POST(&AO_Table, HUNGRY_SIG, me->super.prio);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::hungry::EAT} */\n        case EAT_SIG: {\n            status_ = Q_TRAN(&Philo_eating);\n            break;\n        }\n        /*.${AOs::Philo::SM::hungry::DONE} */\n        case DONE_SIG: {\n            Q_ERROR(); /* this event should never arrive in this state */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Philo::SM::eating} ...............................................*/\nstatic QState Philo_eating(Philo * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Philo::SM::eating} */\n        case Q_ENTRY_SIG: {\n            QActive_armX(&me->super, 0U, EAT_TIME, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::eating} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            QACTIVE_POST(QF_ACTIVE_CAST(&AO_Table), DONE_SIG, me->super.prio);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::eating::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Philo_thinking);\n            break;\n        }\n        /*.${AOs::Philo::SM::eating::EAT, DONE} */\n        case EAT_SIG: /* intentionally fall through */\n        case DONE_SIG: {\n            Q_ERROR(); /* these events should never arrive in this state */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${AOs::Philo} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qk/arm/README.txt",
    "content": "About this Example\n==================\nThis example demonstrates how to use the uVision IDE together with\nthe MDK-ARM toolchain.\n\n***\nNOTE: This example requires installing the following Software Pack\nin the Keil uVision: Keil::TM4C_DFP.\n***\n\n\nuVision Project File\n====================\nThe MDK-ARM uVision project file provided with this example uses\nrelative paths to the QP/C framework location (includes, port, and\nlibraries. These relative paths must be modified when the project\nis moved to different relative location.\n\n\nAdjusting Stack and Heap Sizes\n==============================\nThe stack and heap sizes are determined in this project by the\ncommand-line options for the ARM assembler (see the Asm tab in\nthe \"Options for Target\" dialog box in uVision). Specifically,\nyou should define symbols: Stack_Size=xxx Heap_Size=yyy, where\nxxx represents a numerical value of stack size and yyy the\nnumerical value of the heap size (for most embedded projects\nyyy should be 0, as the using the heap is not recommended).\n\n\nStartup Code\n============\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s\n\nThe file startup_TM4C123GH6PM.s provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n  "
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qk/arm/dpp-qk.uvoptx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<ProjectOpt xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_optx.xsd\">\n\n  <SchemaVersion>1.0</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Extensions>\n    <cExt>*.c</cExt>\n    <aExt>*.s*; *.src; *.a*</aExt>\n    <oExt>*.obj; *.o</oExt>\n    <lExt>*.lib</lExt>\n    <tExt>*.txt; *.h; *.inc</tExt>\n    <pExt>*.plm</pExt>\n    <CppX>*.cpp</CppX>\n    <nMigrate>0</nMigrate>\n  </Extensions>\n\n  <DaveTm>\n    <dwLowDateTime>0</dwLowDateTime>\n    <dwHighDateTime>0</dwHighDateTime>\n  </DaveTm>\n\n  <Target>\n    <TargetName>dpp-dbg</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\dbg\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>1</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>4</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>0</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <nTsel>8</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>BIN\\lmidk-agdi.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>UL2CM3(-O207 -S0 -C0 -FO7  -FN1 -FC1000 -FD20000000 -FF0TM4C123_256 -FL040000 -FS00 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E2006F4 -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Target>\n    <TargetName>dpp-rel</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\rel\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>0</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>4</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>0</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <nTsel>8</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>BIN\\lmidk-agdi.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGUARM</Key>\n          <Name>ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÈ`»\n´­­ª¤ô </Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E10259B -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>-O207 -S0 -C0 -FO7  -FN1 -FC1000 -FD20000000 -FF0TM4C123_256 -FL040000 -FS00 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM)</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Group>\n    <GroupName>Applicatioin</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>1</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\bsp.c</PathWithFileName>\n      <FilenameWithoutPath>bsp.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>2</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\main.c</PathWithFileName>\n      <FilenameWithoutPath>main.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>3</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\dpp.h</PathWithFileName>\n      <FilenameWithoutPath>dpp.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>4</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\bsp.h</PathWithFileName>\n      <FilenameWithoutPath>bsp.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>5</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\philo.c</PathWithFileName>\n      <FilenameWithoutPath>philo.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>6</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\table.c</PathWithFileName>\n      <FilenameWithoutPath>table.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>ek-tm4c123gxl</GroupName>\n    <tvExp>0</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>7</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</PathWithFileName>\n      <FilenameWithoutPath>system_TM4C123GH6PM.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>8</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</PathWithFileName>\n      <FilenameWithoutPath>TM4C123GH6PM.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>9</FileNumber>\n      <FileType>2</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s</PathWithFileName>\n      <FilenameWithoutPath>startup_TM4C123GH6PM.s</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>10</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\gpio.h</PathWithFileName>\n      <FilenameWithoutPath>gpio.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>11</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\rom.h</PathWithFileName>\n      <FilenameWithoutPath>rom.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>12</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\sysctl.h</PathWithFileName>\n      <FilenameWithoutPath>sysctl.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>13</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</PathWithFileName>\n      <FilenameWithoutPath>system_TM4C123GH6PM.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>14</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</PathWithFileName>\n      <FilenameWithoutPath>qepn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>15</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</PathWithFileName>\n      <FilenameWithoutPath>qfn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>16</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qkn\\qkn.c</PathWithFileName>\n      <FilenameWithoutPath>qkn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP-port</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>17</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\arm\\qfn_port.h</PathWithFileName>\n      <FilenameWithoutPath>qfn_port.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>18</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\arm\\qkn_port.c</PathWithFileName>\n      <FilenameWithoutPath>qkn_port.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n</ProjectOpt>\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qk/arm/dpp-qk.uvprojx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<Project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_projx.xsd\">\n\n  <SchemaVersion>2.1</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Targets>\n    <Target>\n      <TargetName>dpp-dbg</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>5060528::V5.06 update 5 (build 528)::ARMCC</pCCUsed>\n      <uAC6>0</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>TM4C123GH6PM</Device>\n          <Vendor>Texas Instruments</Vendor>\n          <PackID>Keil.TM4C_DFP.1.1.0</PackID>\n          <PackURL>http://www.keil.com/pack/</PackURL>\n          <Cpu>IROM(0x00000000,0x040000) IRAM(0x20000000,0x008000) CPUTYPE(\"Cortex-M4\") FPU2 CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0TM4C123_256 -FS00 -FL040000 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:TM4C123GH6PM$Device\\Include\\TM4C123\\TM4C123.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:TM4C123GH6PM$SVD\\TM4C123\\TM4C123GH6PM.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\dbg\\</OutputDirectory>\n          <OutputName>dpp-qk</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>1</DebugInformation>\n          <BrowseInformation>1</BrowseInformation>\n          <ListingPath>.\\dbg\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\dbg\\dpp-qk.bin .\\dbg\\dpp-qk.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>1</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4097</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3></Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M4\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>2</RvdsVP>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>1</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>2</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>0</uC99>\n            <useXO>0</useXO>\n            <v6Lang>0</v6Lang>\n            <v6LangP>0</v6LangP>\n            <vShortEn>0</vShortEn>\n            <vShortWch>0</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>__FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\arm;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile></ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Applicatioin</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>dpp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\dpp.h</FilePath>\n            </File>\n            <File>\n              <FileName>bsp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\bsp.h</FilePath>\n            </File>\n            <File>\n              <FileName>philo.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\philo.c</FilePath>\n            </File>\n            <File>\n              <FileName>table.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\table.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>ek-tm4c123gxl</GroupName>\n          <Files>\n            <File>\n              <FileName>system_TM4C123GH6PM.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</FilePath>\n            </File>\n            <File>\n              <FileName>TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</FilePath>\n            </File>\n            <File>\n              <FileName>startup_TM4C123GH6PM.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s</FilePath>\n            </File>\n            <File>\n              <FileName>gpio.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\gpio.h</FilePath>\n            </File>\n            <File>\n              <FileName>rom.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\rom.h</FilePath>\n            </File>\n            <File>\n              <FileName>sysctl.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\sysctl.h</FilePath>\n            </File>\n            <File>\n              <FileName>system_TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qkn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qkn\\qkn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP-port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\arm\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qkn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\arm\\qkn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n    <Target>\n      <TargetName>dpp-rel</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <uAC6>0</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>TM4C123GH6PM</Device>\n          <Vendor>Texas Instruments</Vendor>\n          <PackID>Keil.TM4C_DFP.1.1.0</PackID>\n          <PackURL>http://www.keil.com/pack/</PackURL>\n          <Cpu>IROM(0x00000000,0x040000) IRAM(0x20000000,0x008000) CPUTYPE(\"Cortex-M4\") FPU2 CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0TM4C123_256 -FS00 -FL040000 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:TM4C123GH6PM$Device\\Include\\TM4C123\\TM4C123.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:TM4C123GH6PM$SVD\\TM4C123\\TM4C123GH6PM.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\rel\\</OutputDirectory>\n          <OutputName>dpp-qk</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>0</DebugInformation>\n          <BrowseInformation>0</BrowseInformation>\n          <ListingPath>.\\rel\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\rel\\dpp-qk.bin .\\rel\\dpp-qk.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>1</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4097</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3></Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M4\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>2</RvdsVP>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>4</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>2</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>0</uC99>\n            <useXO>0</useXO>\n            <v6Lang>0</v6Lang>\n            <v6LangP>0</v6LangP>\n            <vShortEn>0</vShortEn>\n            <vShortWch>0</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>NDEBUG __FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\arm;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile>dpp-qk.sct</ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Applicatioin</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>dpp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\dpp.h</FilePath>\n            </File>\n            <File>\n              <FileName>bsp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\bsp.h</FilePath>\n            </File>\n            <File>\n              <FileName>philo.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\philo.c</FilePath>\n            </File>\n            <File>\n              <FileName>table.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\table.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>ek-tm4c123gxl</GroupName>\n          <Files>\n            <File>\n              <FileName>system_TM4C123GH6PM.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</FilePath>\n            </File>\n            <File>\n              <FileName>TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</FilePath>\n            </File>\n            <File>\n              <FileName>startup_TM4C123GH6PM.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s</FilePath>\n            </File>\n            <File>\n              <FileName>gpio.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\gpio.h</FilePath>\n            </File>\n            <File>\n              <FileName>rom.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\rom.h</FilePath>\n            </File>\n            <File>\n              <FileName>sysctl.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\sysctl.h</FilePath>\n            </File>\n            <File>\n              <FileName>system_TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qkn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qkn\\qkn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP-port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\arm\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qkn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\arm\\qkn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n  </Targets>\n\n  <RTE>\n    <apis/>\n    <components/>\n    <files/>\n  </RTE>\n\n</Project>\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qk/armclang/README.txt",
    "content": "About this Example\n==================\nThis example demonstrates how to use the uVision IDE together with\nthe MDK-ARM toolchain.\n\n***\nNOTE: This example requires installing the following Software Pack\nin the Keil uVision: Keil::TM4C_DFP.\n***\n\n\nuVision Project File\n====================\nThe MDK-ARM uVision project file provided with this example uses\nrelative paths to the QP/C framework location (includes, port, and\nlibraries. These relative paths must be modified when the project\nis moved to different relative location.\n\n\nAdjusting Stack and Heap Sizes\n==============================\nThe stack and heap sizes are determined in this project by the\ncommand-line options for the ARM assembler (see the Asm tab in\nthe \"Options for Target\" dialog box in uVision). Specifically,\nyou should define symbols: Stack_Size=xxx Heap_Size=yyy, where\nxxx represents a numerical value of stack size and yyy the\nnumerical value of the heap size (for most embedded projects\nyyy should be 0, as the using the heap is not recommended).\n\n\nStartup Code\n============\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s\n\nThe file startup_TM4C123GH6PM.s provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n  "
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qk/armclang/dpp-qk.uvoptx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<ProjectOpt xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_optx.xsd\">\n\n  <SchemaVersion>1.0</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Extensions>\n    <cExt>*.c</cExt>\n    <aExt>*.s*; *.src; *.a*</aExt>\n    <oExt>*.obj; *.o</oExt>\n    <lExt>*.lib</lExt>\n    <tExt>*.txt; *.h; *.inc</tExt>\n    <pExt>*.plm</pExt>\n    <CppX>*.cpp</CppX>\n    <nMigrate>0</nMigrate>\n  </Extensions>\n\n  <DaveTm>\n    <dwLowDateTime>0</dwLowDateTime>\n    <dwHighDateTime>0</dwHighDateTime>\n  </DaveTm>\n\n  <Target>\n    <TargetName>dpp-dbg</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\dbg\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>1</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>4</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>0</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>8</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>BIN\\lmidk-agdi.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>UL2CM3(-O207 -S0 -C0 -FO7  -FN1 -FC1000 -FD20000000 -FF0TM4C123_256 -FL040000 -FS00 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E2006F4 -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Target>\n    <TargetName>dpp-rel</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\rel\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>0</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>4</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>0</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>8</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>BIN\\lmidk-agdi.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGUARM</Key>\n          <Name>ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÈ`»\n´­­ª¤ô </Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E10259B -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>-O207 -S0 -C0 -FO7  -FN1 -FC1000 -FD20000000 -FF0TM4C123_256 -FL040000 -FS00 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM)</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Group>\n    <GroupName>Applicatioin</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>1</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\bsp.c</PathWithFileName>\n      <FilenameWithoutPath>bsp.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>2</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\main.c</PathWithFileName>\n      <FilenameWithoutPath>main.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>3</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\dpp.h</PathWithFileName>\n      <FilenameWithoutPath>dpp.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>4</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\bsp.h</PathWithFileName>\n      <FilenameWithoutPath>bsp.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>5</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\philo.c</PathWithFileName>\n      <FilenameWithoutPath>philo.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>6</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\table.c</PathWithFileName>\n      <FilenameWithoutPath>table.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>ek-tm4c123gxl</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>7</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</PathWithFileName>\n      <FilenameWithoutPath>system_TM4C123GH6PM.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>8</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</PathWithFileName>\n      <FilenameWithoutPath>TM4C123GH6PM.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>9</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\gpio.h</PathWithFileName>\n      <FilenameWithoutPath>gpio.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>10</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\rom.h</PathWithFileName>\n      <FilenameWithoutPath>rom.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>11</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\sysctl.h</PathWithFileName>\n      <FilenameWithoutPath>sysctl.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>12</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</PathWithFileName>\n      <FilenameWithoutPath>system_TM4C123GH6PM.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>13</FileNumber>\n      <FileType>2</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s</PathWithFileName>\n      <FilenameWithoutPath>startup_TM4C123GH6PM.s</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>14</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</PathWithFileName>\n      <FilenameWithoutPath>qepn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>15</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</PathWithFileName>\n      <FilenameWithoutPath>qfn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>16</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qkn\\qkn.c</PathWithFileName>\n      <FilenameWithoutPath>qkn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP-port</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>17</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qfn_port.h</PathWithFileName>\n      <FilenameWithoutPath>qfn_port.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>18</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qkn_port.c</PathWithFileName>\n      <FilenameWithoutPath>qkn_port.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n</ProjectOpt>\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qk/armclang/dpp-qk.uvprojx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<Project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_projx.xsd\">\n\n  <SchemaVersion>2.1</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Targets>\n    <Target>\n      <TargetName>dpp-dbg</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6130001::V6.13.1::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>TM4C123GH6PM</Device>\n          <Vendor>Texas Instruments</Vendor>\n          <PackID>Keil.TM4C_DFP.1.1.0</PackID>\n          <PackURL>http://www.keil.com/pack/</PackURL>\n          <Cpu>IROM(0x00000000,0x040000) IRAM(0x20000000,0x008000) CPUTYPE(\"Cortex-M4\") FPU2 CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0TM4C123_256 -FS00 -FL040000 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:TM4C123GH6PM$Device\\Include\\TM4C123\\TM4C123.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:TM4C123GH6PM$SVD\\TM4C123\\TM4C123GH6PM.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\dbg\\</OutputDirectory>\n          <OutputName>dpp-qk</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>1</DebugInformation>\n          <BrowseInformation>1</BrowseInformation>\n          <ListingPath>.\\dbg\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\dbg\\dpp-qk.bin .\\dbg\\dpp-qk.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>1</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4097</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3></Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M4\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>2</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>0</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>0</vShortEn>\n            <vShortWch>0</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define></Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile></ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Applicatioin</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>dpp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\dpp.h</FilePath>\n            </File>\n            <File>\n              <FileName>bsp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\bsp.h</FilePath>\n            </File>\n            <File>\n              <FileName>philo.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\philo.c</FilePath>\n            </File>\n            <File>\n              <FileName>table.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\table.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>ek-tm4c123gxl</GroupName>\n          <Files>\n            <File>\n              <FileName>system_TM4C123GH6PM.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</FilePath>\n            </File>\n            <File>\n              <FileName>TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</FilePath>\n            </File>\n            <File>\n              <FileName>gpio.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\gpio.h</FilePath>\n            </File>\n            <File>\n              <FileName>rom.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\rom.h</FilePath>\n            </File>\n            <File>\n              <FileName>sysctl.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\sysctl.h</FilePath>\n            </File>\n            <File>\n              <FileName>system_TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</FilePath>\n            </File>\n            <File>\n              <FileName>startup_TM4C123GH6PM.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qkn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qkn\\qkn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP-port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qkn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qkn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n    <Target>\n      <TargetName>dpp-rel</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6070000::V6.7::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>TM4C123GH6PM</Device>\n          <Vendor>Texas Instruments</Vendor>\n          <PackID>Keil.TM4C_DFP.1.1.0</PackID>\n          <PackURL>http://www.keil.com/pack/</PackURL>\n          <Cpu>IROM(0x00000000,0x040000) IRAM(0x20000000,0x008000) CPUTYPE(\"Cortex-M4\") FPU2 CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0TM4C123_256 -FS00 -FL040000 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:TM4C123GH6PM$Device\\Include\\TM4C123\\TM4C123.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:TM4C123GH6PM$SVD\\TM4C123\\TM4C123GH6PM.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\rel\\</OutputDirectory>\n          <OutputName>dpp-qk</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>0</DebugInformation>\n          <BrowseInformation>0</BrowseInformation>\n          <ListingPath>.\\rel\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\rel\\dpp-qk.bin .\\rel\\dpp-qk.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>1</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4097</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3></Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M4\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>2</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>0</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>0</vShortEn>\n            <vShortWch>0</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>NDEBUG __FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile>dpp-qk.sct</ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Applicatioin</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>dpp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\dpp.h</FilePath>\n            </File>\n            <File>\n              <FileName>bsp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\bsp.h</FilePath>\n            </File>\n            <File>\n              <FileName>philo.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\philo.c</FilePath>\n            </File>\n            <File>\n              <FileName>table.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\table.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>ek-tm4c123gxl</GroupName>\n          <Files>\n            <File>\n              <FileName>system_TM4C123GH6PM.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</FilePath>\n            </File>\n            <File>\n              <FileName>TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</FilePath>\n            </File>\n            <File>\n              <FileName>gpio.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\gpio.h</FilePath>\n            </File>\n            <File>\n              <FileName>rom.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\rom.h</FilePath>\n            </File>\n            <File>\n              <FileName>sysctl.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\sysctl.h</FilePath>\n            </File>\n            <File>\n              <FileName>system_TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</FilePath>\n            </File>\n            <File>\n              <FileName>startup_TM4C123GH6PM.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qkn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qkn\\qkn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP-port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qkn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qkn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n  </Targets>\n\n  <RTE>\n    <apis/>\n    <components/>\n    <files/>\n  </RTE>\n\n</Project>\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qk/bsp.c",
    "content": "/*****************************************************************************\n* Product: DPP on EK-TM4C123GXL board, preemptive QK kernel\n* Last Updated for Version: 6.1.1\n* Date of the Last Update:  2018-02-18\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"dpp.h\"\n#include \"bsp.h\"\n\n#include \"TM4C123GH6PM.h\"        /* the device specific header (TI) */\n#include \"rom.h\"                 /* the built-in ROM functions (TI) */\n#include \"sysctl.h\"              /* system control driver (TI) */\n#include \"gpio.h\"                /* GPIO driver (TI) */\n/* add other drivers if necessary... */\n\n//Q_DEFINE_THIS_FILE\n\n/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n* Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n* DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n*/\nenum KernelUnawareISRs { /* see NOTE00 */\n    /* ... */\n    MAX_KERNEL_UNAWARE_CMSIS_PRI  /* keep always last */\n};\n/* \"kernel-unaware\" interrupts can't overlap \"kernel-aware\" interrupts */\nQ_ASSERT_COMPILE(MAX_KERNEL_UNAWARE_CMSIS_PRI <= QF_AWARE_ISR_CMSIS_PRI);\n\nenum KernelAwareISRs {\n    GPIOA_PRIO = QF_AWARE_ISR_CMSIS_PRI, /* see NOTE00 */\n    SYSTICK_PRIO,\n    /* ... */\n    MAX_KERNEL_AWARE_CMSIS_PRI /* keep always last */\n};\n/* \"kernel-aware\" interrupts should not overlap the PendSV priority */\nQ_ASSERT_COMPILE(MAX_KERNEL_AWARE_CMSIS_PRI <= (0xFF >>(8-__NVIC_PRIO_BITS)));\n\n/* ISRs defined in this BSP ------------------------------------------------*/\nvoid SysTick_Handler(void);\nvoid GPIOPortA_IRQHandler(void);\n\n/* Local-scope objects -----------------------------------------------------*/\n#define LED_RED     (1U << 1)\n#define LED_GREEN   (1U << 3)\n#define LED_BLUE    (1U << 2)\n\n#define BTN_SW1     (1U << 4)\n#define BTN_SW2     (1U << 0)\n\n/* random seed */\nstatic uint32_t l_rnd;\n\n\n/* ISRs used in this project ===============================================*/\nvoid SysTick_Handler(void) {\n    /* state of the button debouncing, see below */\n    static struct ButtonsDebouncing {\n        uint32_t depressed;\n        uint32_t previous;\n    } buttons = { ~0U, ~0U };\n    uint32_t current;\n    uint32_t tmp;\n\n    QK_ISR_ENTRY();  /* inform QK about entering an ISR */\n\n    QF_tickXISR(0U); /* process time events for rate 0 */\n\n    /* Perform the debouncing of buttons. The algorithm for debouncing\n    * adapted from the book \"Embedded Systems Dictionary\" by Jack Ganssle\n    * and Michael Barr, page 71.\n    */\n    current = ~GPIOF->DATA_Bits[BTN_SW1 | BTN_SW2]; /* read SW1 and SW2 */\n    tmp = buttons.depressed; /* save the debounced depressed buttons */\n    buttons.depressed |= (buttons.previous & current); /* set depressed */\n    buttons.depressed &= (buttons.previous | current); /* clear released */\n    buttons.previous   = current; /* update the history */\n    tmp ^= buttons.depressed;     /* changed debounced depressed */\n    if ((tmp & BTN_SW1) != 0U) {  /* debounced SW1 state changed? */\n        if ((buttons.depressed & BTN_SW1) != 0U) { /* is SW1 depressed? */\n            QACTIVE_POST_ISR((QActive *)&AO_Table, PAUSE_SIG, 0U);\n        }\n        else {            /* the button is released */\n            QACTIVE_POST_ISR((QActive *)&AO_Table, SERVE_SIG, 0U);\n        }\n    }\n\n    QK_ISR_EXIT();  /* inform QK about exiting an ISR */\n}\n/*..........................................................................*/\nvoid GPIOPortA_IRQHandler(void) {\n    QK_ISR_ENTRY(); /* inform QK about entering an ISR */\n    QACTIVE_POST_ISR((QActive *)&AO_Table, MAX_SIG, 0U); /* for testing */\n    QK_ISR_EXIT();  /* inform QK about exiting an ISR */\n}\n\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    /* NOTE: SystemInit() already called from the startup code\n    *  but SystemCoreClock needs to be updated\n    */\n    SystemCoreClockUpdate();\n\n    /* configure the FPU usage by choosing one of the options... */\n#if 1\n    /* OPTION 1:\n    * Use the automatic FPU state preservation and the FPU lazy stacking.\n    *\n    * NOTE:\n    * Use the following setting when FPU is used in more than one task or\n    * in any ISRs. This setting is the safest and recommended, but requires\n    * extra stack space and CPU cycles.\n    */\n    FPU->FPCCR |= (1U << FPU_FPCCR_ASPEN_Pos) | (1U << FPU_FPCCR_LSPEN_Pos);\n#else\n    /* OPTION 2:\n    * Do NOT to use the automatic FPU state preservation and\n    * do NOT to use the FPU lazy stacking.\n    *\n    * NOTE:\n    * Use the following setting when FPU is used in ONE task only and not\n    * in any ISR. This setting is very efficient, but if more than one task\n    * (or ISR) start using the FPU, this can lead to corruption of the\n    * FPU registers. This option should be used with CAUTION.\n    */\n    FPU->FPCCR &= ~((1U << FPU_FPCCR_ASPEN_Pos)\n                   | (1U << FPU_FPCCR_LSPEN_Pos));\n#endif\n\n    /* enable clock for to the peripherals used by this application... */\n    SYSCTL->RCGCGPIO |= (1U << 5); /* enable Run mode for GPIOF */\n\n    /* configure the LEDs and push buttons */\n    GPIOF->DIR |= (LED_RED | LED_GREEN | LED_BLUE);/* set direction: output */\n    GPIOF->DEN |= (LED_RED | LED_GREEN | LED_BLUE); /* digital enable */\n    GPIOF->DATA_Bits[LED_RED]   = 0U; /* turn the LED off */\n    GPIOF->DATA_Bits[LED_GREEN] = 0U; /* turn the LED off */\n    GPIOF->DATA_Bits[LED_BLUE]  = 0U; /* turn the LED off */\n\n    /* configure the Buttons */\n    GPIOF->DIR &= ~(BTN_SW1 | BTN_SW2); /*  set direction: input */\n    ROM_GPIOPadConfigSet(GPIOF_BASE, (BTN_SW1 | BTN_SW2),\n                         GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU);\n\n    BSP_randomSeed(1234U);\n}\n/*..........................................................................*/\nvoid BSP_displayPhilStat(uint8_t n, char const *stat) {\n    GPIOF->DATA_Bits[LED_RED]   = ((stat[0] == 'h') ? LED_RED   : 0U);\n    GPIOF->DATA_Bits[LED_GREEN] = ((stat[0] == 'e') ? LED_GREEN : 0U);\n}\n/*..........................................................................*/\nvoid BSP_displayPaused(uint8_t paused) {\n    GPIOF->DATA_Bits[LED_RED] = ((paused != 0U) ? LED_RED : 0U);\n}\n/*..........................................................................*/\nuint32_t BSP_random(void) { /* a very cheap pseudo-random-number generator */\n    uint32_t rnd;\n    QSchedStatus lockStat; /* <=== QK scheduler lock status */\n\n    /* The flating point code is to exercise the FPU... */\n    float volatile x = 3.1415926F;\n    x = x + 2.7182818F;\n\n    lockStat = QK_schedLock(N_PHILO); /* <=== lock scheduler up to N_PHILO prio */\n    /* \"Super-Duper\" Linear Congruential Generator (LCG)\n    * LCG(2^32, 3*7*11*13*23, 0, seed)\n    */\n    rnd = l_rnd * (3U*7U*11U*13U*23U);\n    l_rnd = rnd; /* set for the next time */\n    QK_schedUnlock(lockStat); /* <=== unlock the scheduler */\n\n    return (rnd >> 8);\n}\n/*..........................................................................*/\nvoid BSP_randomSeed(uint32_t seed) {\n    l_rnd = seed;\n}\n/*..........................................................................*/\nvoid BSP_terminate(int16_t result) {\n    (void)result;\n}\n\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    /* set up the SysTick timer to fire at BSP_TICKS_PER_SEC rate */\n    SysTick_Config(SystemCoreClock / BSP_TICKS_PER_SEC);\n\n    /* assing all priority bits for preemption-prio. and none to sub-prio. */\n    NVIC_SetPriorityGrouping(0U);\n\n    /* set priorities of ALL ISRs used in the system, see NOTE00\n    *\n    * !!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n    * Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n    * DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n    */\n    NVIC_SetPriority(SysTick_IRQn,   SYSTICK_PRIO);\n    NVIC_SetPriority(GPIOA_IRQn,     GPIOA_PRIO);\n    /* ... */\n\n    /* enable IRQs... */\n    NVIC_EnableIRQ(GPIOA_IRQn);\n}\n\n/*..........................................................................*/\n#ifdef QK_ON_CONTEXT_SW\n/* NOTE: the context-switch callback is called with interrupts DISABLED */\nvoid QK_onContextSw(uint_fast8_t prev, uint_fast8_t next) {\n    (void)prev;\n    if (next != (uint_fast8_t)0) {\n        //_impure_ptr = &reentrant[next];\n    }\n}\n#endif /* QK_ON_CONTEXT_SW */\n/*..........................................................................*/\nvoid QK_onIdle(void) {\n    /* toggle LED2 on and then off, see NOTE01 */\n    QF_INT_DISABLE();\n    GPIOF->DATA_Bits[LED_BLUE] = 0xFFU;\n    GPIOF->DATA_Bits[LED_BLUE] = 0x00U;\n    QF_INT_ENABLE();\n\n#ifdef NDEBUG\n    /* Put the CPU and peripherals to the low-power mode.\n    * you might need to customize the clock management for your application,\n    * see the datasheet for your particular Cortex-M3 MCU.\n    */\n    __WFI(); /* Wait-For-Interrupt */\n#endif\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const module, int loc) {\n    /*\n    * NOTE: add here your application-specific error handling\n    */\n    (void)module;\n    (void)loc;\n\n    NVIC_SystemReset();\n}\n\n/*****************************************************************************\n* NOTE00:\n* The QF_AWARE_ISR_CMSIS_PRI constant from the QF port specifies the highest\n* ISR priority that is disabled by the QF framework. The value is suitable\n* for the NVIC_SetPriority() CMSIS function.\n*\n* Only ISRs prioritized at or below the QF_AWARE_ISR_CMSIS_PRI level (i.e.,\n* with the numerical values of priorities equal or higher than\n* QF_AWARE_ISR_CMSIS_PRI) are allowed to call any QF services. These ISRs\n* are \"QF-aware\".\n*\n* Conversely, any ISRs prioritized above the QF_AWARE_ISR_CMSIS_PRI priority\n* level (i.e., with the numerical values of priorities less than\n* QF_AWARE_ISR_CMSIS_PRI) are never disabled and are not aware of the kernel.\n* Such \"QF-unaware\" ISRs cannot call any QF services. The only mechanism\n* by which a \"QF-unaware\" ISR can communicate with the QF framework is by\n* triggering a \"QF-aware\" ISR, which can post/publish events.\n*\n* NOTE01:\n* One of the LEDs is used to visualize the idle loop activity. The brightness\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qk/gnu/.ccsproject",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<?ccsproject version=\"1.0\"?>\n<projectOptions>\n\t<ccsVersion value=\"7.4.0\"/>\n\t<deviceVariant value=\"Cortex M.TM4C123GH6PM\"/>\n\t<deviceFamily value=\"TMS470\"/>\n\t<deviceEndianness value=\"little\"/>\n\t<codegenToolVersion value=\"GNU_6.3.1:Linaro\"/>\n\t<isElfFormat value=\"true\"/>\n\t<connection value=\"common/targetdb/connections/Stellaris_ICDI_Connection.xml\"/>\n\t<linkerCommandFile value=\"tm4c123gh6pm.lds\"/>\n\t<rts value=\"libc.a\"/>\n\t<createSlaveProjects value=\"\"/>\n\t<templateProperties value=\"id=com.ti.common.project.core.emptyProjectTemplate_gnu_arm,\"/>\n\t<filesToOpen value=\"\"/>\n\t<isTargetManual value=\"false\"/>\n</projectOptions>\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qk/gnu/.cproject",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<?fileVersion 4.0.0?><cproject storage_type_id=\"org.eclipse.cdt.core.XmlProjectDescriptionStorage\">\n\t<storageModule configRelations=\"2\" moduleId=\"org.eclipse.cdt.core.settings\">\n\t\t<cconfiguration id=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug.534492546\">\n\t\t\t<storageModule buildSystemId=\"org.eclipse.cdt.managedbuilder.core.configurationDataProvider\" id=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug.534492546\" moduleId=\"org.eclipse.cdt.core.settings\" name=\"Debug\">\n\t\t\t\t<externalSettings/>\n\t\t\t\t<extensions>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.binaryparser.CoffParser\" point=\"org.eclipse.cdt.core.BinaryParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GmakeErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GASErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GLDErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GCCErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t</extensions>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t\t\t<configuration artifactExtension=\"out\" artifactName=\"${ProjName}\" buildProperties=\"\" cleanCommand=\"${CG_CLEAN_CMD}\" description=\"\" id=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug.534492546\" name=\"Debug\" parent=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug\">\n\t\t\t\t\t<folderInfo id=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug.534492546.\" name=\"/\" resourcePath=\"\">\n\t\t\t\t\t\t<toolChain id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.DebugToolchain.380301443\" name=\"TI Build Tools\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.DebugToolchain\" targetTool=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.linkerDebug.123457069\">\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.964772037\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_CONFIGURATION_ID=Cortex M.TM4C123GH6PM\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_ENDIANNESS=little\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_FORMAT=ELF\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"LINKER_COMMAND_FILE=tm4c123gh6pm.lds\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"RUNTIME_SUPPORT_LIBRARY=libc.a\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"CCS_MBS_VERSION=6.1.3\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_TYPE=executable\"/>\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.904099521\" name=\"Compiler version\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION\" value=\"GNU_6.3.1:Linaro\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<targetPlatform id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.targetPlatformDebug.895530531\" name=\"Platform\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.targetPlatformDebug\"/>\n\t\t\t\t\t\t\t<builder buildPath=\"${BuildDirectory}\" id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.builderDebug.834922118\" keepEnvironmentInBuildfile=\"false\" name=\"GNU Make\" parallelBuildOn=\"true\" parallelizationNumber=\"optimal\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.builderDebug\"/>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.compilerDebug.861559358\" name=\"GNU Compiler\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.compilerDebug\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.CODE_STATE.326931710\" name=\"Code state\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.CODE_STATE\" value=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.CODE_STATE.THUMB\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MARCH.1627488652\" name=\"Specify the name of the target architecture (-march)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MARCH\" value=\"armv7e-m\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MCPU.2064354121\" name=\"Target CPU (-mcpu)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MCPU\" value=\"cortex-m4\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MFPU.1916890427\" name=\"Specify the name of the target floating point hardware/format (-mfpu)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MFPU\" value=\"fpv4-sp-d16\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MFLOAT_ABI.315769723\" name=\"Specify if floating point hardware should be used (-mfloat-abi)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MFLOAT_ABI\" value=\"hard\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.FUNCTION_SECTIONS.1495418449\" name=\"Place each function into its own section (-ffunction-sections)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.FUNCTION_SECTIONS\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DATA_SECTIONS.1446118351\" name=\"Place data items into their own section (-fdata-sections)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DATA_SECTIONS\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DEFINE.865670737\" name=\"Define symbols (-D)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DEFINE\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"__FPU_PRESENT\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"TARGET_IS_TM4C123_RB1\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.INCLUDE_PATH.974128893\" name=\"Include paths (-I)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.INCLUDE_PATH\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../..\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../src\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../ports/arm-cm/qk/gnu\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../3rd_party/ek-tm4c123gxl\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../3rd_party/CMSIS/Include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CG_TOOL_INCLUDE_PATH}\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DEBUG.882013544\" name=\"Generate debug information (-g)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DEBUG\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DWARF_VERSION.433735214\" name=\"Generate debug information in DWARF version (-gdwarf-)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DWARF_VERSION\" value=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DWARF_VERSION.3\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.STRICT_DWARF.1684136090\" name=\"Do not emit DWARF additions beyond selected version (-gstrict-dwarf)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.STRICT_DWARF\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.SPECS.1704724465\" name=\"Override built-in specs with the contents of the specified file (-specs)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.SPECS\" value=\"&quot;nosys.specs&quot;\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.ASM_SPECIFIC_FLAGS.1586473819\" name=\"Assembly source specific flags\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.ASM_SPECIFIC_FLAGS\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"-x assembler-with-cpp\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.OTHER_ASM_FLAGS.572364895\" name=\"Other assembler flags (-Xassembler)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.OTHER_ASM_FLAGS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__C_SRCS.914425103\" name=\"C Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__C_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__CPP_SRCS.1969735213\" name=\"C++ Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__CPP_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__ASM_SRCS.1435568092\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__ASM_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__ASM2_SRCS.941675283\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__ASM2_SRCS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.linkerDebug.123457069\" name=\"GNU Linker\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.linkerDebug\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.OUTPUT_FILE.839981367\" name=\"Output file (-o)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.OUTPUT_FILE\" value=\"${ProjName}.out\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.MAP_FILE.1555000467\" name=\"Write a map file (-Map)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.MAP_FILE\" value=\"${ProjName}.map\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.LIBRARY.1347913029\" name=\"Libraries (-l, --library)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.LIBRARY\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.SCRIPTS.933040553\" name=\"Linker command files (-T, --script)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.SCRIPTS\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NOSTARTFILES.879149092\" name=\"Do not use the standard system startup files when linking (-nostartfiles)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NOSTARTFILES\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NODEFAULTLIBS.718462702\" name=\"Do not use the standard system libraries when linking (-nodefaultlibs)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NODEFAULTLIBS\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.GC_SECTIONS.842383496\" name=\"Remove unused sections (--gc-sections)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.GC_SECTIONS\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.STATIC.869793521\" name=\"Do not link with the shared libraries (-static)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.STATIC\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NOSTDLIB.255196952\" name=\"Do not use the standard system startup files or libraries when linking (-nostdlib)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NOSTDLIB\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__CMD_SRCS.677089481\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__CMD_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__CMD2_SRCS.1897887025\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__CMD2_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__GEN_CMDS.1685978282\" name=\"Generated Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__GEN_CMDS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.hex.591401063\" name=\"GNU Objcopy Utility\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.hex\"/>\n\t\t\t\t\t\t</toolChain>\n\t\t\t\t\t</folderInfo>\n\t\t\t\t\t<sourceEntries>\n\t\t\t\t\t\t<entry flags=\"VALUE_WORKSPACE_PATH|RESOLVED\" kind=\"sourcePath\" name=\"\"/>\n\t\t\t\t\t</sourceEntries>\n\t\t\t\t</configuration>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"org.eclipse.cdt.core.externalSettings\"/>\n\t\t</cconfiguration>\n\t\t<cconfiguration id=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug.534492546.1358541448\">\n\t\t\t<storageModule buildSystemId=\"org.eclipse.cdt.managedbuilder.core.configurationDataProvider\" id=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug.534492546.1358541448\" moduleId=\"org.eclipse.cdt.core.settings\" name=\"Release\">\n\t\t\t\t<externalSettings/>\n\t\t\t\t<extensions>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.binaryparser.CoffParser\" point=\"org.eclipse.cdt.core.BinaryParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GmakeErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GASErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GLDErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GCCErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t</extensions>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t\t\t<configuration artifactExtension=\"out\" artifactName=\"${ProjName}\" buildProperties=\"\" cleanCommand=\"${CG_CLEAN_CMD}\" description=\"\" id=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug.534492546.1358541448\" name=\"Release\" parent=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug\">\n\t\t\t\t\t<folderInfo id=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug.534492546.1358541448.\" name=\"/\" resourcePath=\"\">\n\t\t\t\t\t\t<toolChain id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.DebugToolchain.469823560\" name=\"TI Build Tools\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.DebugToolchain\" targetTool=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.linkerDebug.123457069\">\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1846983527\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_CONFIGURATION_ID=Cortex M.TM4C123GH6PM\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_ENDIANNESS=little\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_FORMAT=ELF\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"LINKER_COMMAND_FILE=tm4c123gh6pm.lds\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"RUNTIME_SUPPORT_LIBRARY=libc.a\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"CCS_MBS_VERSION=6.1.3\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_TYPE=executable\"/>\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1616299930\" name=\"Compiler version\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION\" value=\"GNU_6.3.1:Linaro\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<targetPlatform id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.targetPlatformDebug.1508626334\" name=\"Platform\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.targetPlatformDebug\"/>\n\t\t\t\t\t\t\t<builder buildPath=\"${BuildDirectory}\" id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.builderDebug.688117887\" keepEnvironmentInBuildfile=\"false\" name=\"GNU Make\" parallelBuildOn=\"true\" parallelizationNumber=\"optimal\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.builderDebug\"/>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.compilerDebug.1088691316\" name=\"GNU Compiler\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.compilerDebug\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.CODE_STATE.798076657\" name=\"Code state\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.CODE_STATE\" value=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.CODE_STATE.THUMB\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MARCH.707868929\" name=\"Specify the name of the target architecture (-march)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MARCH\" value=\"armv7e-m\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MCPU.786098950\" name=\"Target CPU (-mcpu)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MCPU\" value=\"cortex-m4\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MFPU.148452124\" name=\"Specify the name of the target floating point hardware/format (-mfpu)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MFPU\" value=\"fpv4-sp-d16\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MFLOAT_ABI.801715358\" name=\"Specify if floating point hardware should be used (-mfloat-abi)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MFLOAT_ABI\" value=\"hard\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.FUNCTION_SECTIONS.878443810\" name=\"Place each function into its own section (-ffunction-sections)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.FUNCTION_SECTIONS\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DATA_SECTIONS.1031205950\" name=\"Place data items into their own section (-fdata-sections)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DATA_SECTIONS\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DEFINE.411887178\" name=\"Define symbols (-D)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DEFINE\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"NDEBUG\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"__FPU_PRESENT\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"TARGET_IS_TM4C123_RB1\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.INCLUDE_PATH.254795141\" name=\"Include paths (-I)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.INCLUDE_PATH\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../..\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../src\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../ports/arm-cm/qk/gnu\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../3rd_party/ek-tm4c123gxl\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../3rd_party/CMSIS/Include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CG_TOOL_INCLUDE_PATH}\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DEBUG.543537113\" name=\"Generate debug information (-g)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DEBUG\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DWARF_VERSION.2113079762\" name=\"Generate debug information in DWARF version (-gdwarf-)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DWARF_VERSION\" value=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DWARF_VERSION.3\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.STRICT_DWARF.550208473\" name=\"Do not emit DWARF additions beyond selected version (-gstrict-dwarf)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.STRICT_DWARF\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.SPECS.341010137\" name=\"Override built-in specs with the contents of the specified file (-specs)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.SPECS\" value=\"&quot;nosys.specs&quot;\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.ASM_SPECIFIC_FLAGS.1061535145\" name=\"Assembly source specific flags\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.ASM_SPECIFIC_FLAGS\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"-x assembler-with-cpp\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.OTHER_ASM_FLAGS.896297329\" name=\"Other assembler flags (-Xassembler)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.OTHER_ASM_FLAGS\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.OPT_LEVEL.1263665319\" name=\"Optimization Level\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.OPT_LEVEL\" value=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.OPT_LEVEL._none\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__C_SRCS.1417096077\" name=\"C Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__C_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__CPP_SRCS.898382215\" name=\"C++ Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__CPP_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__ASM_SRCS.620774366\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__ASM_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__ASM2_SRCS.1123298780\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__ASM2_SRCS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.linkerDebug.1991437074\" name=\"GNU Linker\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.linkerDebug\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.OUTPUT_FILE.1004944054\" name=\"Output file (-o)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.OUTPUT_FILE\" value=\"${ProjName}.out\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.MAP_FILE.218517326\" name=\"Write a map file (-Map)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.MAP_FILE\" value=\"${ProjName}.map\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.LIBRARY.819950368\" name=\"Libraries (-l, --library)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.LIBRARY\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.SCRIPTS.167426702\" name=\"Linker command files (-T, --script)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.SCRIPTS\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NOSTARTFILES.733649217\" name=\"Do not use the standard system startup files when linking (-nostartfiles)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NOSTARTFILES\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NODEFAULTLIBS.476050719\" name=\"Do not use the standard system libraries when linking (-nodefaultlibs)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NODEFAULTLIBS\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.GC_SECTIONS.276221738\" name=\"Remove unused sections (--gc-sections)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.GC_SECTIONS\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.STATIC.834002460\" name=\"Do not link with the shared libraries (-static)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.STATIC\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NOSTDLIB.1455376847\" name=\"Do not use the standard system startup files or libraries when linking (-nostdlib)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NOSTDLIB\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__CMD_SRCS.1367738909\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__CMD_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__CMD2_SRCS.41064114\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__CMD2_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__GEN_CMDS.1093744184\" name=\"Generated Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__GEN_CMDS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.hex.395050261\" name=\"GNU Objcopy Utility\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.hex\"/>\n\t\t\t\t\t\t</toolChain>\n\t\t\t\t\t</folderInfo>\n\t\t\t\t\t<sourceEntries>\n\t\t\t\t\t\t<entry flags=\"VALUE_WORKSPACE_PATH|RESOLVED\" kind=\"sourcePath\" name=\"\"/>\n\t\t\t\t\t</sourceEntries>\n\t\t\t\t</configuration>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"org.eclipse.cdt.core.externalSettings\"/>\n\t\t</cconfiguration>\n\t</storageModule>\n\t<storageModule moduleId=\"org.eclipse.cdt.core.LanguageSettingsProviders\"/>\n\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t<project id=\"dpp-qk.com.ti.ccstudio.buildDefinitions.TMS470.ProjectType.678184951\" name=\"TMS470\" projectType=\"com.ti.ccstudio.buildDefinitions.TMS470.ProjectType\"/>\n\t</storageModule>\n\t<storageModule moduleId=\"scannerConfiguration\"/>\n\t<storageModule moduleId=\"org.eclipse.cdt.core.language.mapping\">\n\t\t<project-mappings>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.asmSource\" language=\"com.ti.ccstudio.core.TIASMLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cHeader\" language=\"com.ti.ccstudio.core.TIGCCLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cSource\" language=\"com.ti.ccstudio.core.TIGCCLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cxxHeader\" language=\"com.ti.ccstudio.core.TIGPPLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cxxSource\" language=\"com.ti.ccstudio.core.TIGPPLanguage\"/>\n\t\t</project-mappings>\n\t</storageModule>\n</cproject>\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qk/gnu/.project",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<projectDescription>\n\t<name>dpp-qk</name>\n\t<comment></comment>\n\t<projects>\n\t</projects>\n\t<buildSpec>\n\t\t<buildCommand>\n\t\t\t<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t\t<buildCommand>\n\t\t\t<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>\n\t\t\t<triggers>full,incremental,</triggers>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t</buildSpec>\n\t<natures>\n\t\t<nature>com.ti.ccstudio.core.ccsNature</nature>\n\t\t<nature>org.eclipse.cdt.core.cnature</nature>\n\t\t<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>\n\t\t<nature>org.eclipse.cdt.core.ccnature</nature>\n\t\t<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>\n\t</natures>\n\t<linkedResources>\n\t\t<link>\n\t\t\t<name>QK-nano</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/src/qkn</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>QP-nano</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/src/qfn</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>QP_port</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/ports/arm-cm/qk/gnu</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>TM4C123GH6PM.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/3rd_party/ek-tm4c123gxl/TM4C123GH6PM.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>bsp.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-1-PROJECT_LOC/bsp.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>bsp.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/bsp.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>dpp.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/dpp.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>gpio.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/3rd_party/ek-tm4c123gxl/gpio.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>main.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/main.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>philo.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/philo.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>qstamp.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/include/qstamp.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>rom.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/3rd_party/ek-tm4c123gxl/rom.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>startup_TM4C123GH6PM.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/3rd_party/ek-tm4c123gxl/gnu/startup_TM4C123GH6PM.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>sysctl.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/3rd_party/ek-tm4c123gxl/sysctl.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>system_TM4C123GH6PM.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/3rd_party/ek-tm4c123gxl/system_TM4C123GH6PM.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>system_TM4C123GH6PM.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/3rd_party/ek-tm4c123gxl/system_TM4C123GH6PM.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>table.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/table.c</locationURI>\n\t\t</link>\n\t</linkedResources>\n</projectDescription>\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qk/gnu/Makefile",
    "content": "##############################################################################\n# Product: Makefile for QP-nano on EK-TM4C123GXL, QK-nano, GNU-ARM\n# Last Updated for Version: 6.5.0\n# Date of the Last Update:  2019-04-15\n#\n#                    Q u a n t u m  L e a P s\n#                    ------------------------\n#                    Modern Embedded Software\n#\n# Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# https://www.state-machine.com\n# mailto:info@state-machine.com\n##############################################################################\n# examples of invoking this Makefile:\n# building configurations: Debug (default), Release, and Spy\n# make\n# make CONF=rel\n#\n# cleaning configurations: Debug (default), Release, and Spy\n# make clean\n# make CONF=rel clean\n#\n# NOTE:\n# To use this Makefile on Windows, you will need the GNU make utility, which\n# is included in the Qtools collection for Windows, see:\n#    http://sourceforge.net/projects/qpc/files/Qtools/\n#\n\n#-----------------------------------------------------------------------------\n# project name\n#\nPROJECT     := dpp-qk\n\n#-----------------------------------------------------------------------------\n# project directories\n#\n\n# location of the QP-nano framework (if not provided in an environemnt var.)\nifeq ($(QPN),)\nQPN := ../../../../..\nendif\n\n# QP port used in this project\nQP_PORT_DIR := $(QPN)/ports/arm-cm/qk/gnu\n\n# list of all source directories used by this project\nVPATH = \\\n\t.. \\\n\t../.. \\\n\t$(QPN)/src/qfn \\\n\t$(QPN)/src/qkn \\\n\t$(QP_PORT_DIR) \\\n\t$(QPN)/3rd_party/ek-tm4c123gxl \\\n\t$(QPN)/3rd_party/ek-tm4c123gxl/gnu\n\n# list of all include directories needed by this project\nINCLUDES  = \\\n\t-I../.. \\\n\t-I$(QPN)/include \\\n\t-I$(QP_PORT_DIR) \\\n\t-I$(QPN)/3rd_party/CMSIS/Include \\\n\t-I$(QPN)/3rd_party/ek-tm4c123gxl\n\n#-----------------------------------------------------------------------------\n# files\n#\n\n# assembler source files\nASM_SRCS :=\n\n# C source files\nC_SRCS := \\\n\tbsp.c \\\n\tmain.c \\\n\tphilo.c \\\n\ttable.c \\\n\tsystem_TM4C123GH6PM.c \\\n\tstartup_TM4C123GH6PM.c\n\n# C++ source files\nCPP_SRCS :=\n\nOUTPUT    := $(PROJECT)\nLD_SCRIPT := $(PROJECT).ld\n\nQP_SRCS := \\\n\tqepn.c \\\n\tqfn.c \\\n\tqkn.c \\\n\tqkn_port.c\n\nQP_ASMS :=\n\nLIB_DIRS  :=\nLIBS      :=\n\n# defines\nDEFINES   :=\n\n# ARM CPU, ARCH, FPU, and Float-ABI types...\n# ARM_CPU:   [cortex-m0 | cortex-m0plus | cortex-m1 | cortex-m3 | cortex-m4]\n# ARM_ARCH:  [6 | 7] (NOTE: must match ARM_CPU!)\n# ARM_FPU:   [ | vfp]\n# FLOAT_ABI: [ | soft | softfp | hard]\n#\nARM_CPU   := -mcpu=cortex-m4\nARM_ARCH  := 7   # NOTE: must match the ARM_CPU!\nARM_FPU   := -mfpu=vfp\nFLOAT_ABI := -mfloat-abi=softfp\n\n#-----------------------------------------------------------------------------\n# GNU-ARM toolset (NOTE: You need to adjust to your machine)\n# see https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads\n#\nifeq ($(GNU_ARM),)\nGNU_ARM := $(QTOOLS)/gnu_arm-none-eabi\nendif\n\n# make sure that the GNU-ARM toolset exists...\nifeq (\"$(wildcard $(GNU_ARM))\",\"\")\n$(error GNU_ARM toolset not found. Please adjust the Makefile)\nendif\n\nCC    := $(GNU_ARM)/bin/arm-none-eabi-gcc\nCPP   := $(GNU_ARM)/bin/arm-none-eabi-g++\nAS    := $(GNU_ARM)/bin/arm-none-eabi-as\nLINK  := $(GNU_ARM)/bin/arm-none-eabi-g++\nBIN   := $(GNU_ARM)/bin/arm-none-eabi-objcopy\n\n\n##############################################################################\n# Typically, you should not need to change anything below this line\n\n# basic utilities (included in Qtools for Windows), see:\n#    http://sourceforge.net/projects/qpc/files/Qtools\n\nMKDIR := mkdir\nRM    := rm\n\n#-----------------------------------------------------------------------------\n# build options for various configurations for ARM Cortex-M\n#\n\n# combine all the soruces...\nC_SRCS += $(QP_SRCS)\nASM_SRCS += $(QP_ASMS)\n\nifeq (rel, $(CONF)) # Release configuration ..................................\n\nBIN_DIR := rel\n\nASFLAGS = $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O1 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nCPPFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O1 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nelse # default Debug configuration ..........................................\n\nBIN_DIR := dbg\n\nASFLAGS = -g $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O $(INCLUDES) $(DEFINES)\n\nCPPFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O $(INCLUDES) $(DEFINES)\n\nendif # ......................................................................\n\n\nLINKFLAGS = -T$(LD_SCRIPT) $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb \\\n\t-specs=nosys.specs -specs=nano.specs \\\n\t-Wl,-Map,$(BIN_DIR)/$(OUTPUT).map,--cref,--gc-sections $(LIB_DIRS)\n\n\nASM_OBJS     := $(patsubst %.s,%.o,  $(notdir $(ASM_SRCS)))\nC_OBJS       := $(patsubst %.c,%.o,  $(notdir $(C_SRCS)))\nCPP_OBJS     := $(patsubst %.cpp,%.o,$(notdir $(CPP_SRCS)))\n\nTARGET_BIN   := $(BIN_DIR)/$(OUTPUT).bin\nTARGET_ELF   := $(BIN_DIR)/$(OUTPUT).elf\nASM_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(ASM_OBJS))\nC_OBJS_EXT   := $(addprefix $(BIN_DIR)/, $(C_OBJS))\nC_DEPS_EXT   := $(patsubst %.o, %.d, $(C_OBJS_EXT))\nCPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))\nCPP_DEPS_EXT := $(patsubst %.o, %.d, $(CPP_OBJS_EXT))\n\n# create $(BIN_DIR) if it does not exist\nifeq (\"$(wildcard $(BIN_DIR))\",\"\")\n$(shell $(MKDIR) $(BIN_DIR))\nendif\n\n#-----------------------------------------------------------------------------\n# rules\n#\n\nall: $(TARGET_BIN)\n#all: $(TARGET_ELF)\n\n$(TARGET_BIN): $(TARGET_ELF)\n\t$(BIN) -O binary $< $@\n\n$(TARGET_ELF) : $(ASM_OBJS_EXT) $(C_OBJS_EXT) $(CPP_OBJS_EXT)\n\t$(CC) $(CFLAGS) $(QPN)/include/qstamp.c -o $(BIN_DIR)/qstamp.o\n\t$(LINK) $(LINKFLAGS) -o $@ $^ $(BIN_DIR)/qstamp.o $(LIBS)\n\n$(BIN_DIR)/%.d : %.c\n\t$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@\n\n$(BIN_DIR)/%.d : %.cpp\n\t$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@\n\n$(BIN_DIR)/%.o : %.s\n\t$(AS) $(ASFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.c\n\t$(CC) $(CFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.cpp\n\t$(CPP) $(CPPFLAGS) $< -o $@\n\n# include dependency files only if our goal depends on their existence\nifneq ($(MAKECMDGOALS),clean)\n  ifneq ($(MAKECMDGOALS),show)\n-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)\n  endif\nendif\n\n\n.PHONY : clean\nclean:\n\t-$(RM) $(BIN_DIR)/*.o \\\n\t$(BIN_DIR)/*.d \\\n\t$(BIN_DIR)/*.bin \\\n\t$(BIN_DIR)/*.elf \\\n\t$(BIN_DIR)/*.map\n\t\nshow:\n\t@echo PROJECT = $(PROJECT)\n\t@echo CONF = $(CONF)\n\t@echo DEFINES = $(DEFINES)\n\t@echo ASM_FPU = $(ASM_FPU)\n\t@echo ASM_SRCS = $(ASM_SRCS)\n\t@echo C_SRCS = $(C_SRCS)\n\t@echo CPP_SRCS = $(CPP_SRCS)\n\t@echo ASM_OBJS_EXT = $(ASM_OBJS_EXT)\n\t@echo C_OBJS_EXT = $(C_OBJS_EXT)\n\t@echo C_DEPS_EXT = $(C_DEPS_EXT)\n\t@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)\n\t@echo TARGET_ELF = $(TARGET_ELF)\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qk/gnu/README.txt",
    "content": "About this Example\n==================\nThis example can be built in two different ways:\n- from the command prompt with the provided Makefile.\n- from the TI Code Composer Studio with the provided CCS project.\n\n\nThe Makefile\n============\nThe provided Makefile should be easy to adapt for your own projects.\nIt contains three build configurations: Debug (default), Release, and\nSpy.\n\nAlso, the Makefile has been specifically designed to work as an external\nMakefile with the Eclipse CDT.\n\nThe various build configurations are built as follows:\n\nmake\nmake CONF=rel\nmake CONF=spy\n\nmake clean\nmake CONF=rel clean\nmake CONF=spy clean\n\n***\nNOTE:\nThe installation folder of the GNU-ARM toolset on YOUR machine needs\nto be adjusted in the provided Makefile, by editing the symbol: GNU_ARM.\nAs described in the comment for this symbol, the GNU-ARM toolset is taken\nfrom: http://gnutoolchains.com/arm-eabi\n\nIt is highly recommened to use the same GNU-ARM distribution, especially\nfor ARM Cortex-M4F projects, due to the support for the hardware FPU\n(float-abi=hard).\n***\n\n\nAdjusting Stack and Heap Sizes\n==============================\nThe stack and heap sizes are determined in this project by the GCC linker\nscript (.ld file), which provides a template of the recommended GCC linker\nscript for QP applications.\n\n\nStartup Code\n============\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\ek-tm4c123gxl\\gcc\\startup_TM4C123GH6PM.c\n\nThe file startup_TM4C123GH6PM.c provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qk/gnu/dpp-qk.ld",
    "content": "/*****************************************************************************\n* Product: Linker script for EK-TM4C123GXL, GNU-ARM linker\n* Last Updated for Version: 5.9.8\n* Date of the Last Update:  2017-09-13\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <http://www.gnu.org/licenses/>.\n*\n* Contact information:\n* Web  : http://www.state-machine.com\n* Email: info@state-machine.com\n*****************************************************************************/\nOUTPUT_FORMAT(\"elf32-littlearm\", \"elf32-bigarm\", \"elf32-littlearm\")\nOUTPUT_ARCH(arm)\nENTRY(Reset_Handler) /* entry Point */\n\nMEMORY { /* memory map of Tiva TM4C123GH6PM */\n    ROM (rx)  : ORIGIN = 0x00000000, LENGTH = 256K\n    RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K\n}\n\n/* The size of the stack used by the application. NOTE: you need to adjust  */\nSTACK_SIZE = 1024;\n\n/* The size of the heap used by the application. NOTE: you need to adjust   */\nHEAP_SIZE = 0;\n\nSECTIONS {\n\n    .isr_vector : {        /* the vector table goes FIRST into ROM */\n        KEEP(*(.isr_vector)) /* vector table */\n        . = ALIGN(4);\n    } >ROM\n\n    .text : {              /* code and constants */\n        . = ALIGN(4);\n        *(.text)           /* .text sections (code) */\n        *(.text*)          /* .text* sections (code) */\n        *(.rodata)         /* .rodata sections (constants, strings, etc.) */\n        *(.rodata*)        /* .rodata* sections (constants, strings, etc.) */\n\n        KEEP (*(.init))\n        KEEP (*(.fini))\n\n        . = ALIGN(4);\n    } >ROM\n\n    .preinit_array : {\n        PROVIDE_HIDDEN (__preinit_array_start = .);\n        KEEP (*(.preinit_array*))\n        PROVIDE_HIDDEN (__preinit_array_end = .);\n    } >ROM\n\n    .init_array : {\n        PROVIDE_HIDDEN (__init_array_start = .);\n        KEEP (*(SORT(.init_array.*)))\n        KEEP (*(.init_array*))\n        PROVIDE_HIDDEN (__init_array_end = .);\n    } >ROM\n\n    .fini_array : {\n        PROVIDE_HIDDEN (__fini_array_start = .);\n        KEEP (*(.fini_array*))\n        KEEP (*(SORT(.fini_array.*)))\n        PROVIDE_HIDDEN (__fini_array_end = .);\n    } >ROM\n\n    _etext = .;            /* global symbols at end of code */\n\n    .stack : {\n        __stack_start__ = .;\n        . = . + STACK_SIZE;\n        . = ALIGN(4);\n        __stack_end__ = .;\n    } >RAM\n\n    .data :  AT (_etext) {\n        __data_load = LOADADDR (.data);\n        __data_start = .;\n        *(.data)           /* .data sections */\n        *(.data*)          /* .data* sections */\n        . = ALIGN(4);\n        __data_end__ = .;\n        _edata = __data_end__;\n    } >RAM\n\n    .bss : {\n        __bss_start__ = .;\n        *(.bss)\n        *(.bss*)\n        *(COMMON)\n        . = ALIGN(4);\n        _ebss = .;         /* define a global symbol at bss end */\n        __bss_end__ = .;\n    } >RAM\n\n    __exidx_start = .;\n    .ARM.exidx   : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } >RAM\n    __exidx_end = .;\n\n    PROVIDE ( end = _ebss );\n    PROVIDE ( _end = _ebss );\n    PROVIDE ( __end__ = _ebss );\n\n    .heap : {\n        __heap_start__ = .;\n        . = . + HEAP_SIZE;\n        . = ALIGN(4);\n        __heap_end__ = .;\n    } >RAM\n\n    /* Remove information from the standard libraries */\n    /DISCARD/ : {\n        libc.a ( * )\n        libm.a ( * )\n        libgcc.a ( * )\n    }\n}\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qk/gnu/flash.bat",
    "content": "::============================================================================\n:: Batch file to program the flash of EK-TM4C123GXL\n:: \n:: NOTE: requires the LMFlash programmer (included in QTools for Windows)\n:: \n@echo off\nsetlocal\n\n@echo Load a given binary file to the flash of EK-TM4C123GXL\n@echo usage:   flash binary-file\n@echo example: flash dbg\\blinky-qk.bin\n\n::----------------------------------------------------------------------------\n:: NOTE: The following symbol LMFLASH assumes that LMFlash.exe can\n:: be found on the PATH. You might need to adjust this symbol to the\n:: location of the LMFlash utility on your machine\n::\nset LMFLASH=LMFlash.exe\n\nif [\"%~1\"]==[\"\"] (\n    @echo The binary file missing\n    @goto end\n)\nif not exist %~s1 (\n    @echo The binary file '%1' does not exist\n    @goto end\n)\n\n%LMFLASH% -q ek-tm4c123gxl -e -v -r %1\n\n:end\n\nendlocal"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qk/iar/README.txt",
    "content": "About this Example\n==================\nThis example demonstrates how to use the IAR EWARM IDE to build\na QP application.\n\n\nIAR Project File\n----------------\nThe IAR EWARM project file provided with this example uses relative paths\nto the QP/C framework location (includes, port, and libraries. These\nrelative paths must be modified when the project is moved to different\nrelative location.\n\n\nStack Size and Heap Size\n------------------------\nIn this project, the size of the C stack and heap are determined in\nthe linker script blinky-qk.icf (see the next section).\n\n\nLinker Script\n-------------\nThe IAR linker script provides a template of the recommended linker script\nfor QP applications. This file needs to be customized to set the\napplication-specific sizes of the Stack and Heap. This file can be edited\nfrom the IAR EWARM IDE via the Project Options/Linker settings.\n\n\nStartup Code\n------------\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\ek-tm4c123gxl\\iar\\startup_TM4C123GH6PM.s\n\nThe file startup_TM4C123GH6PM.s provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qk/iar/dpp-qk.ewd",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project>\n    <fileVersion>3</fileVersion>\n    <configuration>\n        <name>Debug</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>1</debug>\n        <settings>\n            <name>C-SPY</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCVariant</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>MemOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MemFile</name>\n                    <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\TexasInstruments\\TM4C123GH6PM.ddf</state>\n                </option>\n                <option>\n                    <name>RunToEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RunToName</name>\n                    <state>main</state>\n                </option>\n                <option>\n                    <name>CExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDDFArgumentProducer</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadSuppressDownload</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDownloadVerifyAll</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCProductVersion</name>\n                    <state>7.40.2.8567</state>\n                </option>\n                <option>\n                    <name>OCDynDriverList</name>\n                    <state>LMIFTDI_ID</state>\n                </option>\n                <option>\n                    <name>OCLastSavedByProductVersion</name>\n                    <state>8.11.1.13270</state>\n                </option>\n                <option>\n                    <name>UseFlashLoader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CLowLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CDevice</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>FlashLoadersV3</name>\n                    <state>$TOOLKIT_DIR$\\config\\flashloader\\TexasInstruments\\FlashTC4_H6_o.board</state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OverrideDefFlashBoard</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesOffset1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesUse1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDeviceConfigMacroFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDebuggerExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAllMTBOptions</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreNrOfCores</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreMaster</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCMulticorePort</name>\n                    <state>53461</state>\n                </option>\n                <option>\n                    <name>OCMulticoreWorkspace</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveProject</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveConfiguration</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadExtraImage</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAttachSlave</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ARMSIM_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCSimDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCSimEnablePSP</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspOverrideConfig</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspConfigFile</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CADI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCadiMemory</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Fast Model</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCADILogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCADILogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CMSISDAP_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CMSISDAPResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>CMSISDAPDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CMSISDAPProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>GDBSERVER_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJTagBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IJET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>8</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>IjetPowerFromProbe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPowerRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetProtocolRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPin</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPrescalerList</name>\n                    <version>1</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IjetProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPreferETB</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetTraceSettingsList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetTraceSizeList</name>\n                    <version>0</version>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>FlashBoardPathSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>JLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>16</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>JLinkSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJLinkHWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>JLinkInitialSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCDoJlinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkCommRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>CCJLinkSpeedRadioV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCUSBDevice</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkResetList</name>\n                    <version>6</version>\n                    <state>5</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCTcpIpAlt</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTcpIpSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSourceDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkDeviceName</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>LMIFTDI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>2</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>LmiftdiSpeed</name>\n                    <state>500</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>PEMICRO_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>3</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJPEMicroShowSettings</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>STLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkResetList</name>\n                    <version>3</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDAPNumber</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkDebugAccessPortRadio</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>THIRDPARTY_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CThirdPartyDriverDll</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>TIFET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVccTypeDefault</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVoltage</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CCMSPFetVCCDefault</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetSettlingtime</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioJtagSpeedType</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetConnection</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetUsbComPort</name>\n                    <state>Automatic</state>\n                </option>\n                <option>\n                    <name>CCMSPFetAllowAccessToBSL</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioEraseFlash</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>XDS100_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>6</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCXds100CatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TIPackageOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TIPackage</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>BoardFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCXds100BreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100DoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockEdit</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCXds100HWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100JtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ProbeList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPortRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPort</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <debuggerPlugins>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n                <loadFlag>1</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n        </debuggerPlugins>\n    </configuration>\n    <configuration>\n        <name>Release</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>0</debug>\n        <settings>\n            <name>C-SPY</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCVariant</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>MemOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MemFile</name>\n                    <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\TexasInstruments\\TM4C123GH6PM.ddf</state>\n                </option>\n                <option>\n                    <name>RunToEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RunToName</name>\n                    <state>main</state>\n                </option>\n                <option>\n                    <name>CExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDDFArgumentProducer</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadSuppressDownload</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDownloadVerifyAll</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCProductVersion</name>\n                    <state>7.40.2.8567</state>\n                </option>\n                <option>\n                    <name>OCDynDriverList</name>\n                    <state>LMIFTDI_ID</state>\n                </option>\n                <option>\n                    <name>OCLastSavedByProductVersion</name>\n                    <state>7.40.2.8567</state>\n                </option>\n                <option>\n                    <name>UseFlashLoader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CLowLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CDevice</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>FlashLoadersV3</name>\n                    <state>$TOOLKIT_DIR$\\config\\flashloader\\TexasInstruments\\FlashTC4_H6_o.board</state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OverrideDefFlashBoard</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesOffset1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesUse1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDeviceConfigMacroFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDebuggerExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAllMTBOptions</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreNrOfCores</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreMaster</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCMulticorePort</name>\n                    <state>53461</state>\n                </option>\n                <option>\n                    <name>OCMulticoreWorkspace</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveProject</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveConfiguration</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadExtraImage</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAttachSlave</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ARMSIM_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCSimDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCSimEnablePSP</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspOverrideConfig</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspConfigFile</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CADI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCadiMemory</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Fast Model</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCADILogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCADILogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CMSISDAP_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CMSISDAPResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>CMSISDAPDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CMSISDAPProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>GDBSERVER_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJTagBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IJET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>8</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>IjetPowerFromProbe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPowerRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetProtocolRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPin</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPrescalerList</name>\n                    <version>1</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IjetProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPreferETB</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetTraceSettingsList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetTraceSizeList</name>\n                    <version>0</version>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>FlashBoardPathSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>JLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>16</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>JLinkSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJLinkHWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>JLinkInitialSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCDoJlinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkCommRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>CCJLinkSpeedRadioV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCUSBDevice</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkResetList</name>\n                    <version>6</version>\n                    <state>5</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCTcpIpAlt</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTcpIpSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSourceDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkDeviceName</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>LMIFTDI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>2</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>LmiftdiSpeed</name>\n                    <state>500</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>PEMICRO_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>3</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJPEMicroShowSettings</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>STLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkResetList</name>\n                    <version>3</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDAPNumber</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkDebugAccessPortRadio</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>THIRDPARTY_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CThirdPartyDriverDll</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>TIFET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVccTypeDefault</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVoltage</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CCMSPFetVCCDefault</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetSettlingtime</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioJtagSpeedType</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetConnection</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetUsbComPort</name>\n                    <state>Automatic</state>\n                </option>\n                <option>\n                    <name>CCMSPFetAllowAccessToBSL</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioEraseFlash</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>XDS100_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>6</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCXds100CatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TIPackageOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TIPackage</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>BoardFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCXds100BreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100DoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockEdit</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCXds100HWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100JtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ProbeList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPortRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPort</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <debuggerPlugins>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n                <loadFlag>1</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n        </debuggerPlugins>\n    </configuration>\n</project>\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qk/iar/dpp-qk.ewp",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project>\n    <fileVersion>3</fileVersion>\n    <configuration>\n        <name>Debug</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>1</debug>\n        <settings>\n            <name>General</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <version>31</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>ExePath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>ObjPath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>ListPath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>GEndianMode</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>Input description</name>\n                    <state>No specifier n, no float nor long long, no scan set, no assignment suppressing, without multibyte support.</state>\n                </option>\n                <option>\n                    <name>Output description</name>\n                    <state>No specifier a, A, no specifier n, no float nor long long, no flags, without multibyte support.</state>\n                </option>\n                <option>\n                    <name>GOutputBinary</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCoreOrChip</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelect</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelectSlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RTDescription</name>\n                    <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n                </option>\n                <option>\n                    <name>OGProductVersion</name>\n                    <state>5.11.0.50579</state>\n                </option>\n                <option>\n                    <name>OGLastSavedByProductVersion</name>\n                    <state>8.40.2.22864</state>\n                </option>\n                <option>\n                    <name>GeneralEnableMisra</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVerbose</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGChipSelectEditMenu</name>\n                    <state>TM4C123GH6PM\tTexasInstruments TM4C123GH6PM</state>\n                </option>\n                <option>\n                    <name>GenLowLevelInterface</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GEndianModeBE</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OGBufferedTerminalOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenStdoutInterface</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>RTConfigPath2</name>\n                    <state>$TOOLKIT_DIR$\\inc\\c\\DLib_Config_Normal.h</state>\n                </option>\n                <option>\n                    <name>GBECoreSlave</name>\n                    <version>27</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>OGUseCmsis</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsisDspLib</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibThreads</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CoreVariant</name>\n                    <version>27</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>GFPUDeviceSlave</name>\n                    <state>TM4C123GH6PM\tTexasInstruments TM4C123GH6PM</state>\n                </option>\n                <option>\n                    <name>FPU2</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>NrRegs</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>NEON</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUCoreSlave2</name>\n                    <version>27</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>OGCMSISPackSelectDevice</name>\n                </option>\n                <option>\n                    <name>OgLibHeap</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGLibAdditionalLocale</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGPrintfVariant</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>OGPrintfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGScanfVariant</name>\n                    <version>0</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OGScanfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenLocaleTags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>GenLocaleDisplayOnly</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DSPExtension</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TrustZone</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TrustZoneModes</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ICCARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>35</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCOptimizationNoSizeConstraints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCPreprocFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocComments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMnemonics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMessages</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDiagSuppress</name>\n                    <state>Pa050</state>\n                </option>\n                <option>\n                    <name>CCDiagRemark</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagWarning</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagError</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCAllowList</name>\n                    <version>1</version>\n                    <state>00000000</state>\n                </option>\n                <option>\n                    <name>CCDebugInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IEndianMode</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCLangConformance</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSignedPlainChar</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRequirePrototypes</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCDiagWarnAreErr</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCompilerRuntimeInfo</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>CCLibConfigHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>PreInclude</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CompilerMisraOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIncludePath2</name>\n                    <state>$PROJ_DIR$\\..</state>\n                    <state>$PROJ_DIR$\\..\\..</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\iar</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl</state>\n                </option>\n                <option>\n                    <name>CCStdIncCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCodeSection</name>\n                    <state>.text</state>\n                </option>\n                <option>\n                    <name>IProcessorMode2</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptStrategy</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevelSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>CCPosIndRopi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndRwpi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndNoDynInit</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccLang</name>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>IccCDialect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccAllowVLA</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccStaticDestr</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccCppInlineSemantics</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccFloatSemantics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCOptStrategySlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCGuardCalls</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccExceptions2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccRTTI2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OICompilerExtraOption</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>AARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>10</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>AObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>ACaseSensitivity</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacroChars</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnWhat</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnOne</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>ADebug</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AltRegisterNames</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ADefines</name>\n                    <state>ewarm</state>\n                </option>\n                <option>\n                    <name>AList</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AListHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AListing</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Includes</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacDefs</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacExps</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacExec</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OnlyAssed</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MultiLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLengthCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLength</name>\n                    <state>80</state>\n                </option>\n                <option>\n                    <name>TabSpacing</name>\n                    <state>8</state>\n                </option>\n                <option>\n                    <name>AXRef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDefines</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefInternal</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDual</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AOutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsEdit</name>\n                    <state>100</state>\n                </option>\n                <option>\n                    <name>AIgnoreStdInclude</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AUserIncludes</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AExtraOptionsCheckV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AExtraOptionsV2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AsmNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>OBJCOPY</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OOCOutputFormat</name>\n                    <version>3</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OCOutputOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OOCOutputFile</name>\n                    <state>dpp-qk.bin</state>\n                </option>\n                <option>\n                    <name>OOCCommandLineProducer</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OOCObjCopyEnable</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CUSTOM</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <extensions></extensions>\n                <cmdline></cmdline>\n                <hasPrio>0</hasPrio>\n            </data>\n        </settings>\n        <settings>\n            <name>BICOMP</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>BUILDACTION</name>\n            <archiveVersion>1</archiveVersion>\n            <data>\n                <prebuild></prebuild>\n                <postbuild></postbuild>\n            </data>\n        </settings>\n        <settings>\n            <name>ILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>23</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>IlinkLibIOConfig</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>XLinkMisraHandler</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkInputFileSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOutputFile</name>\n                    <state>dpp-qk.out</state>\n                </option>\n                <option>\n                    <name>IlinkDebugInfoEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkKeepSymbols</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkConfigDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkMapFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogInitialization</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogModule</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogSection</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogVeneer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfOverride</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile</name>\n                    <state>$PROJ_DIR$\\dpp-qk.icf</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFileSlave</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkSuppressDiags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsRem</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsWarn</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsErr</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkWarningsAreErrors</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkUseExtraOptions</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkLowLevelInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAutoLibEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAdditionalLibs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkOverrideProgramEntryLabel</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabelSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabel</name>\n                    <state>__iar_program_start</state>\n                </option>\n                <option>\n                    <name>DoFill</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>FillerByte</name>\n                    <state>0xFF</state>\n                </option>\n                <option>\n                    <name>FillerStart</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>FillerEnd</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>CrcSize</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcAlign</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcPoly</name>\n                    <state>0x11021</state>\n                </option>\n                <option>\n                    <name>CrcCompl</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcBitOrder</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcInitialValue</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>DoCrc</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkBufferedTerminalOutput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkStdoutInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcFullSize</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIElfToolPostProcess</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogAutoLibSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogRedirSymbols</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogUnusedFragments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcReverseByteOrder</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcUseAsInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptInline</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsAllow</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsForce</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptMergeDuplSections</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptUseVfe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptForceVfe</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackAnalysisEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackControlFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkStackCallGraphFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CrcAlgorithm</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcUnitSize</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkThreadsSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogCallGraph</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile_AltDefault</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkHeapSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLocaleSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkTrustzoneImportLibraryOut</name>\n                    <state>dpp-qk_import_lib.o</state>\n                </option>\n                <option>\n                    <name>OILinkExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign2</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IARCHIVE</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>IarchiveInputs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IarchiveOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IarchiveOutput</name>\n                    <state>###Unitialized###</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>BILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>Coder</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n    </configuration>\n    <configuration>\n        <name>Release</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>0</debug>\n        <settings>\n            <name>General</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <version>31</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>ExePath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>ObjPath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>ListPath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>GEndianMode</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>Input description</name>\n                    <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n                </option>\n                <option>\n                    <name>Output description</name>\n                    <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n                </option>\n                <option>\n                    <name>GOutputBinary</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCoreOrChip</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelect</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelectSlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RTDescription</name>\n                    <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n                </option>\n                <option>\n                    <name>OGProductVersion</name>\n                    <state>5.11.0.50579</state>\n                </option>\n                <option>\n                    <name>OGLastSavedByProductVersion</name>\n                    <state>7.40.3.8937</state>\n                </option>\n                <option>\n                    <name>GeneralEnableMisra</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVerbose</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGChipSelectEditMenu</name>\n                    <state>TM4C123GH6PM\tTexasInstruments TM4C123GH6PM</state>\n                </option>\n                <option>\n                    <name>GenLowLevelInterface</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GEndianModeBE</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OGBufferedTerminalOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenStdoutInterface</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>RTConfigPath2</name>\n                    <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n                </option>\n                <option>\n                    <name>GBECoreSlave</name>\n                    <version>27</version>\n                    <state>40</state>\n                </option>\n                <option>\n                    <name>OGUseCmsis</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsisDspLib</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibThreads</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CoreVariant</name>\n                    <version>27</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>GFPUDeviceSlave</name>\n                    <state>TM4C123GH6PM\tTexasInstruments TM4C123GH6PM</state>\n                </option>\n                <option>\n                    <name>FPU2</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>NrRegs</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>NEON</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUCoreSlave2</name>\n                    <version>27</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>OGCMSISPackSelectDevice</name>\n                </option>\n                <option>\n                    <name>OgLibHeap</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGLibAdditionalLocale</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGPrintfVariant</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>OGPrintfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGScanfVariant</name>\n                    <version>0</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OGScanfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenLocaleTags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>GenLocaleDisplayOnly</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DSPExtension</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TrustZone</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TrustZoneModes</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ICCARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>35</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCOptimizationNoSizeConstraints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDefines</name>\n                    <state>NDEBUG</state>\n                </option>\n                <option>\n                    <name>CCPreprocFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocComments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMnemonics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMessages</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDiagSuppress</name>\n                    <state>Pa050</state>\n                </option>\n                <option>\n                    <name>CCDiagRemark</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagWarning</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagError</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCAllowList</name>\n                    <version>1</version>\n                    <state>11111110</state>\n                </option>\n                <option>\n                    <name>CCDebugInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IEndianMode</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCLangConformance</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSignedPlainChar</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRequirePrototypes</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCDiagWarnAreErr</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCompilerRuntimeInfo</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>CCLibConfigHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>PreInclude</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CompilerMisraOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIncludePath2</name>\n                    <state>$PROJ_DIR$\\..</state>\n                    <state>$PROJ_DIR$\\..\\..</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\iar</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl</state>\n                </option>\n                <option>\n                    <name>CCStdIncCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCodeSection</name>\n                    <state>.text</state>\n                </option>\n                <option>\n                    <name>IProcessorMode2</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevel</name>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>CCOptStrategy</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevelSlave</name>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>CCPosIndRopi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndRwpi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndNoDynInit</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccLang</name>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>IccCDialect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccAllowVLA</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccStaticDestr</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCppInlineSemantics</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccFloatSemantics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCOptStrategySlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCGuardCalls</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccExceptions2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccRTTI2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OICompilerExtraOption</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>AARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>10</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>AObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>ACaseSensitivity</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacroChars</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnWhat</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnOne</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>ADebug</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AltRegisterNames</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ADefines</name>\n                    <state>ewarm</state>\n                </option>\n                <option>\n                    <name>AList</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AListHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AListing</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Includes</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacDefs</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacExps</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacExec</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OnlyAssed</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MultiLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLengthCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLength</name>\n                    <state>80</state>\n                </option>\n                <option>\n                    <name>TabSpacing</name>\n                    <state>8</state>\n                </option>\n                <option>\n                    <name>AXRef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDefines</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefInternal</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDual</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AOutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsEdit</name>\n                    <state>100</state>\n                </option>\n                <option>\n                    <name>AIgnoreStdInclude</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AUserIncludes</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AExtraOptionsCheckV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AExtraOptionsV2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AsmNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>OBJCOPY</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OOCOutputFormat</name>\n                    <version>3</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OCOutputOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OOCOutputFile</name>\n                    <state>dpp-qk.bin</state>\n                </option>\n                <option>\n                    <name>OOCCommandLineProducer</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OOCObjCopyEnable</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CUSTOM</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <extensions></extensions>\n                <cmdline></cmdline>\n                <hasPrio>0</hasPrio>\n            </data>\n        </settings>\n        <settings>\n            <name>BICOMP</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>BUILDACTION</name>\n            <archiveVersion>1</archiveVersion>\n            <data>\n                <prebuild></prebuild>\n                <postbuild></postbuild>\n            </data>\n        </settings>\n        <settings>\n            <name>ILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>23</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>IlinkLibIOConfig</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>XLinkMisraHandler</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkInputFileSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOutputFile</name>\n                    <state>dpp-qk.out</state>\n                </option>\n                <option>\n                    <name>IlinkDebugInfoEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkKeepSymbols</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkConfigDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkMapFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogInitialization</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogModule</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogSection</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogVeneer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfOverride</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile</name>\n                    <state>$PROJ_DIR$\\dpp-qk.icf</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFileSlave</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkSuppressDiags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsRem</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsWarn</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsErr</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkWarningsAreErrors</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkUseExtraOptions</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkLowLevelInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAutoLibEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAdditionalLibs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkOverrideProgramEntryLabel</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabelSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabel</name>\n                    <state>__iar_program_start</state>\n                </option>\n                <option>\n                    <name>DoFill</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>FillerByte</name>\n                    <state>0xFF</state>\n                </option>\n                <option>\n                    <name>FillerStart</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>FillerEnd</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>CrcSize</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcAlign</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcPoly</name>\n                    <state>0x11021</state>\n                </option>\n                <option>\n                    <name>CrcCompl</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcBitOrder</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcInitialValue</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>DoCrc</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkBufferedTerminalOutput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkStdoutInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcFullSize</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIElfToolPostProcess</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogAutoLibSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogRedirSymbols</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogUnusedFragments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcReverseByteOrder</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcUseAsInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptInline</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsAllow</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsForce</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptMergeDuplSections</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptUseVfe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptForceVfe</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackAnalysisEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackControlFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkStackCallGraphFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CrcAlgorithm</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcUnitSize</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkThreadsSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogCallGraph</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile_AltDefault</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkHeapSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLocaleSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkTrustzoneImportLibraryOut</name>\n                    <state>###Unitialized###</state>\n                </option>\n                <option>\n                    <name>OILinkExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign2</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IARCHIVE</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>IarchiveInputs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IarchiveOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IarchiveOutput</name>\n                    <state>###Unitialized###</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>BILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>Coder</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n    </configuration>\n    <mfc>\n        <configuration>Debug</configuration>\n    </mfc>\n    <group>\n        <name>Application</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\bsp.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\bsp.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\dpp.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\main.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\philo.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\table.c</name>\n        </file>\n    </group>\n    <group>\n        <name>ek-tm4c123gxl</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\iar\\startup_TM4C123GH6PM.s</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</name>\n        </file>\n    </group>\n    <group>\n        <name>QP</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qepn.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qfn.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qkn\\qkn.c</name>\n        </file>\n    </group>\n    <group>\n        <name>QP_port</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\iar\\qfn_port.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\iar\\qkn_port.c</name>\n        </file>\n    </group>\n</project>\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qk/iar/dpp-qk.eww",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<workspace>\n  <project>\n    <path>$WS_DIR$\\dpp-qk.ewp</path>\n  </project>\n  <batchBuild/>\n</workspace>\n\n\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qk/iar/dpp-qk.icf",
    "content": "/*###ICF### Section handled by ICF editor, don't touch! ****/\n/*-Editor annotation file-*/\n/* IcfEditorFile=\"$TOOLKIT_DIR$\\config\\ide\\IcfEditor\\cortex_v1_0.xml\" */\n/*-Specials-*/\ndefine symbol __ICFEDIT_intvec_start__ = 0x00000000;\n/*-Memory Regions-*/\ndefine symbol __ICFEDIT_region_ROM_start__ = 0x00000000;\ndefine symbol __ICFEDIT_region_ROM_end__   = 0x0003FFFF;\ndefine symbol __ICFEDIT_region_RAM_start__ = 0x20000000;\ndefine symbol __ICFEDIT_region_RAM_end__   = 0x20007FFF;\n/*-Sizes-*/\ndefine symbol __ICFEDIT_size_cstack__ = 1024;\ndefine symbol __ICFEDIT_size_heap__   = 0;\n/**** End of ICF editor section. ###ICF###*/\n\ndefine memory mem with size = 4G;\ndefine region ROM_region   = mem:[from __ICFEDIT_region_ROM_start__   to __ICFEDIT_region_ROM_end__];\ndefine region RAM_region   = mem:[from __ICFEDIT_region_RAM_start__   to __ICFEDIT_region_RAM_end__];\n\ndefine block CSTACK    with alignment = 8, size = __ICFEDIT_size_cstack__   { };\ndefine block HEAP      with alignment = 8, size = __ICFEDIT_size_heap__     { };\n\ninitialize by copy { readwrite };\ndo not initialize  { section .noinit };\n\nplace at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };\nplace in ROM_region   { readonly };\nplace at start of RAM_region {block CSTACK }; \nplace in RAM_region   { readwrite, block HEAP  };"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qpn_conf.h",
    "content": "/*****************************************************************************\n* Product: QP-nano configuration for the Blinky example\n* Last Updated for Version: 6.1.1\n* Date of the Last Update:  2018-02-18\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef QPN_CONF_H\n#define QPN_CONF_H\n\n#define Q_PARAM_SIZE            4U\n#define QF_MAX_TICK_RATE        1U\n#define QF_TIMEEVT_CTR_SIZE     2U\n#define QF_TIMEEVT_PERIODIC\n#define QK_SCHED_LOCK\n\n#endif  /* QPN_CONF_H */\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qv/arm/README.txt",
    "content": "About this Example\n==================\nThis example demonstrates how to use the uVision IDE together with\nthe MDK-ARM toolchain.\n\n***\nNOTE: This example requires installing the following Software Pack\nin the Keil uVision: Keil::TM4C_DFP.\n***\n\n\nuVision Project File\n====================\nThe MDK-ARM uVision project file provided with this example uses\nrelative paths to the QP/C framework location (includes, port, and\nlibraries. These relative paths must be modified when the project\nis moved to different relative location.\n\n\nAdjusting Stack and Heap Sizes\n==============================\nThe stack and heap sizes are determined in this project by the\ncommand-line options for the ARM assembler (see the Asm tab in\nthe \"Options for Target\" dialog box in uVision). Specifically,\nyou should define symbols: Stack_Size=xxx Heap_Size=yyy, where\nxxx represents a numerical value of stack size and yyy the\nnumerical value of the heap size (for most embedded projects\nyyy should be 0, as the using the heap is not recommended).\n\n\nStartup Code\n============\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s\n\nThe file startup_TM4C123GH6PM.s provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n  "
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qv/arm/dpp-qv.uvoptx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<ProjectOpt xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_optx.xsd\">\n\n  <SchemaVersion>1.0</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Extensions>\n    <cExt>*.c</cExt>\n    <aExt>*.s*; *.src; *.a*</aExt>\n    <oExt>*.obj</oExt>\n    <lExt>*.lib</lExt>\n    <tExt>*.txt; *.h; *.inc</tExt>\n    <pExt>*.plm</pExt>\n    <CppX>*.cpp</CppX>\n    <nMigrate>0</nMigrate>\n  </Extensions>\n\n  <DaveTm>\n    <dwLowDateTime>0</dwLowDateTime>\n    <dwHighDateTime>0</dwHighDateTime>\n  </DaveTm>\n\n  <Target>\n    <TargetName>dpp-dbg</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\dbg\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>1</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>4</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>0</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <nTsel>8</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>BIN\\lmidk-agdi.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>UL2CM3(-O207 -S0 -C0 -FO7  -FN1 -FC1000 -FD20000000 -FF0TM4C123_256 -FL040000 -FS00 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E2006F4 -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <Lin2Executable></Lin2Executable>\n      <Lin2ConfigFile></Lin2ConfigFile>\n      <bLin2Auto>0</bLin2Auto>\n    </TargetOption>\n  </Target>\n\n  <Target>\n    <TargetName>dpp-rel</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\rel\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>0</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>4</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>0</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <nTsel>3</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>BIN\\lmidk-agdi.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGUARM</Key>\n          <Name>ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÈ`»\n´­­ª¤ô </Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E10259B -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>-O207 -S0 -C0 -FO7  -FN1 -FC1000 -FD20000000 -FF0TM4C123_256 -FL040000 -FS00 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM)</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <Lin2Executable></Lin2Executable>\n      <Lin2ConfigFile></Lin2ConfigFile>\n      <bLin2Auto>0</bLin2Auto>\n    </TargetOption>\n  </Target>\n\n  <Group>\n    <GroupName>Applicatioin</GroupName>\n    <tvExp>0</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>1</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\bsp.c</PathWithFileName>\n      <FilenameWithoutPath>bsp.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>2</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\main.c</PathWithFileName>\n      <FilenameWithoutPath>main.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>3</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\dpp.h</PathWithFileName>\n      <FilenameWithoutPath>dpp.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>4</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\bsp.h</PathWithFileName>\n      <FilenameWithoutPath>bsp.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>5</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\philo.c</PathWithFileName>\n      <FilenameWithoutPath>philo.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>6</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\table.c</PathWithFileName>\n      <FilenameWithoutPath>table.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>ek-tm4c123gxl</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>7</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</PathWithFileName>\n      <FilenameWithoutPath>system_TM4C123GH6PM.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>8</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</PathWithFileName>\n      <FilenameWithoutPath>TM4C123GH6PM.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>9</FileNumber>\n      <FileType>2</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s</PathWithFileName>\n      <FilenameWithoutPath>startup_TM4C123GH6PM.s</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>10</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\gpio.h</PathWithFileName>\n      <FilenameWithoutPath>gpio.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>11</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\rom.h</PathWithFileName>\n      <FilenameWithoutPath>rom.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>12</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\sysctl.h</PathWithFileName>\n      <FilenameWithoutPath>sysctl.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>13</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</PathWithFileName>\n      <FilenameWithoutPath>system_TM4C123GH6PM.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>14</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</PathWithFileName>\n      <FilenameWithoutPath>qepn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>15</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</PathWithFileName>\n      <FilenameWithoutPath>qfn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>16</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qvn\\qvn.c</PathWithFileName>\n      <FilenameWithoutPath>qvn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>17</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\arm\\qvn_port.c</PathWithFileName>\n      <FilenameWithoutPath>qvn_port.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n</ProjectOpt>\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qv/arm/dpp-qv.uvprojx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<Project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_projx.xsd\">\n\n  <SchemaVersion>2.1</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Targets>\n    <Target>\n      <TargetName>dpp-dbg</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>5060183::V5.06 update 2 (build 183)::ARMCC</pCCUsed>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>TM4C123GH6PM</Device>\n          <Vendor>Texas Instruments</Vendor>\n          <PackID>Keil.TM4C_DFP.1.1.0</PackID>\n          <PackURL>http://www.keil.com/pack/</PackURL>\n          <Cpu>IROM(0x00000000,0x040000) IRAM(0x20000000,0x008000) CPUTYPE(\"Cortex-M4\") FPU2 CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0TM4C123_256 -FS00 -FL040000 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:TM4C123GH6PM$Device\\Include\\TM4C123\\TM4C123.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:TM4C123GH6PM$SVD\\TM4C123\\TM4C123GH6PM.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\dbg\\</OutputDirectory>\n          <OutputName>dpp-qv</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>1</DebugInformation>\n          <BrowseInformation>1</BrowseInformation>\n          <ListingPath>.\\dbg\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\dbg\\dpp-qv.bin .\\dbg\\dpp-qv.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>1</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4097</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3></Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M4\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>2</RvdsVP>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>1</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>2</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>0</uC99>\n            <useXO>0</useXO>\n            <v6Lang>1</v6Lang>\n            <v6LangP>1</v6LangP>\n            <vShortEn>1</vShortEn>\n            <vShortWch>1</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>__FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\arm;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile></ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Applicatioin</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>dpp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\dpp.h</FilePath>\n            </File>\n            <File>\n              <FileName>bsp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\bsp.h</FilePath>\n            </File>\n            <File>\n              <FileName>philo.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\philo.c</FilePath>\n            </File>\n            <File>\n              <FileName>table.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\table.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>ek-tm4c123gxl</GroupName>\n          <Files>\n            <File>\n              <FileName>system_TM4C123GH6PM.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</FilePath>\n            </File>\n            <File>\n              <FileName>TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</FilePath>\n            </File>\n            <File>\n              <FileName>startup_TM4C123GH6PM.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s</FilePath>\n            </File>\n            <File>\n              <FileName>gpio.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\gpio.h</FilePath>\n            </File>\n            <File>\n              <FileName>rom.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\rom.h</FilePath>\n            </File>\n            <File>\n              <FileName>sysctl.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\sysctl.h</FilePath>\n            </File>\n            <File>\n              <FileName>system_TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qvn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qvn\\qvn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qvn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\arm\\qvn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n    <Target>\n      <TargetName>dpp-rel</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>TM4C123GH6PM</Device>\n          <Vendor>Texas Instruments</Vendor>\n          <PackID>Keil.TM4C_DFP.1.1.0</PackID>\n          <PackURL>http://www.keil.com/pack/</PackURL>\n          <Cpu>IROM(0x00000000,0x040000) IRAM(0x20000000,0x008000) CPUTYPE(\"Cortex-M4\") FPU2 CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0TM4C123_256 -FS00 -FL040000 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:TM4C123GH6PM$Device\\Include\\TM4C123\\TM4C123.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:TM4C123GH6PM$SVD\\TM4C123\\TM4C123GH6PM.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\rel\\</OutputDirectory>\n          <OutputName>dpp-qv</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>0</DebugInformation>\n          <BrowseInformation>0</BrowseInformation>\n          <ListingPath>.\\rel\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\rel\\dpp-qv.bin .\\rel\\dpp-qv.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>1</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4097</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3></Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M4\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>2</RvdsVP>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>4</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>2</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>0</uC99>\n            <useXO>0</useXO>\n            <v6Lang>1</v6Lang>\n            <v6LangP>1</v6LangP>\n            <vShortEn>1</vShortEn>\n            <vShortWch>1</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>NDEBUG __FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\arm;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile>dpp-qv.sct</ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Applicatioin</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>dpp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\dpp.h</FilePath>\n            </File>\n            <File>\n              <FileName>bsp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\bsp.h</FilePath>\n            </File>\n            <File>\n              <FileName>philo.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\philo.c</FilePath>\n            </File>\n            <File>\n              <FileName>table.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\table.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>ek-tm4c123gxl</GroupName>\n          <Files>\n            <File>\n              <FileName>system_TM4C123GH6PM.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</FilePath>\n            </File>\n            <File>\n              <FileName>TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</FilePath>\n            </File>\n            <File>\n              <FileName>startup_TM4C123GH6PM.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s</FilePath>\n            </File>\n            <File>\n              <FileName>gpio.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\gpio.h</FilePath>\n            </File>\n            <File>\n              <FileName>rom.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\rom.h</FilePath>\n            </File>\n            <File>\n              <FileName>sysctl.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\sysctl.h</FilePath>\n            </File>\n            <File>\n              <FileName>system_TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qvn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qvn\\qvn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qvn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\arm\\qvn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n  </Targets>\n\n</Project>\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qv/armclang/README.txt",
    "content": "About this Example\n==================\nThis example demonstrates how to use the uVision IDE together with\nthe MDK-ARM toolchain.\n\n***\nNOTE: This example requires installing the following Software Pack\nin the Keil uVision: Keil::TM4C_DFP.\n***\n\n\nuVision Project File\n====================\nThe MDK-ARM uVision project file provided with this example uses\nrelative paths to the QP/C framework location (includes, port, and\nlibraries. These relative paths must be modified when the project\nis moved to different relative location.\n\n\nAdjusting Stack and Heap Sizes\n==============================\nThe stack and heap sizes are determined in this project by the\ncommand-line options for the ARM assembler (see the Asm tab in\nthe \"Options for Target\" dialog box in uVision). Specifically,\nyou should define symbols: Stack_Size=xxx Heap_Size=yyy, where\nxxx represents a numerical value of stack size and yyy the\nnumerical value of the heap size (for most embedded projects\nyyy should be 0, as the using the heap is not recommended).\n\n\nStartup Code\n============\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s\n\nThe file startup_TM4C123GH6PM.s provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n  "
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qv/armclang/dpp-qv.uvoptx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<ProjectOpt xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_optx.xsd\">\n\n  <SchemaVersion>1.0</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Extensions>\n    <cExt>*.c</cExt>\n    <aExt>*.s*; *.src; *.a*</aExt>\n    <oExt>*.obj; *.o</oExt>\n    <lExt>*.lib</lExt>\n    <tExt>*.txt; *.h; *.inc</tExt>\n    <pExt>*.plm</pExt>\n    <CppX>*.cpp</CppX>\n    <nMigrate>0</nMigrate>\n  </Extensions>\n\n  <DaveTm>\n    <dwLowDateTime>0</dwLowDateTime>\n    <dwHighDateTime>0</dwHighDateTime>\n  </DaveTm>\n\n  <Target>\n    <TargetName>dpp-dbg</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\dbg\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>1</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>4</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>0</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <nTsel>8</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>BIN\\lmidk-agdi.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>UL2CM3(-O207 -S0 -C0 -FO7  -FN1 -FC1000 -FD20000000 -FF0TM4C123_256 -FL040000 -FS00 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E2006F4 -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Target>\n    <TargetName>dpp-rel</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\rel\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>0</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>4</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>0</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <nTsel>8</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>BIN\\lmidk-agdi.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGUARM</Key>\n          <Name>ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÈ`»\n´­­ª¤ô </Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E10259B -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>-O207 -S0 -C0 -FO7  -FN1 -FC1000 -FD20000000 -FF0TM4C123_256 -FL040000 -FS00 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM)</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Group>\n    <GroupName>Applicatioin</GroupName>\n    <tvExp>0</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>1</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\bsp.c</PathWithFileName>\n      <FilenameWithoutPath>bsp.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>2</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\main.c</PathWithFileName>\n      <FilenameWithoutPath>main.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>3</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\dpp.h</PathWithFileName>\n      <FilenameWithoutPath>dpp.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>4</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\bsp.h</PathWithFileName>\n      <FilenameWithoutPath>bsp.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>5</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\philo.c</PathWithFileName>\n      <FilenameWithoutPath>philo.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>6</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\table.c</PathWithFileName>\n      <FilenameWithoutPath>table.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>ek-tm4c123gxl</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>7</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</PathWithFileName>\n      <FilenameWithoutPath>system_TM4C123GH6PM.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>8</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</PathWithFileName>\n      <FilenameWithoutPath>TM4C123GH6PM.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>9</FileNumber>\n      <FileType>2</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s</PathWithFileName>\n      <FilenameWithoutPath>startup_TM4C123GH6PM.s</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>10</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\gpio.h</PathWithFileName>\n      <FilenameWithoutPath>gpio.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>11</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\rom.h</PathWithFileName>\n      <FilenameWithoutPath>rom.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>12</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\sysctl.h</PathWithFileName>\n      <FilenameWithoutPath>sysctl.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>13</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</PathWithFileName>\n      <FilenameWithoutPath>system_TM4C123GH6PM.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>14</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</PathWithFileName>\n      <FilenameWithoutPath>qepn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>15</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</PathWithFileName>\n      <FilenameWithoutPath>qfn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>16</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qvn\\qvn.c</PathWithFileName>\n      <FilenameWithoutPath>qvn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP_port</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>17</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qfn_port.h</PathWithFileName>\n      <FilenameWithoutPath>qfn_port.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>18</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qvn_port.c</PathWithFileName>\n      <FilenameWithoutPath>qvn_port.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n</ProjectOpt>\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qv/armclang/dpp-qv.uvprojx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<Project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_projx.xsd\">\n\n  <SchemaVersion>2.1</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Targets>\n    <Target>\n      <TargetName>dpp-dbg</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6070000::V6.7::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>TM4C123GH6PM</Device>\n          <Vendor>Texas Instruments</Vendor>\n          <PackID>Keil.TM4C_DFP.1.1.0</PackID>\n          <PackURL>http://www.keil.com/pack/</PackURL>\n          <Cpu>IROM(0x00000000,0x040000) IRAM(0x20000000,0x008000) CPUTYPE(\"Cortex-M4\") FPU2 CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0TM4C123_256 -FS00 -FL040000 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:TM4C123GH6PM$Device\\Include\\TM4C123\\TM4C123.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:TM4C123GH6PM$SVD\\TM4C123\\TM4C123GH6PM.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\dbg\\</OutputDirectory>\n          <OutputName>dpp-qv</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>1</DebugInformation>\n          <BrowseInformation>1</BrowseInformation>\n          <ListingPath>.\\dbg\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\dbg\\dpp-qv.bin .\\dbg\\dpp-qv.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>1</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4097</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3></Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M4\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>2</RvdsVP>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>0</uC99>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>1</vShortEn>\n            <vShortWch>1</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>__FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile></ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Applicatioin</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>dpp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\dpp.h</FilePath>\n            </File>\n            <File>\n              <FileName>bsp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\bsp.h</FilePath>\n            </File>\n            <File>\n              <FileName>philo.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\philo.c</FilePath>\n            </File>\n            <File>\n              <FileName>table.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\table.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>ek-tm4c123gxl</GroupName>\n          <Files>\n            <File>\n              <FileName>system_TM4C123GH6PM.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</FilePath>\n            </File>\n            <File>\n              <FileName>TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</FilePath>\n            </File>\n            <File>\n              <FileName>startup_TM4C123GH6PM.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s</FilePath>\n            </File>\n            <File>\n              <FileName>gpio.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\gpio.h</FilePath>\n            </File>\n            <File>\n              <FileName>rom.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\rom.h</FilePath>\n            </File>\n            <File>\n              <FileName>sysctl.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\sysctl.h</FilePath>\n            </File>\n            <File>\n              <FileName>system_TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qvn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qvn\\qvn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qvn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qvn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n    <Target>\n      <TargetName>dpp-rel</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6070000::V6.7::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>TM4C123GH6PM</Device>\n          <Vendor>Texas Instruments</Vendor>\n          <PackID>Keil.TM4C_DFP.1.1.0</PackID>\n          <PackURL>http://www.keil.com/pack/</PackURL>\n          <Cpu>IROM(0x00000000,0x040000) IRAM(0x20000000,0x008000) CPUTYPE(\"Cortex-M4\") FPU2 CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0TM4C123_256 -FS00 -FL040000 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:TM4C123GH6PM$Device\\Include\\TM4C123\\TM4C123.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:TM4C123GH6PM$SVD\\TM4C123\\TM4C123GH6PM.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\rel\\</OutputDirectory>\n          <OutputName>dpp-qv</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>0</DebugInformation>\n          <BrowseInformation>0</BrowseInformation>\n          <ListingPath>.\\rel\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\rel\\dpp-qv.bin .\\rel\\dpp-qv.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>1</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4097</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3></Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M4\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>2</RvdsVP>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>0</uC99>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>1</vShortEn>\n            <vShortWch>1</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>NDEBUG</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile>dpp-qv.sct</ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Applicatioin</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>dpp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\dpp.h</FilePath>\n            </File>\n            <File>\n              <FileName>bsp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\bsp.h</FilePath>\n            </File>\n            <File>\n              <FileName>philo.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\philo.c</FilePath>\n            </File>\n            <File>\n              <FileName>table.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\table.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>ek-tm4c123gxl</GroupName>\n          <Files>\n            <File>\n              <FileName>system_TM4C123GH6PM.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</FilePath>\n            </File>\n            <File>\n              <FileName>TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</FilePath>\n            </File>\n            <File>\n              <FileName>startup_TM4C123GH6PM.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s</FilePath>\n            </File>\n            <File>\n              <FileName>gpio.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\gpio.h</FilePath>\n            </File>\n            <File>\n              <FileName>rom.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\rom.h</FilePath>\n            </File>\n            <File>\n              <FileName>sysctl.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\sysctl.h</FilePath>\n            </File>\n            <File>\n              <FileName>system_TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qvn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qvn\\qvn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qvn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qvn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n  </Targets>\n\n  <RTE>\n    <apis/>\n    <components/>\n    <files/>\n  </RTE>\n\n</Project>\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qv/bsp.c",
    "content": "/*****************************************************************************\n* Product: DPP on EK-TM4C123GXL board, cooperative QV kernel\n* Last Updated for Version: 5.8.0\n* Date of the Last Update:  2016-11-06\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"dpp.h\"\n#include \"bsp.h\"\n\n#include \"TM4C123GH6PM.h\"        /* the device specific header (TI) */\n#include \"rom.h\"                 /* the built-in ROM functions (TI) */\n#include \"sysctl.h\"              /* system control driver (TI) */\n#include \"gpio.h\"                /* GPIO driver (TI) */\n/* add other drivers if necessary... */\n\n//Q_DEFINE_THIS_FILE\n\n/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n* Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n* DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n*/\nenum KernelUnawareISRs { /* see NOTE00 */\n    /* ... */\n    MAX_KERNEL_UNAWARE_CMSIS_PRI  /* keep always last */\n};\n/* \"kernel-unaware\" interrupts can't overlap \"kernel-aware\" interrupts */\nQ_ASSERT_COMPILE(MAX_KERNEL_UNAWARE_CMSIS_PRI <= QF_AWARE_ISR_CMSIS_PRI);\n\nenum KernelAwareISRs {\n    GPIOA_PRIO = QF_AWARE_ISR_CMSIS_PRI, /* see NOTE00 */\n    SYSTICK_PRIO,\n    /* ... */\n    MAX_KERNEL_AWARE_CMSIS_PRI /* keep always last */\n};\n/* \"kernel-aware\" interrupts should not overlap the PendSV priority */\nQ_ASSERT_COMPILE(MAX_KERNEL_AWARE_CMSIS_PRI <= (0xFF >>(8-__NVIC_PRIO_BITS)));\n\n/* ISRs defined in this BSP ------------------------------------------------*/\nvoid SysTick_Handler(void);\nvoid GPIOPortA_IRQHandler(void);\n\n/* Local-scope objects -----------------------------------------------------*/\n#define LED_RED     (1U << 1)\n#define LED_GREEN   (1U << 3)\n#define LED_BLUE    (1U << 2)\n\n#define BTN_SW1     (1U << 4)\n#define BTN_SW2     (1U << 0)\n\n/* random seed */\nstatic uint32_t l_rnd;\n\n\n/* ISRs used in this project ===============================================*/\nvoid SysTick_Handler(void) {\n    /* state of the button debouncing, see below */\n    static struct ButtonsDebouncing {\n        uint32_t depressed;\n        uint32_t previous;\n    } buttons = { ~0U, ~0U };\n    uint32_t current;\n    uint32_t tmp;\n\n    QF_tickXISR(0U); /* process time events for rate 0 */\n\n\n    /* Perform the debouncing of buttons. The algorithm for debouncing\n    * adapted from the book \"Embedded Systems Dictionary\" by Jack Ganssle\n    * and Michael Barr, page 71.\n    */\n    current = ~GPIOF->DATA_Bits[BTN_SW1 | BTN_SW2]; /* read SW1 and SW2 */\n    tmp = buttons.depressed; /* save the debounced depressed buttons */\n    buttons.depressed |= (buttons.previous & current); /* set depressed */\n    buttons.depressed &= (buttons.previous | current); /* clear released */\n    buttons.previous   = current; /* update the history */\n    tmp ^= buttons.depressed;     /* changed debounced depressed */\n    if ((tmp & BTN_SW1) != 0U) {  /* debounced SW1 state changed? */\n        if ((buttons.depressed & BTN_SW1) != 0U) { /* is SW1 depressed? */\n            QACTIVE_POST_ISR((QActive *)&AO_Table, PAUSE_SIG, 0U);\n        }\n        else {            /* the button is released */\n            QACTIVE_POST_ISR((QActive *)&AO_Table, SERVE_SIG, 0U);\n        }\n    }\n}\n/*..........................................................................*/\nvoid GPIOPortA_IRQHandler(void) {\n    QACTIVE_POST_ISR((QActive *)&AO_Table, MAX_SIG, 0U); /* for testing */\n}\n\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    /* NOTE: SystemInit() already called from the startup code\n    *  but SystemCoreClock needs to be updated\n    */\n    SystemCoreClockUpdate();\n\n    /*\n    * Do NOT to use the automatic FPU state preservation and\n    * do NOT to use the FPU lazy stacking.\n    *\n    * NOTE:\n    * Use the following setting when FPU is used at the task-level only and\n    * NOT in any ISR. This setting is very efficient, but if ISRs start using\n    * the FPU, this can lead to corruption of the FPU registers.\n    */\n    FPU->FPCCR &= ~((1U << FPU_FPCCR_ASPEN_Pos)\n                   | (1U << FPU_FPCCR_LSPEN_Pos));\n\n    /* enable clock for to the peripherals used by this application... */\n    SYSCTL->RCGCGPIO |= (1U << 5); /* enable Run mode for GPIOF */\n\n    /* configure the LEDs and push buttons */\n    GPIOF->DIR |= (LED_RED | LED_GREEN | LED_BLUE);/* set direction: output */\n    GPIOF->DEN |= (LED_RED | LED_GREEN | LED_BLUE); /* digital enable */\n    GPIOF->DATA_Bits[LED_RED]   = 0U; /* turn the LED off */\n    GPIOF->DATA_Bits[LED_GREEN] = 0U; /* turn the LED off */\n    GPIOF->DATA_Bits[LED_BLUE]  = 0U; /* turn the LED off */\n\n    /* configure the Buttons */\n    GPIOF->DIR &= ~(BTN_SW1 | BTN_SW2); /*  set direction: input */\n    ROM_GPIOPadConfigSet(GPIOF_BASE, (BTN_SW1 | BTN_SW2),\n                         GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU);\n\n    BSP_randomSeed(1234U);\n}\n/*..........................................................................*/\nvoid BSP_displayPhilStat(uint8_t n, char const *stat) {\n    GPIOF->DATA_Bits[LED_RED]   = ((stat[0] == 'h') ? LED_RED   : 0U);\n    GPIOF->DATA_Bits[LED_GREEN] = ((stat[0] == 'e') ? LED_GREEN : 0U);\n}\n/*..........................................................................*/\nvoid BSP_displayPaused(uint8_t paused) {\n    GPIOF->DATA_Bits[LED_RED] = ((paused != 0U) ? LED_RED : 0U);\n}\n/*..........................................................................*/\nuint32_t BSP_random(void) { /* a very cheap pseudo-random-number generator */\n    /* The flating point code is to exercise the FPU... */\n    float volatile x = 3.1415926F;\n    x = x + 2.7182818F;\n\n    /* \"Super-Duper\" Linear Congruential Generator (LCG)\n    * LCG(2^32, 3*7*11*13*23, 0, seed)\n    */\n    l_rnd = l_rnd * (3U*7U*11U*13U*23U);\n\n    return l_rnd >> 8;\n}\n/*..........................................................................*/\nvoid BSP_randomSeed(uint32_t seed) {\n    l_rnd = seed;\n}\n/*..........................................................................*/\nvoid BSP_terminate(int16_t result) {\n    (void)result;\n}\n\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    /* set up the SysTick timer to fire at BSP_TICKS_PER_SEC rate */\n    SysTick_Config(SystemCoreClock / BSP_TICKS_PER_SEC);\n\n    /* assing all priority bits for preemption-prio. and none to sub-prio. */\n    NVIC_SetPriorityGrouping(0U);\n\n    /* set priorities of ALL ISRs used in the system, see NOTE00\n    *\n    * !!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n    * Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n    * DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n    */\n    NVIC_SetPriority(SysTick_IRQn,   SYSTICK_PRIO);\n    NVIC_SetPriority(GPIOA_IRQn,     GPIOA_PRIO);\n    /* ... */\n\n    /* enable IRQs... */\n    NVIC_EnableIRQ(GPIOA_IRQn);\n}\n/*..........................................................................*/\nvoid QV_onIdle(void) {  /* called with interrupts disabled, see NOTE01 */\n    /* toggle the User LED on and then off, see NOTE02 */\n    GPIOF->DATA_Bits[LED_BLUE] = LED_BLUE;  /* turn the Blue LED on  */\n    GPIOF->DATA_Bits[LED_BLUE] = 0U;        /* turn the Blue LED off */\n\n#ifdef NDEBUG\n    /* Put the CPU and peripherals to the low-power mode.\n    * you might need to customize the clock management for your application,\n    * see the datasheet for your particular Cortex-M MCU.\n    */\n    QV_CPU_SLEEP();  /* atomically go to sleep and enable interrupts */\n#else\n    QF_INT_ENABLE(); /* just enable interrupts */\n#endif\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const module, int loc) {\n    /*\n    * NOTE: add here your application-specific error handling\n    */\n    (void)module;\n    (void)loc;\n\n    NVIC_SystemReset();\n}\n\n/*****************************************************************************\n* NOTE00:\n* The QF_AWARE_ISR_CMSIS_PRI constant from the QF port specifies the highest\n* ISR priority that is disabled by the QF framework. The value is suitable\n* for the NVIC_SetPriority() CMSIS function.\n*\n* Only ISRs prioritized at or below the QF_AWARE_ISR_CMSIS_PRI level (i.e.,\n* with the numerical values of priorities equal or higher than\n* QF_AWARE_ISR_CMSIS_PRI) are allowed to call any QF services. These ISRs\n* are \"QF-aware\".\n*\n* Conversely, any ISRs prioritized above the QF_AWARE_ISR_CMSIS_PRI priority\n* level (i.e., with the numerical values of priorities less than\n* QF_AWARE_ISR_CMSIS_PRI) are never disabled and are not aware of the kernel.\n* Such \"QF-unaware\" ISRs cannot call any QF services. The only mechanism\n* by which a \"QF-unaware\" ISR can communicate with the QF framework is by\n* triggering a \"QF-aware\" ISR, which can post/publish events.\n*\n* NOTE01:\n* The QV_onIdle() callback is called with interrupts disabled, because the\n* determination of the idle condition might change by any interrupt posting\n* an event. QV_onIdle() must internally enable interrupts, ideally\n* atomically with putting the CPU to the power-saving mode.\n*\n* NOTE02:\n* The User LED is used to visualize the idle loop activity. The brightness\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qv/gnu/.ccsproject",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<?ccsproject version=\"1.0\"?>\n<projectOptions>\n\t<ccsVersion value=\"7.4.0\"/>\n\t<deviceVariant value=\"Cortex M.TM4C123GH6PM\"/>\n\t<deviceFamily value=\"TMS470\"/>\n\t<deviceEndianness value=\"little\"/>\n\t<codegenToolVersion value=\"GNU_6.3.1:Linaro\"/>\n\t<isElfFormat value=\"true\"/>\n\t<connection value=\"common/targetdb/connections/Stellaris_ICDI_Connection.xml\"/>\n\t<linkerCommandFile value=\"tm4c123gh6pm.lds\"/>\n\t<rts value=\"libc.a\"/>\n\t<createSlaveProjects value=\"\"/>\n\t<templateProperties value=\"id=com.ti.common.project.core.emptyProjectTemplate_gnu_arm,\"/>\n\t<filesToOpen value=\"\"/>\n\t<isTargetManual value=\"false\"/>\n</projectOptions>\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qv/gnu/.cproject",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<?fileVersion 4.0.0?><cproject storage_type_id=\"org.eclipse.cdt.core.XmlProjectDescriptionStorage\">\n\t<storageModule configRelations=\"2\" moduleId=\"org.eclipse.cdt.core.settings\">\n\t\t<cconfiguration id=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug.534492546\">\n\t\t\t<storageModule buildSystemId=\"org.eclipse.cdt.managedbuilder.core.configurationDataProvider\" id=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug.534492546\" moduleId=\"org.eclipse.cdt.core.settings\" name=\"Debug\">\n\t\t\t\t<externalSettings/>\n\t\t\t\t<extensions>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.binaryparser.CoffParser\" point=\"org.eclipse.cdt.core.BinaryParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GmakeErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GASErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GLDErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GCCErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t</extensions>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t\t\t<configuration artifactExtension=\"out\" artifactName=\"${ProjName}\" buildProperties=\"\" cleanCommand=\"${CG_CLEAN_CMD}\" description=\"\" id=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug.534492546\" name=\"Debug\" parent=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug\">\n\t\t\t\t\t<folderInfo id=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug.534492546.\" name=\"/\" resourcePath=\"\">\n\t\t\t\t\t\t<toolChain id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.DebugToolchain.380301443\" name=\"TI Build Tools\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.DebugToolchain\" targetTool=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.linkerDebug.123457069\">\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.964772037\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_CONFIGURATION_ID=Cortex M.TM4C123GH6PM\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_ENDIANNESS=little\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_FORMAT=ELF\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"LINKER_COMMAND_FILE=tm4c123gh6pm.lds\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"RUNTIME_SUPPORT_LIBRARY=libc.a\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"CCS_MBS_VERSION=6.1.3\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_TYPE=executable\"/>\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.904099521\" name=\"Compiler version\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION\" value=\"GNU_6.3.1:Linaro\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<targetPlatform id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.targetPlatformDebug.895530531\" name=\"Platform\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.targetPlatformDebug\"/>\n\t\t\t\t\t\t\t<builder buildPath=\"${BuildDirectory}\" id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.builderDebug.834922118\" keepEnvironmentInBuildfile=\"false\" name=\"GNU Make\" parallelBuildOn=\"true\" parallelizationNumber=\"optimal\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.builderDebug\"/>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.compilerDebug.861559358\" name=\"GNU Compiler\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.compilerDebug\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.CODE_STATE.326931710\" name=\"Code state\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.CODE_STATE\" value=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.CODE_STATE.THUMB\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MARCH.1627488652\" name=\"Specify the name of the target architecture (-march)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MARCH\" value=\"armv7e-m\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MCPU.2064354121\" name=\"Target CPU (-mcpu)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MCPU\" value=\"cortex-m4\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MFPU.1916890427\" name=\"Specify the name of the target floating point hardware/format (-mfpu)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MFPU\" value=\"fpv4-sp-d16\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MFLOAT_ABI.315769723\" name=\"Specify if floating point hardware should be used (-mfloat-abi)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MFLOAT_ABI\" value=\"hard\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.FUNCTION_SECTIONS.1495418449\" name=\"Place each function into its own section (-ffunction-sections)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.FUNCTION_SECTIONS\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DATA_SECTIONS.1446118351\" name=\"Place data items into their own section (-fdata-sections)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DATA_SECTIONS\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DEFINE.865670737\" name=\"Define symbols (-D)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DEFINE\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"__FPU_PRESENT\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"TARGET_IS_TM4C123_RB1\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.INCLUDE_PATH.974128893\" name=\"Include paths (-I)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.INCLUDE_PATH\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../..\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../src\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../ports/arm-cm/qv/gnu\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../3rd_party/ek-tm4c123gxl\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../3rd_party/CMSIS/Include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CG_TOOL_INCLUDE_PATH}\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DEBUG.882013544\" name=\"Generate debug information (-g)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DEBUG\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DWARF_VERSION.433735214\" name=\"Generate debug information in DWARF version (-gdwarf-)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DWARF_VERSION\" value=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DWARF_VERSION.3\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.STRICT_DWARF.1684136090\" name=\"Do not emit DWARF additions beyond selected version (-gstrict-dwarf)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.STRICT_DWARF\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.SPECS.1704724465\" name=\"Override built-in specs with the contents of the specified file (-specs)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.SPECS\" value=\"&quot;nosys.specs&quot;\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.ASM_SPECIFIC_FLAGS.1586473819\" name=\"Assembly source specific flags\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.ASM_SPECIFIC_FLAGS\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"-x assembler-with-cpp\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.OTHER_ASM_FLAGS.572364895\" name=\"Other assembler flags (-Xassembler)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.OTHER_ASM_FLAGS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__C_SRCS.914425103\" name=\"C Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__C_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__CPP_SRCS.1969735213\" name=\"C++ Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__CPP_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__ASM_SRCS.1435568092\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__ASM_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__ASM2_SRCS.941675283\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__ASM2_SRCS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.linkerDebug.123457069\" name=\"GNU Linker\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.linkerDebug\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.OUTPUT_FILE.839981367\" name=\"Output file (-o)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.OUTPUT_FILE\" value=\"${ProjName}.out\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.MAP_FILE.1555000467\" name=\"Write a map file (-Map)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.MAP_FILE\" value=\"${ProjName}.map\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.LIBRARY.1347913029\" name=\"Libraries (-l, --library)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.LIBRARY\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.SCRIPTS.933040553\" name=\"Linker command files (-T, --script)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.SCRIPTS\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NOSTARTFILES.879149092\" name=\"Do not use the standard system startup files when linking (-nostartfiles)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NOSTARTFILES\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NODEFAULTLIBS.718462702\" name=\"Do not use the standard system libraries when linking (-nodefaultlibs)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NODEFAULTLIBS\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.GC_SECTIONS.842383496\" name=\"Remove unused sections (--gc-sections)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.GC_SECTIONS\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.STATIC.869793521\" name=\"Do not link with the shared libraries (-static)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.STATIC\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NOSTDLIB.255196952\" name=\"Do not use the standard system startup files or libraries when linking (-nostdlib)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NOSTDLIB\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__CMD_SRCS.677089481\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__CMD_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__CMD2_SRCS.1897887025\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__CMD2_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__GEN_CMDS.1685978282\" name=\"Generated Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__GEN_CMDS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.hex.591401063\" name=\"GNU Objcopy Utility\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.hex\"/>\n\t\t\t\t\t\t</toolChain>\n\t\t\t\t\t</folderInfo>\n\t\t\t\t\t<sourceEntries>\n\t\t\t\t\t\t<entry flags=\"VALUE_WORKSPACE_PATH|RESOLVED\" kind=\"sourcePath\" name=\"\"/>\n\t\t\t\t\t</sourceEntries>\n\t\t\t\t</configuration>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"org.eclipse.cdt.core.externalSettings\"/>\n\t\t</cconfiguration>\n\t\t<cconfiguration id=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug.534492546.1358541448\">\n\t\t\t<storageModule buildSystemId=\"org.eclipse.cdt.managedbuilder.core.configurationDataProvider\" id=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug.534492546.1358541448\" moduleId=\"org.eclipse.cdt.core.settings\" name=\"Release\">\n\t\t\t\t<externalSettings/>\n\t\t\t\t<extensions>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.binaryparser.CoffParser\" point=\"org.eclipse.cdt.core.BinaryParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GmakeErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GASErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GLDErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GCCErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t</extensions>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t\t\t<configuration artifactExtension=\"out\" artifactName=\"${ProjName}\" buildProperties=\"\" cleanCommand=\"${CG_CLEAN_CMD}\" description=\"\" id=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug.534492546.1358541448\" name=\"Release\" parent=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug\">\n\t\t\t\t\t<folderInfo id=\"com.ti.ccstudio.buildDefinitions.TMS470.Debug.534492546.1358541448.\" name=\"/\" resourcePath=\"\">\n\t\t\t\t\t\t<toolChain id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.DebugToolchain.469823560\" name=\"TI Build Tools\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.DebugToolchain\" targetTool=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.linkerDebug.123457069\">\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1846983527\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_CONFIGURATION_ID=Cortex M.TM4C123GH6PM\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_ENDIANNESS=little\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_FORMAT=ELF\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"LINKER_COMMAND_FILE=tm4c123gh6pm.lds\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"RUNTIME_SUPPORT_LIBRARY=libc.a\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"CCS_MBS_VERSION=6.1.3\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_TYPE=executable\"/>\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1616299930\" name=\"Compiler version\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION\" value=\"GNU_6.3.1:Linaro\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<targetPlatform id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.targetPlatformDebug.1508626334\" name=\"Platform\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.targetPlatformDebug\"/>\n\t\t\t\t\t\t\t<builder buildPath=\"${BuildDirectory}\" id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.builderDebug.688117887\" keepEnvironmentInBuildfile=\"false\" name=\"GNU Make\" parallelBuildOn=\"true\" parallelizationNumber=\"optimal\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.builderDebug\"/>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.compilerDebug.1088691316\" name=\"GNU Compiler\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.compilerDebug\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.CODE_STATE.798076657\" name=\"Code state\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.CODE_STATE\" value=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.CODE_STATE.THUMB\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MARCH.707868929\" name=\"Specify the name of the target architecture (-march)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MARCH\" value=\"armv7e-m\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MCPU.786098950\" name=\"Target CPU (-mcpu)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MCPU\" value=\"cortex-m4\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MFPU.148452124\" name=\"Specify the name of the target floating point hardware/format (-mfpu)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MFPU\" value=\"fpv4-sp-d16\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MFLOAT_ABI.801715358\" name=\"Specify if floating point hardware should be used (-mfloat-abi)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.MFLOAT_ABI\" value=\"hard\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.FUNCTION_SECTIONS.878443810\" name=\"Place each function into its own section (-ffunction-sections)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.FUNCTION_SECTIONS\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DATA_SECTIONS.1031205950\" name=\"Place data items into their own section (-fdata-sections)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DATA_SECTIONS\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DEFINE.411887178\" name=\"Define symbols (-D)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DEFINE\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"NDEBUG\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"__FPU_PRESENT\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"TARGET_IS_TM4C123_RB1\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.INCLUDE_PATH.254795141\" name=\"Include paths (-I)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.INCLUDE_PATH\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../..\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../src\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../ports/arm-cm/qv/gnu\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../3rd_party/ek-tm4c123gxl\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}/../../../../../3rd_party/CMSIS/Include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CG_TOOL_INCLUDE_PATH}\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DEBUG.543537113\" name=\"Generate debug information (-g)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DEBUG\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DWARF_VERSION.2113079762\" name=\"Generate debug information in DWARF version (-gdwarf-)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DWARF_VERSION\" value=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.DWARF_VERSION.3\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.STRICT_DWARF.550208473\" name=\"Do not emit DWARF additions beyond selected version (-gstrict-dwarf)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.STRICT_DWARF\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.SPECS.341010137\" name=\"Override built-in specs with the contents of the specified file (-specs)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.SPECS\" value=\"&quot;nosys.specs&quot;\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.ASM_SPECIFIC_FLAGS.1061535145\" name=\"Assembly source specific flags\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.ASM_SPECIFIC_FLAGS\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"-x assembler-with-cpp\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.OTHER_ASM_FLAGS.896297329\" name=\"Other assembler flags (-Xassembler)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.OTHER_ASM_FLAGS\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.OPT_LEVEL.1263665319\" name=\"Optimization Level\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.OPT_LEVEL\" value=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compilerID.OPT_LEVEL._none\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__C_SRCS.1417096077\" name=\"C Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__C_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__CPP_SRCS.898382215\" name=\"C++ Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__CPP_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__ASM_SRCS.620774366\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__ASM_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__ASM2_SRCS.1123298780\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.compiler.inputType__ASM2_SRCS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.linkerDebug.1991437074\" name=\"GNU Linker\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exe.linkerDebug\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.OUTPUT_FILE.1004944054\" name=\"Output file (-o)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.OUTPUT_FILE\" value=\"${ProjName}.out\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.MAP_FILE.218517326\" name=\"Write a map file (-Map)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.MAP_FILE\" value=\"${ProjName}.map\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.LIBRARY.819950368\" name=\"Libraries (-l, --library)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.LIBRARY\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.SCRIPTS.167426702\" name=\"Linker command files (-T, --script)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.SCRIPTS\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NOSTARTFILES.733649217\" name=\"Do not use the standard system startup files when linking (-nostartfiles)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NOSTARTFILES\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NODEFAULTLIBS.476050719\" name=\"Do not use the standard system libraries when linking (-nodefaultlibs)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NODEFAULTLIBS\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.GC_SECTIONS.276221738\" name=\"Remove unused sections (--gc-sections)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.GC_SECTIONS\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.STATIC.834002460\" name=\"Do not link with the shared libraries (-static)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.STATIC\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NOSTDLIB.1455376847\" name=\"Do not use the standard system startup files or libraries when linking (-nostdlib)\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.linkerID.NOSTDLIB\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__CMD_SRCS.1367738909\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__CMD_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__CMD2_SRCS.41064114\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__CMD2_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__GEN_CMDS.1093744184\" name=\"Generated Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.exeLinker.inputType__GEN_CMDS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.hex.395050261\" name=\"GNU Objcopy Utility\" superClass=\"com.ti.ccstudio.buildDefinitions.TMS470_GNU_6.0.hex\"/>\n\t\t\t\t\t\t</toolChain>\n\t\t\t\t\t</folderInfo>\n\t\t\t\t\t<sourceEntries>\n\t\t\t\t\t\t<entry flags=\"VALUE_WORKSPACE_PATH|RESOLVED\" kind=\"sourcePath\" name=\"\"/>\n\t\t\t\t\t</sourceEntries>\n\t\t\t\t</configuration>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"org.eclipse.cdt.core.externalSettings\"/>\n\t\t</cconfiguration>\n\t</storageModule>\n\t<storageModule moduleId=\"org.eclipse.cdt.core.LanguageSettingsProviders\"/>\n\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t<project id=\"dpp-qv.com.ti.ccstudio.buildDefinitions.TMS470.ProjectType.678184951\" name=\"TMS470\" projectType=\"com.ti.ccstudio.buildDefinitions.TMS470.ProjectType\"/>\n\t</storageModule>\n\t<storageModule moduleId=\"scannerConfiguration\"/>\n\t<storageModule moduleId=\"org.eclipse.cdt.core.language.mapping\">\n\t\t<project-mappings>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.asmSource\" language=\"com.ti.ccstudio.core.TIASMLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cHeader\" language=\"com.ti.ccstudio.core.TIGCCLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cSource\" language=\"com.ti.ccstudio.core.TIGCCLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cxxHeader\" language=\"com.ti.ccstudio.core.TIGPPLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cxxSource\" language=\"com.ti.ccstudio.core.TIGPPLanguage\"/>\n\t\t</project-mappings>\n\t</storageModule>\n</cproject>\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qv/gnu/.project",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<projectDescription>\n\t<name>dpp-qv</name>\n\t<comment></comment>\n\t<projects>\n\t</projects>\n\t<buildSpec>\n\t\t<buildCommand>\n\t\t\t<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t\t<buildCommand>\n\t\t\t<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>\n\t\t\t<triggers>full,incremental,</triggers>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t</buildSpec>\n\t<natures>\n\t\t<nature>com.ti.ccstudio.core.ccsNature</nature>\n\t\t<nature>org.eclipse.cdt.core.cnature</nature>\n\t\t<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>\n\t\t<nature>org.eclipse.cdt.core.ccnature</nature>\n\t\t<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>\n\t</natures>\n\t<linkedResources>\n\t\t<link>\n\t\t\t<name>qv-nano</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/src/qvn</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>QP-nano</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/src/qfn</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>QP_port</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/ports/arm-cm/qv/gnu</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>TM4C123GH6PM.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/3rd_party/ek-tm4c123gxl/TM4C123GH6PM.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>bsp.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-1-PROJECT_LOC/bsp.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>bsp.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/bsp.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>dpp.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/dpp.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>gpio.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/3rd_party/ek-tm4c123gxl/gpio.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>main.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/main.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>philo.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/philo.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>qstamp.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/include/qstamp.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>rom.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/3rd_party/ek-tm4c123gxl/rom.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>startup_TM4C123GH6PM.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/3rd_party/ek-tm4c123gxl/gnu/startup_TM4C123GH6PM.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>sysctl.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/3rd_party/ek-tm4c123gxl/sysctl.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>system_TM4C123GH6PM.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/3rd_party/ek-tm4c123gxl/system_TM4C123GH6PM.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>system_TM4C123GH6PM.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/3rd_party/ek-tm4c123gxl/system_TM4C123GH6PM.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>table.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/table.c</locationURI>\n\t\t</link>\n\t</linkedResources>\n</projectDescription>\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qv/gnu/Makefile",
    "content": "##############################################################################\n# Product: Makefile for QP-nano on EK-TM4C123GXL, QV-nano, GNU-ARM\n# Last Updated for Version: 6.5.0\n# Date of the Last Update:  2019-04-15\n#\n#                    Q u a n t u m  L e a P s\n#                    ------------------------\n#                    Modern Embedded Software\n#\n# Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# https://www.state-machine.com\n# mailto:info@state-machine.com\n##############################################################################\n# examples of invoking this Makefile:\n# building configurations: Debug (default), Release, and Spy\n# make\n# make CONF=rel\n#\n# cleaning configurations: Debug (default), Release, and Spy\n# make clean\n# make CONF=rel clean\n#\n# NOTE:\n# To use this Makefile on Windows, you will need the GNU make utility, which\n# is included in the Qtools collection for Windows, see:\n#    http://sourceforge.net/projects/qpc/files/Qtools/\n#\n\n#-----------------------------------------------------------------------------\n# project name\n#\nPROJECT     := dpp-qv\n\n#-----------------------------------------------------------------------------\n# project directories\n#\n\n# location of the QP-nano framework (if not provided in an environemnt var.)\nifeq ($(QPN),)\nQPN := ../../../../..\nendif\n\n# QP port used in this project\nQP_PORT_DIR := $(QPN)/ports/arm-cm/qv/gnu\n\n# list of all source directories used by this project\nVPATH = \\\n\t.. \\\n\t../.. \\\n\t$(QPN)/src/qfn \\\n\t$(QPN)/src/qvn \\\n\t$(QP_PORT_DIR) \\\n\t$(QPN)/3rd_party/ek-tm4c123gxl \\\n\t$(QPN)/3rd_party/ek-tm4c123gxl/gnu\n\n# list of all include directories needed by this project\nINCLUDES  = \\\n\t-I../.. \\\n\t-I$(QPN)/include \\\n\t-I$(QP_PORT_DIR) \\\n\t-I$(QPN)/3rd_party/CMSIS/Include \\\n\t-I$(QPN)/3rd_party/ek-tm4c123gxl\n\n#-----------------------------------------------------------------------------\n# files\n#\n\n# assembler source files\nASM_SRCS :=\n\n# C source files\nC_SRCS := \\\n\tbsp.c \\\n\tmain.c \\\n\tphilo.c \\\n\ttable.c \\\n\tsystem_TM4C123GH6PM.c \\\n\tstartup_TM4C123GH6PM.c\n\n# C++ source files\nCPP_SRCS :=\n\nOUTPUT    := $(PROJECT)\nLD_SCRIPT := $(PROJECT).ld\n\nQP_SRCS := \\\n\tqepn.c \\\n\tqfn.c \\\n\tqvn.c \\\n\tqvn_port.c\n\nQP_ASMS :=\n\nLIB_DIRS  :=\nLIBS      :=\n\n# defines\nDEFINES   := -DTARGET_IS_TM4C123_RB1\n\n# ARM CPU, ARCH, FPU, and Float-ABI types...\n# ARM_CPU:   [cortex-m0 | cortex-m0plus | cortex-m1 | cortex-m3 | cortex-m4]\n# ARM_ARCH:  [6 | 7] (NOTE: must match ARM_CPU!)\n# ARM_FPU:   [ | vfp]\n# FLOAT_ABI: [ | soft | softfp | hard]\n#\nARM_CPU   := -mcpu=cortex-m4\nARM_ARCH  := 7   # NOTE: must match the ARM_CPU!\nARM_FPU   := -mfpu=vfp\nFLOAT_ABI := -mfloat-abi=softfp\n\n#-----------------------------------------------------------------------------\n# GNU-ARM toolset (NOTE: You need to adjust to your machine)\n# see https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads\n#\nifeq ($(GNU_ARM),)\nGNU_ARM := $(QTOOLS)/gnu_arm-none-eabi\nendif\n\n# make sure that the GNU-ARM toolset exists...\nifeq (\"$(wildcard $(GNU_ARM))\",\"\")\n$(error GNU_ARM toolset not found. Please adjust the Makefile)\nendif\n\nCC    := $(GNU_ARM)/bin/arm-none-eabi-gcc\nCPP   := $(GNU_ARM)/bin/arm-none-eabi-g++\nAS    := $(GNU_ARM)/bin/arm-none-eabi-as\nLINK  := $(GNU_ARM)/bin/arm-none-eabi-g++\nBIN   := $(GNU_ARM)/bin/arm-none-eabi-objcopy\n\n\n##############################################################################\n# Typically, you should not need to change anything below this line\n\n# basic utilities (included in Qtools for Windows), see:\n#    http://sourceforge.net/projects/qpc/files/Qtools\n\nMKDIR := mkdir\nRM    := rm\n\n#-----------------------------------------------------------------------------\n# build options for various configurations for ARM Cortex-M\n#\n\n# combine all the soruces...\nC_SRCS += $(QP_SRCS)\nASM_SRCS += $(QP_ASMS)\n\nifeq (rel, $(CONF)) # Release configuration ..................................\n\nBIN_DIR := rel\n\nASFLAGS = $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O1 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nCPPFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O1 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nelse # default Debug configuration ..........................................\n\nBIN_DIR := dbg\n\nASFLAGS = -g $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O $(INCLUDES) $(DEFINES)\n\nCPPFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O $(INCLUDES) $(DEFINES)\n\nendif # ......................................................................\n\n\nLINKFLAGS = -T$(LD_SCRIPT) $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb \\\n\t-specs=nosys.specs -specs=nano.specs \\\n\t-Wl,-Map,$(BIN_DIR)/$(OUTPUT).map,--cref,--gc-sections $(LIB_DIRS)\n\n\nASM_OBJS     := $(patsubst %.s,%.o,  $(notdir $(ASM_SRCS)))\nC_OBJS       := $(patsubst %.c,%.o,  $(notdir $(C_SRCS)))\nCPP_OBJS     := $(patsubst %.cpp,%.o,$(notdir $(CPP_SRCS)))\n\nTARGET_BIN   := $(BIN_DIR)/$(OUTPUT).bin\nTARGET_ELF   := $(BIN_DIR)/$(OUTPUT).elf\nASM_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(ASM_OBJS))\nC_OBJS_EXT   := $(addprefix $(BIN_DIR)/, $(C_OBJS))\nC_DEPS_EXT   := $(patsubst %.o, %.d, $(C_OBJS_EXT))\nCPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))\nCPP_DEPS_EXT := $(patsubst %.o, %.d, $(CPP_OBJS_EXT))\n\n# create $(BIN_DIR) if it does not exist\nifeq (\"$(wildcard $(BIN_DIR))\",\"\")\n$(shell $(MKDIR) $(BIN_DIR))\nendif\n\n#-----------------------------------------------------------------------------\n# rules\n#\n\nall: $(TARGET_BIN)\n#all: $(TARGET_ELF)\n\n$(TARGET_BIN): $(TARGET_ELF)\n\t$(BIN) -O binary $< $@\n\n$(TARGET_ELF) : $(ASM_OBJS_EXT) $(C_OBJS_EXT) $(CPP_OBJS_EXT)\n\t$(CC) $(CFLAGS) $(QPN)/include/qstamp.c -o $(BIN_DIR)/qstamp.o\n\t$(LINK) $(LINKFLAGS) -o $@ $^ $(BIN_DIR)/qstamp.o $(LIBS)\n\n$(BIN_DIR)/%.d : %.c\n\t$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@\n\n$(BIN_DIR)/%.d : %.cpp\n\t$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@\n\n$(BIN_DIR)/%.o : %.s\n\t$(AS) $(ASFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.c\n\t$(CC) $(CFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.cpp\n\t$(CPP) $(CPPFLAGS) $< -o $@\n\n# include dependency files only if our goal depends on their existence\nifneq ($(MAKECMDGOALS),clean)\n  ifneq ($(MAKECMDGOALS),show)\n-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)\n  endif\nendif\n\n\n.PHONY : clean\nclean:\n\t-$(RM) $(BIN_DIR)/*.o \\\n\t$(BIN_DIR)/*.d \\\n\t$(BIN_DIR)/*.bin \\\n\t$(BIN_DIR)/*.elf \\\n\t$(BIN_DIR)/*.map\n\t\nshow:\n\t@echo PROJECT = $(PROJECT)\n\t@echo CONF = $(CONF)\n\t@echo DEFINES = $(DEFINES)\n\t@echo ASM_FPU = $(ASM_FPU)\n\t@echo ASM_SRCS = $(ASM_SRCS)\n\t@echo C_SRCS = $(C_SRCS)\n\t@echo CPP_SRCS = $(CPP_SRCS)\n\t@echo ASM_OBJS_EXT = $(ASM_OBJS_EXT)\n\t@echo C_OBJS_EXT = $(C_OBJS_EXT)\n\t@echo C_DEPS_EXT = $(C_DEPS_EXT)\n\t@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)\n\t@echo TARGET_ELF = $(TARGET_ELF)\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qv/gnu/README.txt",
    "content": "About this Example\n==================\nThis example can be built in two different ways:\n- from the command prompt with the provided Makefile.\n- from the TI Code Composer Studio with the provided CCS project.\n\n\nThe Makefile\n============\nThe provided Makefile should be easy to adapt for your own projects.\nIt contains three build configurations: Debug (default), Release, and\nSpy.\n\nAlso, the Makefile has been specifically designed to work as an external\nMakefile with the Eclipse CDT.\n\nThe various build configurations are built as follows:\n\nmake\nmake CONF=rel\nmake CONF=spy\n\nmake clean\nmake CONF=rel clean\nmake CONF=spy clean\n\n***\nNOTE:\nThe installation folder of the GNU-ARM toolset on YOUR machine needs\nto be adjusted in the provided Makefile, by editing the symbol: GNU_ARM.\nAs described in the comment for this symbol, the GNU-ARM toolset is taken\nfrom: http://gnutoolchains.com/arm-eabi\n\nIt is highly recommened to use the same GNU-ARM distribution, especially\nfor ARM Cortex-M4F projects, due to the support for the hardware FPU\n(float-abi=hard).\n***\n\n\nAdjusting Stack and Heap Sizes\n==============================\nThe stack and heap sizes are determined in this project by the GCC linker\nscript (.ld file), which provides a template of the recommended GCC linker\nscript for QP applications.\n\n\nStartup Code\n============\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\ek-tm4c123gxl\\gcc\\startup_TM4C123GH6PM.c\n\nThe file startup_TM4C123GH6PM.c provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qv/gnu/dpp-qv.ld",
    "content": "/*****************************************************************************\n* Product: Linker script for EK-TM4C123GXL, GNU-ARM linker\n* Last Updated for Version: 5.9.8\n* Date of the Last Update:  2017-09-13\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <http://www.gnu.org/licenses/>.\n*\n* Contact information:\n* Web  : http://www.state-machine.com\n* Email: info@state-machine.com\n*****************************************************************************/\nOUTPUT_FORMAT(\"elf32-littlearm\", \"elf32-bigarm\", \"elf32-littlearm\")\nOUTPUT_ARCH(arm)\nENTRY(Reset_Handler) /* entry Point */\n\nMEMORY { /* memory map of Tiva TM4C123GH6PM */\n    ROM (rx)  : ORIGIN = 0x00000000, LENGTH = 256K\n    RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K\n}\n\n/* The size of the stack used by the application. NOTE: you need to adjust  */\nSTACK_SIZE = 1024;\n\n/* The size of the heap used by the application. NOTE: you need to adjust   */\nHEAP_SIZE = 0;\n\nSECTIONS {\n\n    .isr_vector : {        /* the vector table goes FIRST into ROM */\n        KEEP(*(.isr_vector)) /* vector table */\n        . = ALIGN(4);\n    } >ROM\n\n    .text : {              /* code and constants */\n        . = ALIGN(4);\n        *(.text)           /* .text sections (code) */\n        *(.text*)          /* .text* sections (code) */\n        *(.rodata)         /* .rodata sections (constants, strings, etc.) */\n        *(.rodata*)        /* .rodata* sections (constants, strings, etc.) */\n\n        KEEP (*(.init))\n        KEEP (*(.fini))\n\n        . = ALIGN(4);\n    } >ROM\n\n    .preinit_array : {\n        PROVIDE_HIDDEN (__preinit_array_start = .);\n        KEEP (*(.preinit_array*))\n        PROVIDE_HIDDEN (__preinit_array_end = .);\n    } >ROM\n\n    .init_array : {\n        PROVIDE_HIDDEN (__init_array_start = .);\n        KEEP (*(SORT(.init_array.*)))\n        KEEP (*(.init_array*))\n        PROVIDE_HIDDEN (__init_array_end = .);\n    } >ROM\n\n    .fini_array : {\n        PROVIDE_HIDDEN (__fini_array_start = .);\n        KEEP (*(.fini_array*))\n        KEEP (*(SORT(.fini_array.*)))\n        PROVIDE_HIDDEN (__fini_array_end = .);\n    } >ROM\n\n    _etext = .;            /* global symbols at end of code */\n\n    .stack : {\n        __stack_start__ = .;\n        . = . + STACK_SIZE;\n        . = ALIGN(4);\n        __stack_end__ = .;\n    } >RAM\n\n    .data :  AT (_etext) {\n        __data_load = LOADADDR (.data);\n        __data_start = .;\n        *(.data)           /* .data sections */\n        *(.data*)          /* .data* sections */\n        . = ALIGN(4);\n        __data_end__ = .;\n        _edata = __data_end__;\n    } >RAM\n\n    .bss : {\n        __bss_start__ = .;\n        *(.bss)\n        *(.bss*)\n        *(COMMON)\n        . = ALIGN(4);\n        _ebss = .;         /* define a global symbol at bss end */\n        __bss_end__ = .;\n    } >RAM\n\n    __exidx_start = .;\n    .ARM.exidx   : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } >RAM\n    __exidx_end = .;\n\n    PROVIDE ( end = _ebss );\n    PROVIDE ( _end = _ebss );\n    PROVIDE ( __end__ = _ebss );\n\n    .heap : {\n        __heap_start__ = .;\n        . = . + HEAP_SIZE;\n        . = ALIGN(4);\n        __heap_end__ = .;\n    } >RAM\n\n    /* Remove information from the standard libraries */\n    /DISCARD/ : {\n        libc.a ( * )\n        libm.a ( * )\n        libgcc.a ( * )\n    }\n}\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qv/gnu/flash.bat",
    "content": "::============================================================================\n:: Batch file to program the flash of EK-TM4C123GXL\n:: \n:: NOTE: requires the LMFlash programmer (included in QTools for Windows)\n:: \n@echo off\nsetlocal\n\n@echo Load a given binary file to the flash of EK-TM4C123GXL\n@echo usage:   flash binary-file\n@echo example: flash dbg\\blinky-qk.bin\n\n::----------------------------------------------------------------------------\n:: NOTE: The following symbol LMFLASH assumes that LMFlash.exe can\n:: be found on the PATH. You might need to adjust this symbol to the\n:: location of the LMFlash utility on your machine\n::\nset LMFLASH=LMFlash.exe\n\nif [\"%~1\"]==[\"\"] (\n    @echo The binary file missing\n    @goto end\n)\nif not exist %~s1 (\n    @echo The binary file '%1' does not exist\n    @goto end\n)\n\n%LMFLASH% -q ek-tm4c123gxl -e -v -r %1\n\n:end\n\nendlocal"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qv/iar/README.txt",
    "content": "About this Example\n==================\nThis example demonstrates how to use the IAR EWARM IDE to build\na QP application.\n\n\nIAR Project File\n----------------\nThe IAR EWARM project file provided with this example uses relative paths\nto the QP/C framework location (includes, port, and libraries. These\nrelative paths must be modified when the project is moved to different\nrelative location.\n\n\nStack Size and Heap Size\n------------------------\nIn this project, the size of the C stack and heap are determined in\nthe linker script blinky-qk.icf (see the next section).\n\n\nLinker Script\n-------------\nThe IAR linker script provides a template of the recommended linker script\nfor QP applications. This file needs to be customized to set the\napplication-specific sizes of the Stack and Heap. This file can be edited\nfrom the IAR EWARM IDE via the Project Options/Linker settings.\n\n\nStartup Code\n------------\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\ek-tm4c123gxl\\iar\\startup_TM4C123GH6PM.s\n\nThe file startup_TM4C123GH6PM.s provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qv/iar/dpp-qv.ewd",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project>\n    <fileVersion>3</fileVersion>\n    <configuration>\n        <name>Debug</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>1</debug>\n        <settings>\n            <name>C-SPY</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCVariant</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>MemOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MemFile</name>\n                    <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\TexasInstruments\\TM4C123GH6PM.ddf</state>\n                </option>\n                <option>\n                    <name>RunToEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RunToName</name>\n                    <state>main</state>\n                </option>\n                <option>\n                    <name>CExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDDFArgumentProducer</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadSuppressDownload</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDownloadVerifyAll</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCProductVersion</name>\n                    <state>7.40.2.8567</state>\n                </option>\n                <option>\n                    <name>OCDynDriverList</name>\n                    <state>LMIFTDI_ID</state>\n                </option>\n                <option>\n                    <name>OCLastSavedByProductVersion</name>\n                    <state>8.11.1.13270</state>\n                </option>\n                <option>\n                    <name>UseFlashLoader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CLowLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CDevice</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>FlashLoadersV3</name>\n                    <state>$TOOLKIT_DIR$\\config\\flashloader\\TexasInstruments\\FlashTC4_H6_o.board</state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OverrideDefFlashBoard</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesOffset1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesUse1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDeviceConfigMacroFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDebuggerExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAllMTBOptions</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreNrOfCores</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreMaster</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCMulticorePort</name>\n                    <state>53461</state>\n                </option>\n                <option>\n                    <name>OCMulticoreWorkspace</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveProject</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveConfiguration</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadExtraImage</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAttachSlave</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ARMSIM_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCSimDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCSimEnablePSP</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspOverrideConfig</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspConfigFile</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CADI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCadiMemory</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Fast Model</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCADILogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCADILogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CMSISDAP_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CMSISDAPResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>CMSISDAPDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CMSISDAPProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>GDBSERVER_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJTagBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IJET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>8</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>IjetPowerFromProbe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPowerRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetProtocolRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPin</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPrescalerList</name>\n                    <version>1</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IjetProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPreferETB</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetTraceSettingsList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetTraceSizeList</name>\n                    <version>0</version>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>FlashBoardPathSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>JLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>16</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>JLinkSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJLinkHWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>JLinkInitialSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCDoJlinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkCommRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>CCJLinkSpeedRadioV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCUSBDevice</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkResetList</name>\n                    <version>6</version>\n                    <state>5</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCTcpIpAlt</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTcpIpSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSourceDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkDeviceName</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>LMIFTDI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>2</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>LmiftdiSpeed</name>\n                    <state>500</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>PEMICRO_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>3</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJPEMicroShowSettings</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>STLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkResetList</name>\n                    <version>3</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDAPNumber</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkDebugAccessPortRadio</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>THIRDPARTY_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CThirdPartyDriverDll</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>TIFET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVccTypeDefault</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVoltage</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CCMSPFetVCCDefault</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetSettlingtime</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioJtagSpeedType</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetConnection</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetUsbComPort</name>\n                    <state>Automatic</state>\n                </option>\n                <option>\n                    <name>CCMSPFetAllowAccessToBSL</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioEraseFlash</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>XDS100_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>6</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TIPackageOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TIPackage</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>BoardFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCXds100BreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100DoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CpuClockEdit</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockEdit</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCXds100HWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100JtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ProbeList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPortRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPort</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <debuggerPlugins>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n                <loadFlag>1</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n        </debuggerPlugins>\n    </configuration>\n    <configuration>\n        <name>Release</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>0</debug>\n        <settings>\n            <name>C-SPY</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCVariant</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>MemOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MemFile</name>\n                    <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\TexasInstruments\\TM4C123GH6PM.ddf</state>\n                </option>\n                <option>\n                    <name>RunToEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RunToName</name>\n                    <state>main</state>\n                </option>\n                <option>\n                    <name>CExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDDFArgumentProducer</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadSuppressDownload</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDownloadVerifyAll</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCProductVersion</name>\n                    <state>7.40.2.8567</state>\n                </option>\n                <option>\n                    <name>OCDynDriverList</name>\n                    <state>LMIFTDI_ID</state>\n                </option>\n                <option>\n                    <name>OCLastSavedByProductVersion</name>\n                    <state>7.40.2.8567</state>\n                </option>\n                <option>\n                    <name>UseFlashLoader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CLowLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CDevice</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>FlashLoadersV3</name>\n                    <state>$TOOLKIT_DIR$\\config\\flashloader\\TexasInstruments\\FlashTC4_H6_o.board</state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OverrideDefFlashBoard</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesOffset1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesUse1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDeviceConfigMacroFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDebuggerExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAllMTBOptions</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreNrOfCores</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreMaster</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCMulticorePort</name>\n                    <state>53461</state>\n                </option>\n                <option>\n                    <name>OCMulticoreWorkspace</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveProject</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveConfiguration</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadExtraImage</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAttachSlave</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ARMSIM_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCSimDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCSimEnablePSP</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspOverrideConfig</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspConfigFile</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CADI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCadiMemory</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Fast Model</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCADILogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCADILogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CMSISDAP_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CMSISDAPResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>CMSISDAPDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CMSISDAPProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>GDBSERVER_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJTagBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IJET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>8</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>IjetPowerFromProbe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPowerRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetProtocolRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPin</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPrescalerList</name>\n                    <version>1</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IjetProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPreferETB</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetTraceSettingsList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetTraceSizeList</name>\n                    <version>0</version>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>FlashBoardPathSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>JLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>16</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>JLinkSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJLinkHWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>JLinkInitialSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCDoJlinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkCommRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>CCJLinkSpeedRadioV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCUSBDevice</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkResetList</name>\n                    <version>6</version>\n                    <state>5</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCTcpIpAlt</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTcpIpSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSourceDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkDeviceName</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>LMIFTDI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>2</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>LmiftdiSpeed</name>\n                    <state>500</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>PEMICRO_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>3</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJPEMicroShowSettings</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>STLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkResetList</name>\n                    <version>3</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDAPNumber</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkDebugAccessPortRadio</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>THIRDPARTY_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CThirdPartyDriverDll</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>TIFET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVccTypeDefault</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVoltage</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CCMSPFetVCCDefault</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetSettlingtime</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioJtagSpeedType</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetConnection</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetUsbComPort</name>\n                    <state>Automatic</state>\n                </option>\n                <option>\n                    <name>CCMSPFetAllowAccessToBSL</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioEraseFlash</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>XDS100_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>6</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TIPackageOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TIPackage</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>BoardFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCXds100BreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100DoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CpuClockEdit</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockEdit</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCXds100HWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100JtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ProbeList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPortRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPort</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <debuggerPlugins>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n                <loadFlag>1</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n        </debuggerPlugins>\n    </configuration>\n</project>\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qv/iar/dpp-qv.ewp",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project>\n    <fileVersion>3</fileVersion>\n    <configuration>\n        <name>Debug</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>1</debug>\n        <settings>\n            <name>General</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>ExePath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>ObjPath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>ListPath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>GEndianMode</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>Input description</name>\n                    <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n                </option>\n                <option>\n                    <name>Output description</name>\n                    <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n                </option>\n                <option>\n                    <name>GOutputBinary</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCoreOrChip</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelect</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelectSlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RTDescription</name>\n                    <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n                </option>\n                <option>\n                    <name>OGProductVersion</name>\n                    <state>5.11.0.50579</state>\n                </option>\n                <option>\n                    <name>OGLastSavedByProductVersion</name>\n                    <state>8.11.1.13270</state>\n                </option>\n                <option>\n                    <name>GeneralEnableMisra</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVerbose</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGChipSelectEditMenu</name>\n                    <state>TM4C123GH6PM\tTexasInstruments TM4C123GH6PM</state>\n                </option>\n                <option>\n                    <name>GenLowLevelInterface</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GEndianModeBE</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OGBufferedTerminalOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenStdoutInterface</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>RTConfigPath2</name>\n                    <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n                </option>\n                <option>\n                    <name>GBECoreSlave</name>\n                    <version>25</version>\n                    <state>40</state>\n                </option>\n                <option>\n                    <name>OGUseCmsis</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsisDspLib</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibThreads</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CoreVariant</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>GFPUDeviceSlave</name>\n                    <state>TM4C123GH6PM\tTexasInstruments TM4C123GH6PM</state>\n                </option>\n                <option>\n                    <name>FPU2</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>NrRegs</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>NEON</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUCoreSlave2</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>OGCMSISPackSelectDevice</name>\n                </option>\n                <option>\n                    <name>OgLibHeap</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGLibAdditionalLocale</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGPrintfVariant</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>OGPrintfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGScanfVariant</name>\n                    <version>0</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OGScanfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenLocaleTags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>GenLocaleDisplayOnly</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ICCARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>34</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCOptimizationNoSizeConstraints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCPreprocFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocComments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMnemonics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMessages</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDiagSuppress</name>\n                    <state>Pa050</state>\n                </option>\n                <option>\n                    <name>CCDiagRemark</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagWarning</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagError</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCAllowList</name>\n                    <version>1</version>\n                    <state>00000000</state>\n                </option>\n                <option>\n                    <name>CCDebugInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IEndianMode</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCLangConformance</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSignedPlainChar</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRequirePrototypes</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCDiagWarnAreErr</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCompilerRuntimeInfo</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>CCLibConfigHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>PreInclude</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CompilerMisraOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIncludePath2</name>\n                    <state>$PROJ_DIR$\\..</state>\n                    <state>$PROJ_DIR$\\..\\..</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl</state>\n                </option>\n                <option>\n                    <name>CCStdIncCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCodeSection</name>\n                    <state>.text</state>\n                </option>\n                <option>\n                    <name>IProcessorMode2</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptStrategy</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevelSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>CCPosIndRopi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndRwpi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndNoDynInit</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccLang</name>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>IccCDialect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccAllowVLA</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccStaticDestr</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCppInlineSemantics</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccFloatSemantics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCOptStrategySlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCGuardCalls</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccExceptions2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccRTTI2</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>AARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>10</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>AObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>ACaseSensitivity</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacroChars</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnWhat</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnOne</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>ADebug</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AltRegisterNames</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ADefines</name>\n                    <state>ewarm</state>\n                </option>\n                <option>\n                    <name>AList</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AListHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AListing</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Includes</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacDefs</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacExps</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacExec</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OnlyAssed</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MultiLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLengthCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLength</name>\n                    <state>80</state>\n                </option>\n                <option>\n                    <name>TabSpacing</name>\n                    <state>8</state>\n                </option>\n                <option>\n                    <name>AXRef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDefines</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefInternal</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDual</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AOutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsEdit</name>\n                    <state>100</state>\n                </option>\n                <option>\n                    <name>AIgnoreStdInclude</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AUserIncludes</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AExtraOptionsCheckV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AExtraOptionsV2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AsmNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>OBJCOPY</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OOCOutputFormat</name>\n                    <version>3</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OCOutputOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OOCOutputFile</name>\n                    <state>dpp-qv.bin</state>\n                </option>\n                <option>\n                    <name>OOCCommandLineProducer</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OOCObjCopyEnable</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CUSTOM</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <extensions></extensions>\n                <cmdline></cmdline>\n                <hasPrio>0</hasPrio>\n            </data>\n        </settings>\n        <settings>\n            <name>BICOMP</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>BUILDACTION</name>\n            <archiveVersion>1</archiveVersion>\n            <data>\n                <prebuild></prebuild>\n                <postbuild></postbuild>\n            </data>\n        </settings>\n        <settings>\n            <name>ILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>20</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>IlinkLibIOConfig</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>XLinkMisraHandler</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkInputFileSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOutputFile</name>\n                    <state>dpp-qv.out</state>\n                </option>\n                <option>\n                    <name>IlinkDebugInfoEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkKeepSymbols</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkConfigDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkMapFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogInitialization</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogModule</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogSection</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogVeneer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfOverride</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile</name>\n                    <state>$PROJ_DIR$\\dpp-qv.icf</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFileSlave</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkSuppressDiags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsRem</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsWarn</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsErr</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkWarningsAreErrors</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkUseExtraOptions</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkLowLevelInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAutoLibEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAdditionalLibs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkOverrideProgramEntryLabel</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabelSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabel</name>\n                    <state>__iar_program_start</state>\n                </option>\n                <option>\n                    <name>DoFill</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>FillerByte</name>\n                    <state>0xFF</state>\n                </option>\n                <option>\n                    <name>FillerStart</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>FillerEnd</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>CrcSize</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcAlign</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcPoly</name>\n                    <state>0x11021</state>\n                </option>\n                <option>\n                    <name>CrcCompl</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcBitOrder</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcInitialValue</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>DoCrc</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkBufferedTerminalOutput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkStdoutInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcFullSize</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIElfToolPostProcess</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogAutoLibSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogRedirSymbols</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogUnusedFragments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcReverseByteOrder</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcUseAsInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptInline</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsAllow</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsForce</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptMergeDuplSections</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptUseVfe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptForceVfe</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackAnalysisEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackControlFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkStackCallGraphFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CrcAlgorithm</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcUnitSize</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkThreadsSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogCallGraph</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile_AltDefault</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkHeapSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLocaleSelect</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IARCHIVE</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>IarchiveInputs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IarchiveOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IarchiveOutput</name>\n                    <state>###Unitialized###</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>BILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>Coder</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n    </configuration>\n    <configuration>\n        <name>Release</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>0</debug>\n        <settings>\n            <name>General</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>ExePath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>ObjPath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>ListPath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>GEndianMode</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>Input description</name>\n                    <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n                </option>\n                <option>\n                    <name>Output description</name>\n                    <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n                </option>\n                <option>\n                    <name>GOutputBinary</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCoreOrChip</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelect</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelectSlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RTDescription</name>\n                    <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n                </option>\n                <option>\n                    <name>OGProductVersion</name>\n                    <state>5.11.0.50579</state>\n                </option>\n                <option>\n                    <name>OGLastSavedByProductVersion</name>\n                    <state>7.70.1.11471</state>\n                </option>\n                <option>\n                    <name>GeneralEnableMisra</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVerbose</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGChipSelectEditMenu</name>\n                    <state>TM4C123GH6PM\tTexasInstruments TM4C123GH6PM</state>\n                </option>\n                <option>\n                    <name>GenLowLevelInterface</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GEndianModeBE</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OGBufferedTerminalOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenStdoutInterface</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>RTConfigPath2</name>\n                    <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n                </option>\n                <option>\n                    <name>GBECoreSlave</name>\n                    <version>25</version>\n                    <state>40</state>\n                </option>\n                <option>\n                    <name>OGUseCmsis</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsisDspLib</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibThreads</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CoreVariant</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>GFPUDeviceSlave</name>\n                    <state>TM4C123GH6PM\tTexasInstruments TM4C123GH6PM</state>\n                </option>\n                <option>\n                    <name>FPU2</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>NrRegs</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>NEON</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUCoreSlave2</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>OGCMSISPackSelectDevice</name>\n                </option>\n                <option>\n                    <name>OgLibHeap</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGLibAdditionalLocale</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGPrintfVariant</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>OGPrintfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGScanfVariant</name>\n                    <version>0</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OGScanfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenLocaleTags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>GenLocaleDisplayOnly</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ICCARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>34</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCOptimizationNoSizeConstraints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDefines</name>\n                    <state>NDEBUG</state>\n                </option>\n                <option>\n                    <name>CCPreprocFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocComments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMnemonics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMessages</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDiagSuppress</name>\n                    <state>Pa050</state>\n                </option>\n                <option>\n                    <name>CCDiagRemark</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagWarning</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagError</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCAllowList</name>\n                    <version>1</version>\n                    <state>11111110</state>\n                </option>\n                <option>\n                    <name>CCDebugInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IEndianMode</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCLangConformance</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSignedPlainChar</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRequirePrototypes</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCDiagWarnAreErr</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCompilerRuntimeInfo</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>CCLibConfigHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>PreInclude</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CompilerMisraOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIncludePath2</name>\n                    <state>$PROJ_DIR$\\..</state>\n                    <state>$PROJ_DIR$\\..\\..</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl</state>\n                </option>\n                <option>\n                    <name>CCStdIncCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCodeSection</name>\n                    <state>.text</state>\n                </option>\n                <option>\n                    <name>IProcessorMode2</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevel</name>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>CCOptStrategy</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevelSlave</name>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>CCPosIndRopi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndRwpi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndNoDynInit</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccLang</name>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>IccCDialect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccAllowVLA</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccStaticDestr</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCppInlineSemantics</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccFloatSemantics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCOptStrategySlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCGuardCalls</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccExceptions2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccRTTI2</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>AARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>10</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>AObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>ACaseSensitivity</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacroChars</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnWhat</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnOne</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>ADebug</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AltRegisterNames</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ADefines</name>\n                    <state>ewarm</state>\n                </option>\n                <option>\n                    <name>AList</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AListHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AListing</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Includes</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacDefs</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacExps</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacExec</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OnlyAssed</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MultiLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLengthCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLength</name>\n                    <state>80</state>\n                </option>\n                <option>\n                    <name>TabSpacing</name>\n                    <state>8</state>\n                </option>\n                <option>\n                    <name>AXRef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDefines</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefInternal</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDual</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AOutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsEdit</name>\n                    <state>100</state>\n                </option>\n                <option>\n                    <name>AIgnoreStdInclude</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AUserIncludes</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AExtraOptionsCheckV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AExtraOptionsV2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AsmNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>OBJCOPY</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OOCOutputFormat</name>\n                    <version>3</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OCOutputOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OOCOutputFile</name>\n                    <state>dpp-qv.bin</state>\n                </option>\n                <option>\n                    <name>OOCCommandLineProducer</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OOCObjCopyEnable</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CUSTOM</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <extensions></extensions>\n                <cmdline></cmdline>\n                <hasPrio>0</hasPrio>\n            </data>\n        </settings>\n        <settings>\n            <name>BICOMP</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>BUILDACTION</name>\n            <archiveVersion>1</archiveVersion>\n            <data>\n                <prebuild></prebuild>\n                <postbuild></postbuild>\n            </data>\n        </settings>\n        <settings>\n            <name>ILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>20</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>IlinkLibIOConfig</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>XLinkMisraHandler</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkInputFileSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOutputFile</name>\n                    <state>dpp-qv.out</state>\n                </option>\n                <option>\n                    <name>IlinkDebugInfoEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkKeepSymbols</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkConfigDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkMapFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogInitialization</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogModule</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogSection</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogVeneer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfOverride</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile</name>\n                    <state>$PROJ_DIR$\\dpp-qv.icf</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFileSlave</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkSuppressDiags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsRem</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsWarn</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsErr</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkWarningsAreErrors</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkUseExtraOptions</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkLowLevelInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAutoLibEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAdditionalLibs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkOverrideProgramEntryLabel</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabelSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabel</name>\n                    <state>__iar_program_start</state>\n                </option>\n                <option>\n                    <name>DoFill</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>FillerByte</name>\n                    <state>0xFF</state>\n                </option>\n                <option>\n                    <name>FillerStart</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>FillerEnd</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>CrcSize</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcAlign</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcPoly</name>\n                    <state>0x11021</state>\n                </option>\n                <option>\n                    <name>CrcCompl</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcBitOrder</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcInitialValue</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>DoCrc</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkBufferedTerminalOutput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkStdoutInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcFullSize</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIElfToolPostProcess</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogAutoLibSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogRedirSymbols</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogUnusedFragments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcReverseByteOrder</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcUseAsInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptInline</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsAllow</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsForce</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptMergeDuplSections</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptUseVfe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptForceVfe</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackAnalysisEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackControlFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkStackCallGraphFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CrcAlgorithm</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcUnitSize</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkThreadsSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogCallGraph</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile_AltDefault</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkHeapSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLocaleSelect</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IARCHIVE</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>IarchiveInputs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IarchiveOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IarchiveOutput</name>\n                    <state>###Unitialized###</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>BILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>Coder</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n    </configuration>\n    <group>\n        <name>Application</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\bsp.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\bsp.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\dpp.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\main.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\philo.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\table.c</name>\n        </file>\n    </group>\n    <group>\n        <name>ek-tm4c123gxl</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\iar\\startup_TM4C123GH6PM.s</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</name>\n        </file>\n    </group>\n    <group>\n        <name>QP</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qepn.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qfn.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qvn\\qvn.c</name>\n        </file>\n    </group>\n    <group>\n        <name>QP_port</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar\\qfn_port.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar\\qvn_port.c</name>\n        </file>\n    </group>\n</project>\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qv/iar/dpp-qv.eww",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<workspace>\n  <project>\n    <path>$WS_DIR$\\dpp-qv.ewp</path>\n  </project>\n  <batchBuild/>\n</workspace>\n\n\n"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/qv/iar/dpp-qv.icf",
    "content": "/*###ICF### Section handled by ICF editor, don't touch! ****/\n/*-Editor annotation file-*/\n/* IcfEditorFile=\"$TOOLKIT_DIR$\\config\\ide\\IcfEditor\\cortex_v1_0.xml\" */\n/*-Specials-*/\ndefine symbol __ICFEDIT_intvec_start__ = 0x00000000;\n/*-Memory Regions-*/\ndefine symbol __ICFEDIT_region_ROM_start__ = 0x00000000;\ndefine symbol __ICFEDIT_region_ROM_end__   = 0x0003FFFF;\ndefine symbol __ICFEDIT_region_RAM_start__ = 0x20000000;\ndefine symbol __ICFEDIT_region_RAM_end__   = 0x20007FFF;\n/*-Sizes-*/\ndefine symbol __ICFEDIT_size_cstack__ = 1024;\ndefine symbol __ICFEDIT_size_heap__   = 0;\n/**** End of ICF editor section. ###ICF###*/\n\ndefine memory mem with size = 4G;\ndefine region ROM_region   = mem:[from __ICFEDIT_region_ROM_start__   to __ICFEDIT_region_ROM_end__];\ndefine region RAM_region   = mem:[from __ICFEDIT_region_RAM_start__   to __ICFEDIT_region_RAM_end__];\n\ndefine block CSTACK    with alignment = 8, size = __ICFEDIT_size_cstack__   { };\ndefine block HEAP      with alignment = 8, size = __ICFEDIT_size_heap__     { };\n\ninitialize by copy { readwrite };\ndo not initialize  { section .noinit };\n\nplace at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };\nplace in ROM_region   { readonly };\nplace at start of RAM_region {block CSTACK }; \nplace in RAM_region   { readwrite, block HEAP  };"
  },
  {
    "path": "examples/arm-cm/dpp_ek-tm4c123gxl/table.c",
    "content": "/*.$file${.::table.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: dpp.qm\n* File:  ${.::table.c}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::table.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"  /* QP-nano port */\n#include \"bsp.h\"  /* Board Support Package */\n#include \"dpp.h\"  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(\"table\")\n\n/* Active object class -----------------------------------------------------*/\n/*.$declare${AOs::Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table} ...........................................................*/\ntypedef struct Table {\n/* protected: */\n    QActive super;\n\n/* private: */\n    uint8_t fork[N_PHILO];\n    uint8_t isHungry[N_PHILO];\n} Table;\n\n/* protected: */\nstatic QState Table_initial(Table * const me);\nstatic QState Table_active(Table * const me);\nstatic QState Table_serving(Table * const me);\nstatic QState Table_paused(Table * const me);\n/*.$enddecl${AOs::Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Global objects ----------------------------------------------------------*/\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 650U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.5.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Table} ........................................................*/\nstruct Table AO_Table;\n/*.$enddef${AOs::AO_Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n#define RIGHT(n_) ((uint8_t)(((n_) + (N_PHILO - 1U)) % N_PHILO))\n#define LEFT(n_)  ((uint8_t)(((n_) + 1U) % N_PHILO))\n#define FREE      ((uint8_t)0)\n#define USED      ((uint8_t)1)\n\n/*..........................................................................*/\n/*.$define${AOs::Table_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table_ctor} ......................................................*/\nvoid Table_ctor(void) {\n    uint8_t n;\n    Table *me = &AO_Table;\n\n    QActive_ctor(&me->super, Q_STATE_CAST(&Table_initial));\n    for (n = 0U; n < N_PHILO; ++n) {\n        me->fork[n] = FREE;\n        me->isHungry[n] = 0U;\n    }\n}\n/*.$enddef${AOs::Table_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table} ...........................................................*/\n/*.${AOs::Table::SM} .......................................................*/\nstatic QState Table_initial(Table * const me) {\n    /*.${AOs::Table::SM::initial} */\n    uint8_t n;\n    for (n = 0U; n < N_PHILO; ++n) {\n        me->fork[n] = FREE;\n        me->isHungry[n] = 0U;\n        BSP_displayPhilStat(n, \"thinking\");\n    }\n    return Q_TRAN(&Table_serving);\n}\n/*.${AOs::Table::SM::active} ...............................................*/\nstatic QState Table_active(Table * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Table::SM::active::TERMINATE} */\n        case TERMINATE_SIG: {\n            BSP_terminate(0);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::EAT} */\n        case EAT_SIG: {\n            Q_ERROR();\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Table::SM::active::serving} ......................................*/\nstatic QState Table_serving(Table * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Table::SM::active::serving} */\n        case Q_ENTRY_SIG: {\n            uint8_t n;\n            for (n = 0U; n < N_PHILO; ++n) { /* give permissions to eat... */\n                if ((me->isHungry[n] != 0U)\n                    && (me->fork[LEFT(n)] == FREE)\n                    && (me->fork[n] == FREE))\n                {\n                    QActive *philo;\n\n                    me->fork[LEFT(n)] = USED;\n                    me->fork[n] = USED;\n                    philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\n                    QACTIVE_POST(philo, EAT_SIG, n);\n                    me->isHungry[n] = 0U;\n                    BSP_displayPhilStat(n, \"eating  \");\n                }\n            }\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::HUNGRY} */\n        case HUNGRY_SIG: {\n            uint8_t n, m;\n            QActive *philo;\n\n            n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* phil ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n\n            BSP_displayPhilStat(n, \"hungry  \");\n            m = LEFT(n);\n            /*.${AOs::Table::SM::active::serving::HUNGRY::[bothfree]} */\n            if ((me->fork[m] == FREE) && (me->fork[n] == FREE)) {\n                me->fork[m] = USED;\n                me->fork[n] = USED;\n                philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\n                QACTIVE_POST(philo, EAT_SIG, n);\n                BSP_displayPhilStat(n, \"eating  \");\n                status_ = Q_HANDLED();\n            }\n            /*.${AOs::Table::SM::active::serving::HUNGRY::[else]} */\n            else {\n                me->isHungry[n] = 1U;\n                status_ = Q_HANDLED();\n            }\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::DONE} */\n        case DONE_SIG: {\n            uint8_t n, m;\n            QActive *philo;\n\n            n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* phil ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n\n            BSP_displayPhilStat(n, \"thinking\");\n            m = LEFT(n);\n            /* both forks of Phil[n] must be used */\n            Q_ASSERT((me->fork[n] == USED) && (me->fork[m] == USED));\n\n            me->fork[m] = FREE;\n            me->fork[n] = FREE;\n            m = RIGHT(n); /* check the right neighbor */\n\n            if ((me->isHungry[m] != 0U) && (me->fork[m] == FREE)) {\n                me->fork[n] = USED;\n                me->fork[m] = USED;\n                me->isHungry[m] = 0U;\n                philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n                QACTIVE_POST(philo, EAT_SIG, m);\n                BSP_displayPhilStat(m, \"eating  \");\n            }\n            m = LEFT(n); /* check the left neighbor */\n            n = LEFT(m); /* left fork of the left neighbor */\n            if ((me->isHungry[m] != 0U) && (me->fork[n] == FREE)) {\n                me->fork[m] = USED;\n                me->fork[n] = USED;\n                me->isHungry[m] = 0U;\n                philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n                QACTIVE_POST(philo, EAT_SIG, m);\n                BSP_displayPhilStat(m, \"eating  \");\n            }\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::EAT} */\n        case EAT_SIG: {\n            Q_ERROR();\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::PAUSE} */\n        case PAUSE_SIG: {\n            status_ = Q_TRAN(&Table_paused);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Table_active);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Table::SM::active::paused} .......................................*/\nstatic QState Table_paused(Table * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Table::SM::active::paused} */\n        case Q_ENTRY_SIG: {\n            BSP_displayPaused(1U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused} */\n        case Q_EXIT_SIG: {\n            BSP_displayPaused(0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused::SERVE} */\n        case SERVE_SIG: {\n            status_ = Q_TRAN(&Table_serving);\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused::HUNGRY} */\n        case HUNGRY_SIG: {\n            uint8_t n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* philo ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n            me->isHungry[n] = 1U;\n            BSP_displayPhilStat(n, \"hungry  \");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused::DONE} */\n        case DONE_SIG: {\n            uint8_t n, m;\n\n            n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* phil ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n\n            BSP_displayPhilStat(n, \"thinking\");\n            m = LEFT(n);\n            /* both forks of Phil[n] must be used */\n            Q_ASSERT((me->fork[n] == USED) && (me->fork[m] == USED));\n\n            me->fork[m] = FREE;\n            me->fork[n] = FREE;\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Table_active);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${AOs::Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/arm-cm/dpp_mbed-lpc1768/README.txt",
    "content": "About this Example\n==================\nThis directory contains the \"Dining Philosophers Problem\" (DPP) example\nfor the preemptive QK kernel running on the NXP mbed-LPC1768 board\n(ARM Cortex-M3). This directory contains portable code that should\ncompile with any C compiler for ARM Cortex-M.\n\nThe sub-directory \"gnu\" contains the Makefile for a generic GNU-ARM\ntoolset (e.g., see http://gnutoolchains.com/arm-eabi/). Thus, this\nproject provides a way of building mbed applications locally with\nfree and unrestricted tools.\n\n***\nNOTE: To build the code on Windows, you need to download and install\nthe GNU make utility. The Qtools collection from Quantum Leaps contains\nGNU make and other UNIX-style utilites for Windows (native Windows,\nwithout the need to install CygWin).\n***\n\nAfter building the code with the provided Makefile, you can simply\ncopy the binary image to the mbed folder for execution.\n\nThe whole build process and loading the image to the mbed board can\nbe executed directly from the QM modeling (by means of external tools).\nThe provided QM model (dpp.qm) comes pre-configured with tools\nsetup to build (via make) and copy the code to the mbed board.\n\n\nSupport Code for NXP mbed-LPC1768 Board\n=======================================\nThe directory 3rd_party\\mbed-lpc1768 contains the CMSIS-compliant\ndevice code for the NXP LPC176xx MCUs (ARM Cortex-M3). Please see the\nREADME.txt file in this folder for more details.\n\n\nNote About the Board Support Package for NXP mbed-LPC1768\n=========================================================\nThe provided Board Support Package (see bsp.c) is minimal for the\napplication at hand and is completely **standalone**, meaning that\nit does NOT use the extensive mbed driver library. The use of the\nmbed-library is possible, but not necessary (but requires C++).\n\n\nQS Software Tracing Instrumentation\n===================================\nThis example provides the \"Spy\" build configuration, which outputs the QS\n(Quantum Spy) software tracing data through UART0 of the mbed-LPC1768 board,\nwhich is connected to the virtual COM port of the mbed USB connection.\n\nThe output is generated at 115200 baud rate.\n\nHere is an example invocation of the QSPY host application to receive\nthe QS data from mbed-LPC1768 :\n\nqspy -cCOM20\n\nThe actual COM port number might be different on your Windows machine.\nPlease check the Device Manager to find the COM port number.\n\n\n"
  },
  {
    "path": "examples/arm-cm/dpp_mbed-lpc1768/README.url",
    "content": "[InternetShortcut]\nURL=http://www.state-machine.com/qpn/arm-cm_dpp_mbed-lpc1768.html\nIconFile=http://www.state-machine.com/qp.ico\n"
  },
  {
    "path": "examples/arm-cm/dpp_mbed-lpc1768/bsp.h",
    "content": "/*****************************************************************************\n* Product: DPP example\n* Last Updated for Version: 5.4.0\n* Date of the Last Update:  2015-03-07\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* Web  : www.state-machine.com\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BSP_H\n#define BSP_H\n\n#define BSP_TICKS_PER_SEC    100U\n\nvoid BSP_init(void);\nvoid BSP_displayPaused(uint8_t paused);\nvoid BSP_displayPhilStat(uint8_t n, char_t const *stat);\nvoid BSP_terminate(int16_t result);\n\nvoid BSP_randomSeed(uint32_t seed);   /* random seed */\nuint32_t BSP_random(void);            /* pseudo-random generator */\n\n#endif /* BSP_H */\n"
  },
  {
    "path": "examples/arm-cm/dpp_mbed-lpc1768/dpp.h",
    "content": "/*.$file${.::dpp.h} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: dpp.qm\n* File:  ${.::dpp.h}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::dpp.h} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#ifndef DPP_H\n#define DPP_H\n\nenum DPPSignals {\n    EAT_SIG = Q_USER_SIG, /* published by Table to let a philosopher eat */\n    DONE_SIG,             /* published by Philosopher when done eating */\n    PAUSE_SIG,            /* published by BSP to pause the application */\n    SERVE_SIG,            /* published by BSP to pause the application */\n    TERMINATE_SIG,        /* published by BSP to terminate the application */\n    HUNGRY_SIG,           /* posted direclty to Table from hungry Philo */\n    MAX_SIG               /* the last signal */\n};\n\n/* number of philosophers */\n#define N_PHILO ((uint8_t)5)\n#define PHILO_0_PRIO 1\n\n/*.$declare${AOs::AO_Philo0} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo0;\n/*.$enddecl${AOs::AO_Philo0} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo1} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo1;\n/*.$enddecl${AOs::AO_Philo1} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo2} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo2;\n/*.$enddecl${AOs::AO_Philo2} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo3} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo3;\n/*.$enddecl${AOs::AO_Philo3} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo4} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo4;\n/*.$enddecl${AOs::AO_Philo4} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Table AO_Table;\n/*.$enddecl${AOs::AO_Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/*.$declare${AOs::Philo_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo_ctor} ......................................................*/\nvoid Philo_ctor(void);\n/*.$enddecl${AOs::Philo_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::Table_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table_ctor} ......................................................*/\nvoid Table_ctor(void);\n/*.$enddecl${AOs::Table_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n#endif /* DPP_H */\n"
  },
  {
    "path": "examples/arm-cm/dpp_mbed-lpc1768/dpp.qm",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<model version=\"4.6.0\" links=\"1\">\n <documentation>Dining Philosopher Problem example with QActive</documentation>\n <!--${qpn}-->\n <framework name=\"qpn\"/>\n <!--${AOs}-->\n <package name=\"AOs\" stereotype=\"0x02\">\n  <!--${AOs::Philo}-->\n  <class name=\"Philo\" superclass=\"qpn::QActive\">\n   <!--${AOs::Philo::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${AOs::Philo::SM::initial}-->\n    <initial target=\"../1\">\n     <initial_glyph conn=\"2,3,5,1,20,5,-3\">\n      <action box=\"0,-2,6,2\"/>\n     </initial_glyph>\n    </initial>\n    <!--${AOs::Philo::SM::thinking}-->\n    <state name=\"thinking\">\n     <entry>QActive_armX(&amp;me-&gt;super, 0U, THINK_TIME, 0U);</entry>\n     <exit>QActive_disarmX(&amp;me-&gt;super, 0U);</exit>\n     <!--${AOs::Philo::SM::thinking::Q_TIMEOUT}-->\n     <tran trig=\"Q_TIMEOUT\" target=\"../../2\">\n      <tran_glyph conn=\"2,12,3,1,20,13,-3\">\n       <action box=\"0,-2,6,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Philo::SM::thinking::EAT, DONE}-->\n     <tran trig=\"EAT, DONE\">\n      <action>Q_ERROR(); /* these events should never arrive in this state */</action>\n      <tran_glyph conn=\"2,17,3,-1,13\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,5,17,16\">\n      <entry box=\"1,2,5,2\"/>\n      <exit box=\"1,4,6,2\"/>\n     </state_glyph>\n    </state>\n    <!--${AOs::Philo::SM::hungry}-->\n    <state name=\"hungry\">\n     <entry>QACTIVE_POST(&amp;AO_Table, HUNGRY_SIG, me-&gt;super.prio);</entry>\n     <!--${AOs::Philo::SM::hungry::EAT}-->\n     <tran trig=\"EAT\" target=\"../../3\">\n      <tran_glyph conn=\"2,30,3,1,20,13,-3\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Philo::SM::hungry::DONE}-->\n     <tran trig=\"DONE\">\n      <action>Q_ERROR(); /* this event should never arrive in this state */</action>\n      <tran_glyph conn=\"2,36,3,-1,14\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,23,17,16\">\n      <entry box=\"1,2,5,2\"/>\n     </state_glyph>\n    </state>\n    <!--${AOs::Philo::SM::eating}-->\n    <state name=\"eating\">\n     <entry>QActive_armX(&amp;me-&gt;super, 0U, EAT_TIME, 0U);</entry>\n     <exit>QActive_disarmX(&amp;me-&gt;super, 0U);\nQACTIVE_POST(QF_ACTIVE_CAST(&amp;AO_Table), DONE_SIG, me-&gt;super.prio);</exit>\n     <!--${AOs::Philo::SM::eating::Q_TIMEOUT}-->\n     <tran trig=\"Q_TIMEOUT\" target=\"../../1\">\n      <tran_glyph conn=\"2,51,3,1,22,-41,-5\">\n       <action box=\"0,-2,6,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Philo::SM::eating::EAT, DONE}-->\n     <tran trig=\"EAT, DONE\">\n      <action>Q_ERROR(); /* these events should never arrive in this state */</action>\n      <tran_glyph conn=\"2,55,3,-1,13\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,41,17,18\">\n      <entry box=\"1,2,5,2\"/>\n      <exit box=\"1,4,5,2\"/>\n     </state_glyph>\n    </state>\n    <state_diagram size=\"37,61\"/>\n   </statechart>\n  </class>\n  <!--${AOs::Table}-->\n  <class name=\"Table\" superclass=\"qpn::QActive\">\n   <!--${AOs::Table::fork[N_PHILO]}-->\n   <attribute name=\"fork[N_PHILO]\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Table::isHungry[N_PHILO]}-->\n   <attribute name=\"isHungry[N_PHILO]\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Table::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${AOs::Table::SM::initial}-->\n    <initial target=\"../1/2\">\n     <action>uint8_t n;\nfor (n = 0U; n &lt; N_PHILO; ++n) {\n    me-&gt;fork[n] = FREE;\n    me-&gt;isHungry[n] = 0U;\n    BSP_displayPhilStat(n, &quot;thinking&quot;);\n}</action>\n     <initial_glyph conn=\"3,3,5,1,44,18,-9\">\n      <action box=\"0,-2,6,2\"/>\n     </initial_glyph>\n    </initial>\n    <!--${AOs::Table::SM::active}-->\n    <state name=\"active\">\n     <!--${AOs::Table::SM::active::TERMINATE}-->\n     <tran trig=\"TERMINATE\">\n      <action>BSP_terminate(0);</action>\n      <tran_glyph conn=\"2,11,3,-1,14\">\n       <action box=\"0,-2,11,4\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Table::SM::active::EAT}-->\n     <tran trig=\"EAT\">\n      <action>Q_ERROR();</action>\n      <tran_glyph conn=\"2,15,3,-1,14\">\n       <action box=\"0,-2,10,4\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Table::SM::active::serving}-->\n     <state name=\"serving\">\n      <entry brief=\"give pending permitions to eat\">uint8_t n;\nfor (n = 0U; n &lt; N_PHILO; ++n) { /* give permissions to eat... */\n    if ((me-&gt;isHungry[n] != 0U)\n        &amp;&amp; (me-&gt;fork[LEFT(n)] == FREE)\n        &amp;&amp; (me-&gt;fork[n] == FREE))\n    {\n        QActive *philo;\n\n        me-&gt;fork[LEFT(n)] = USED;\n        me-&gt;fork[n] = USED;\n        philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\n        QACTIVE_POST(philo, EAT_SIG, n);\n        me-&gt;isHungry[n] = 0U;\n        BSP_displayPhilStat(n, &quot;eating  &quot;);\n    }\n}</entry>\n      <!--${AOs::Table::SM::active::serving::HUNGRY}-->\n      <tran trig=\"HUNGRY\">\n       <action>uint8_t n, m;\nQActive *philo;\n\nn = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* phil ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\n\nBSP_displayPhilStat(n, &quot;hungry  &quot;);\nm = LEFT(n);</action>\n       <!--${AOs::Table::SM::active::serving::HUNGRY::[bothfree]}-->\n       <choice>\n        <guard brief=\"both free\">(me-&gt;fork[m] == FREE) &amp;&amp; (me-&gt;fork[n] == FREE)</guard>\n        <action>me-&gt;fork[m] = USED;\nme-&gt;fork[n] = USED;\nphilo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\nQACTIVE_POST(philo, EAT_SIG, n);\nBSP_displayPhilStat(n, &quot;eating  &quot;);</action>\n        <choice_glyph conn=\"19,26,5,-1,10\">\n         <action box=\"1,0,10,2\"/>\n        </choice_glyph>\n       </choice>\n       <!--${AOs::Table::SM::active::serving::HUNGRY::[else]}-->\n       <choice>\n        <guard>else</guard>\n        <action>me-&gt;isHungry[n] = 1U;</action>\n        <choice_glyph conn=\"19,26,4,-1,5,10\">\n         <action box=\"1,5,6,2\"/>\n        </choice_glyph>\n       </choice>\n       <tran_glyph conn=\"4,26,3,-1,15\">\n        <action box=\"0,-2,8,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::serving::DONE}-->\n      <tran trig=\"DONE\">\n       <action>uint8_t n, m;\nQActive *philo;\n\nn = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* phil ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\n\nBSP_displayPhilStat(n, &quot;thinking&quot;);\nm = LEFT(n);\n/* both forks of Phil[n] must be used */\nQ_ASSERT((me-&gt;fork[n] == USED) &amp;&amp; (me-&gt;fork[m] == USED));\n\nme-&gt;fork[m] = FREE;\nme-&gt;fork[n] = FREE;\nm = RIGHT(n); /* check the right neighbor */\n\nif ((me-&gt;isHungry[m] != 0U) &amp;&amp; (me-&gt;fork[m] == FREE)) {\n    me-&gt;fork[n] = USED;\n    me-&gt;fork[m] = USED;\n    me-&gt;isHungry[m] = 0U;\n    philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n    QACTIVE_POST(philo, EAT_SIG, m);\n    BSP_displayPhilStat(m, &quot;eating  &quot;);\n}\nm = LEFT(n); /* check the left neighbor */\nn = LEFT(m); /* left fork of the left neighbor */\nif ((me-&gt;isHungry[m] != 0U) &amp;&amp; (me-&gt;fork[n] == FREE)) {\n    me-&gt;fork[m] = USED;\n    me-&gt;fork[n] = USED;\n    me-&gt;isHungry[m] = 0U;\n    philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n    QACTIVE_POST(philo, EAT_SIG, m);\n    BSP_displayPhilStat(m, &quot;eating  &quot;);\n}</action>\n       <tran_glyph conn=\"4,34,3,-1,15\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::serving::EAT}-->\n      <tran trig=\"EAT\">\n       <action>Q_ERROR();</action>\n       <tran_glyph conn=\"4,37,3,-1,15\">\n        <action box=\"0,-2,12,4\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::serving::PAUSE}-->\n      <tran trig=\"PAUSE\" target=\"../../3\">\n       <tran_glyph conn=\"4,41,3,1,37,6,-3\">\n        <action box=\"0,-2,7,2\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"4,19,34,24\">\n       <entry box=\"1,2,27,2\"/>\n      </state_glyph>\n     </state>\n     <!--${AOs::Table::SM::active::paused}-->\n     <state name=\"paused\">\n      <entry>BSP_displayPaused(1U);</entry>\n      <exit>BSP_displayPaused(0U);</exit>\n      <!--${AOs::Table::SM::active::paused::SERVE}-->\n      <tran trig=\"SERVE\" target=\"../../2\">\n       <tran_glyph conn=\"4,57,3,1,39,-20,-5\">\n        <action box=\"0,-2,7,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::paused::HUNGRY}-->\n      <tran trig=\"HUNGRY\">\n       <action>uint8_t n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* philo ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\nme-&gt;isHungry[n] = 1U;\nBSP_displayPhilStat(n, &quot;hungry  &quot;);</action>\n       <tran_glyph conn=\"4,60,3,-1,15\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::paused::DONE}-->\n      <tran trig=\"DONE\">\n       <action>uint8_t n, m;\n\nn = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* phil ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\n\nBSP_displayPhilStat(n, &quot;thinking&quot;);\nm = LEFT(n);\n/* both forks of Phil[n] must be used */\nQ_ASSERT((me-&gt;fork[n] == USED) &amp;&amp; (me-&gt;fork[m] == USED));\n\nme-&gt;fork[m] = FREE;\nme-&gt;fork[n] = FREE;</action>\n       <tran_glyph conn=\"4,63,3,-1,15\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"4,45,34,20\">\n       <entry box=\"1,2,18,4\"/>\n       <exit box=\"1,6,18,4\"/>\n      </state_glyph>\n     </state>\n     <state_glyph node=\"2,5,43,62\"/>\n    </state>\n    <state_diagram size=\"49,69\"/>\n   </statechart>\n  </class>\n  <!--${AOs::AO_Philo0}-->\n  <attribute name=\"AO_Philo0\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo1}-->\n  <attribute name=\"AO_Philo1\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo2}-->\n  <attribute name=\"AO_Philo2\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo3}-->\n  <attribute name=\"AO_Philo3\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo4}-->\n  <attribute name=\"AO_Philo4\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Table}-->\n  <attribute name=\"AO_Table\" type=\"struct Table\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::Philo_ctor}-->\n  <operation name=\"Philo_ctor\" type=\"void\" visibility=\"0x00\" properties=\"0x00\">\n   <code>QActive_ctor(&amp;AO_Philo0.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo1.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo2.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo3.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo4.super, Q_STATE_CAST(&amp;Philo_initial));\nBSP_randomSeed(123U);</code>\n  </operation>\n  <!--${AOs::Table_ctor}-->\n  <operation name=\"Table_ctor\" type=\"void\" visibility=\"0x00\" properties=\"0x00\">\n   <code>uint8_t n;\nTable *me = &amp;AO_Table;\n\nQActive_ctor(&amp;me-&gt;super, Q_STATE_CAST(&amp;Table_initial));\nfor (n = 0U; n &lt; N_PHILO; ++n) {\n    me-&gt;fork[n] = FREE;\n    me-&gt;isHungry[n] = 0U;\n}</code>\n  </operation>\n </package>\n <!--${.}-->\n <directory name=\".\">\n  <!--${.::dpp.h}-->\n  <file name=\"dpp.h\">\n   <text>#ifndef DPP_H\n#define DPP_H\n\nenum DPPSignals {\n    EAT_SIG = Q_USER_SIG, /* published by Table to let a philosopher eat */\n    DONE_SIG,             /* published by Philosopher when done eating */\n    PAUSE_SIG,            /* published by BSP to pause the application */\n    SERVE_SIG,            /* published by BSP to pause the application */\n    TERMINATE_SIG,        /* published by BSP to terminate the application */\n    HUNGRY_SIG,           /* posted direclty to Table from hungry Philo */\n    MAX_SIG               /* the last signal */\n};\n\n/* number of philosophers */\n#define N_PHILO ((uint8_t)5)\n#define PHILO_0_PRIO 1\n\n$declare${AOs::AO_Philo0}\n$declare${AOs::AO_Philo1}\n$declare${AOs::AO_Philo2}\n$declare${AOs::AO_Philo3}\n$declare${AOs::AO_Philo4}\n$declare${AOs::AO_Table}\n\n$declare${AOs::Philo_ctor}\n$declare${AOs::Table_ctor}\n\n#endif /* DPP_H */\n</text>\n  </file>\n  <!--${.::philo.c}-->\n  <file name=\"philo.c\">\n   <text>#include &quot;qpn.h&quot;  /* QP-nano port */\n#include &quot;bsp.h&quot;  /* Board Support Package */\n#include &quot;dpp.h&quot;  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(&quot;philo&quot;)\n\n/* Active object class -----------------------------------------------------*/\n$declare${AOs::Philo}\n\n/* Global objects ----------------------------------------------------------*/\n$define${AOs::AO_Philo0}\n$define${AOs::AO_Philo1}\n$define${AOs::AO_Philo2}\n$define${AOs::AO_Philo3}\n$define${AOs::AO_Philo4}\n\n/* Local objects -----------------------------------------------------------*/\n#define THINK_TIME  \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + (BSP_TICKS_PER_SEC/2U))\n#define EAT_TIME    \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + BSP_TICKS_PER_SEC)\n\n/* Philo definition --------------------------------------------------------*/\n$define${AOs::Philo_ctor}\n$define${AOs::Philo}</text>\n  </file>\n  <!--${.::table.c}-->\n  <file name=\"table.c\">\n   <text>#include &quot;qpn.h&quot;  /* QP-nano port */\n#include &quot;bsp.h&quot;  /* Board Support Package */\n#include &quot;dpp.h&quot;  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(&quot;table&quot;)\n\n/* Active object class -----------------------------------------------------*/\n$declare${AOs::Table}\n\n/* Global objects ----------------------------------------------------------*/\n$define${AOs::AO_Table}\n\n#define RIGHT(n_) ((uint8_t)(((n_) + (N_PHILO - 1U)) % N_PHILO))\n#define LEFT(n_)  ((uint8_t)(((n_) + 1U) % N_PHILO))\n#define FREE      ((uint8_t)0)\n#define USED      ((uint8_t)1)\n\n/*..........................................................................*/\n$define${AOs::Table_ctor}\n$define${AOs::Table}</text>\n  </file>\n </directory>\n</model>\n"
  },
  {
    "path": "examples/arm-cm/dpp_mbed-lpc1768/main.c",
    "content": "/*****************************************************************************\n* Product: DPP example\n* Last Updated for Version: 5.8.0\n* Date of the Last Update:  2016-11-06\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"  /* QP-nano */\n#include \"bsp.h\"  /* Board Support Package */\n#include \"dpp.h\"  /* Application interface */\n\n/*..........................................................................*/\nstatic QEvt l_philoQueue[N_PHILO][N_PHILO];\nstatic QEvt l_tableQueue[2];\n\n/* QF_active[] array defines all active object control blocks --------------*/\nQActiveCB const Q_ROM QF_active[] = {\n    { (QActive *)0,           (QEvt *)0,        0U                      },\n    { (QActive *)&AO_Philo0,  l_philoQueue[0],  Q_DIM(l_philoQueue[0])  },\n    { (QActive *)&AO_Philo1,  l_philoQueue[1],  Q_DIM(l_philoQueue[1])  },\n    { (QActive *)&AO_Philo2,  l_philoQueue[2],  Q_DIM(l_philoQueue[2])  },\n    { (QActive *)&AO_Philo3,  l_philoQueue[3],  Q_DIM(l_philoQueue[3])  },\n    { (QActive *)&AO_Philo4,  l_philoQueue[4],  Q_DIM(l_philoQueue[4])  },\n    { (QActive *)&AO_Table,   l_tableQueue,     Q_DIM(l_tableQueue)     }\n};\n\n/*..........................................................................*/\nint_t main() {\n    Philo_ctor();    /* instantiate all Philo AOs */\n    Table_ctor();    /* instantiate the Table AO */\n\n    QF_init(Q_DIM(QF_active)); /* initialize the QF-nano framework */\n    BSP_init();      /* initialize the Board Support Package */\n\n    return QF_run(); /* transfer control to QF-nano */\n}\n"
  },
  {
    "path": "examples/arm-cm/dpp_mbed-lpc1768/philo.c",
    "content": "/*.$file${.::philo.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: dpp.qm\n* File:  ${.::philo.c}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::philo.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"  /* QP-nano port */\n#include \"bsp.h\"  /* Board Support Package */\n#include \"dpp.h\"  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(\"philo\")\n\n/* Active object class -----------------------------------------------------*/\n/*.$declare${AOs::Philo} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo} ...........................................................*/\ntypedef struct Philo {\n/* protected: */\n    QActive super;\n} Philo;\n\n/* protected: */\nstatic QState Philo_initial(Philo * const me);\nstatic QState Philo_thinking(Philo * const me);\nstatic QState Philo_hungry(Philo * const me);\nstatic QState Philo_eating(Philo * const me);\n/*.$enddecl${AOs::Philo} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Global objects ----------------------------------------------------------*/\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 650U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.5.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo0} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo0} .......................................................*/\nstruct Philo AO_Philo0;\n/*.$enddef${AOs::AO_Philo0} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo1} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo1} .......................................................*/\nstruct Philo AO_Philo1;\n/*.$enddef${AOs::AO_Philo1} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo2} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo2} .......................................................*/\nstruct Philo AO_Philo2;\n/*.$enddef${AOs::AO_Philo2} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo3} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo3} .......................................................*/\nstruct Philo AO_Philo3;\n/*.$enddef${AOs::AO_Philo3} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo4} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo4} .......................................................*/\nstruct Philo AO_Philo4;\n/*.$enddef${AOs::AO_Philo4} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Local objects -----------------------------------------------------------*/\n#define THINK_TIME  \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + (BSP_TICKS_PER_SEC/2U))\n#define EAT_TIME    \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + BSP_TICKS_PER_SEC)\n\n/* Philo definition --------------------------------------------------------*/\n/*.$define${AOs::Philo_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo_ctor} ......................................................*/\nvoid Philo_ctor(void) {\n    QActive_ctor(&AO_Philo0.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo1.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo2.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo3.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo4.super, Q_STATE_CAST(&Philo_initial));\n    BSP_randomSeed(123U);\n}\n/*.$enddef${AOs::Philo_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Philo} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo} ...........................................................*/\n/*.${AOs::Philo::SM} .......................................................*/\nstatic QState Philo_initial(Philo * const me) {\n    /*.${AOs::Philo::SM::initial} */\n    return Q_TRAN(&Philo_thinking);\n}\n/*.${AOs::Philo::SM::thinking} .............................................*/\nstatic QState Philo_thinking(Philo * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Philo::SM::thinking} */\n        case Q_ENTRY_SIG: {\n            QActive_armX(&me->super, 0U, THINK_TIME, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::thinking} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::thinking::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Philo_hungry);\n            break;\n        }\n        /*.${AOs::Philo::SM::thinking::EAT, DONE} */\n        case EAT_SIG: /* intentionally fall through */\n        case DONE_SIG: {\n            Q_ERROR(); /* these events should never arrive in this state */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Philo::SM::hungry} ...............................................*/\nstatic QState Philo_hungry(Philo * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Philo::SM::hungry} */\n        case Q_ENTRY_SIG: {\n            QACTIVE_POST(&AO_Table, HUNGRY_SIG, me->super.prio);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::hungry::EAT} */\n        case EAT_SIG: {\n            status_ = Q_TRAN(&Philo_eating);\n            break;\n        }\n        /*.${AOs::Philo::SM::hungry::DONE} */\n        case DONE_SIG: {\n            Q_ERROR(); /* this event should never arrive in this state */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Philo::SM::eating} ...............................................*/\nstatic QState Philo_eating(Philo * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Philo::SM::eating} */\n        case Q_ENTRY_SIG: {\n            QActive_armX(&me->super, 0U, EAT_TIME, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::eating} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            QACTIVE_POST(QF_ACTIVE_CAST(&AO_Table), DONE_SIG, me->super.prio);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::eating::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Philo_thinking);\n            break;\n        }\n        /*.${AOs::Philo::SM::eating::EAT, DONE} */\n        case EAT_SIG: /* intentionally fall through */\n        case DONE_SIG: {\n            Q_ERROR(); /* these events should never arrive in this state */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${AOs::Philo} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/arm-cm/dpp_mbed-lpc1768/qk/armclang/dpp-qk.uvoptx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<ProjectOpt xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_optx.xsd\">\n\n  <SchemaVersion>1.0</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Extensions>\n    <cExt>*.c</cExt>\n    <aExt>*.s*; *.src; *.a*</aExt>\n    <oExt>*.obj; *.o</oExt>\n    <lExt>*.lib</lExt>\n    <tExt>*.txt; *.h; *.inc</tExt>\n    <pExt>*.plm</pExt>\n    <CppX>*.cpp</CppX>\n    <nMigrate>0</nMigrate>\n  </Extensions>\n\n  <DaveTm>\n    <dwLowDateTime>0</dwLowDateTime>\n    <dwHighDateTime>0</dwHighDateTime>\n  </DaveTm>\n\n  <Target>\n    <TargetName>dpp-dbg</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\dbg\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>1</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>8</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>0</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>0</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>BIN\\UL2CM3.DLL</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGUARM</Key>\n          <Name>ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÈ`Â\n—.Çv´ð4</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>UL2CM3(-O207 -S0 -C0 -FO7  -FN1 -FCFE0 -FD10000000 -FF0LPC_IAP_512 -FL080000 -FS00 -FP0($$Device:LPC1768$Flash\\LPC_IAP_512.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E10259B -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <WatchWindow1>\n        <Ww>\n          <count>0</count>\n          <WinNumber>1</WinNumber>\n          <ItemText>me</ItemText>\n        </Ww>\n      </WatchWindow1>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Target>\n    <TargetName>dpp-rel</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\rel\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>0</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>8</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>0</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>0</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>BIN\\UL2CM3.DLL</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E10259B -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>-O207 -S0 -C0 -FO7  -FN1 -FCFE0 -FD10000000 -FF0LPC_IAP_512 -FL080000 -FS00 -FP0($$Device:LPC1768$Flash\\LPC_IAP_512.FLM)</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Group>\n    <GroupName>Source Code</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>1</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\bsp.c</PathWithFileName>\n      <FilenameWithoutPath>bsp.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>2</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\bsp.h</PathWithFileName>\n      <FilenameWithoutPath>bsp.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>3</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\dpp.h</PathWithFileName>\n      <FilenameWithoutPath>dpp.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>4</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\main.c</PathWithFileName>\n      <FilenameWithoutPath>main.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>5</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\philo.c</PathWithFileName>\n      <FilenameWithoutPath>philo.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>6</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\table.c</PathWithFileName>\n      <FilenameWithoutPath>table.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>mbed-lpc1768</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>7</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\mbed-lpc1768\\system_LPC17xx.c</PathWithFileName>\n      <FilenameWithoutPath>system_LPC17xx.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>8</FileNumber>\n      <FileType>2</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\.arm\\startup-lpc1768\\armclang\\startup_LPC17xx.s</PathWithFileName>\n      <FilenameWithoutPath>startup_LPC17xx.s</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>9</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</PathWithFileName>\n      <FilenameWithoutPath>qepn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>10</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</PathWithFileName>\n      <FilenameWithoutPath>qfn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>11</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qkn\\qkn.c</PathWithFileName>\n      <FilenameWithoutPath>qkn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP_port</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>12</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qfn_port.h</PathWithFileName>\n      <FilenameWithoutPath>qfn_port.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>13</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qkn_port.c</PathWithFileName>\n      <FilenameWithoutPath>qkn_port.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n</ProjectOpt>\n"
  },
  {
    "path": "examples/arm-cm/dpp_mbed-lpc1768/qk/armclang/dpp-qk.uvprojx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<Project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_projx.xsd\">\n\n  <SchemaVersion>2.1</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Targets>\n    <Target>\n      <TargetName>dpp-dbg</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6130001::V6.13.1::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>LPC1768</Device>\n          <Vendor>NXP</Vendor>\n          <PackID>Keil.LPC1700_DFP.2.2.0</PackID>\n          <PackURL>http://www.keil.com/pack/</PackURL>\n          <Cpu>IROM(0x00000000,0x80000) IRAM(0x10000000,0x8000) IRAM2(0x2007C000,0x8000) CPUTYPE(\"Cortex-M3\") CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD10000000 -FCFE0 -FN1 -FF0LPC_IAP_512 -FS00 -FL080000 -FP0($$Device:LPC1768$Flash\\LPC_IAP_512.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:LPC1768$Device\\Include\\LPC17xx.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:LPC1768$SVD\\LPC176x5x.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\dbg\\</OutputDirectory>\n          <OutputName>dpp-qk</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>1</DebugInformation>\n          <BrowseInformation>1</BrowseInformation>\n          <ListingPath>.\\dbg\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\dbg\\dpp-qk.bin .\\dbg\\dpp-qk.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>0</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM3</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM3</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4096</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3></Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M3\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>0</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>1</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x10000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x80000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x80000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x10000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x2007c000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>0</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>1</vShortEn>\n            <vShortWch>1</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>rvmdk __FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\mbed-lpc1768</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile></ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Source Code</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>bsp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\bsp.h</FilePath>\n            </File>\n            <File>\n              <FileName>dpp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\dpp.h</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>philo.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\philo.c</FilePath>\n            </File>\n            <File>\n              <FileName>table.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\table.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>mbed-lpc1768</GroupName>\n          <Files>\n            <File>\n              <FileName>system_LPC17xx.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\mbed-lpc1768\\system_LPC17xx.c</FilePath>\n            </File>\n            <File>\n              <FileName>startup_LPC17xx.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\mbed-lpc1768\\arm\\startup_LPC17xx.s</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qkn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qkn\\qkn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qkn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qkn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n    <Target>\n      <TargetName>dpp-rel</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6130001::V6.13.1::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>LPC1768</Device>\n          <Vendor>NXP</Vendor>\n          <PackID>Keil.LPC1700_DFP.2.2.0</PackID>\n          <PackURL>http://www.keil.com/pack/</PackURL>\n          <Cpu>IROM(0x00000000,0x80000) IRAM(0x10000000,0x8000) IRAM2(0x2007C000,0x8000) CPUTYPE(\"Cortex-M3\") CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD10000000 -FCFE0 -FN1 -FF0LPC_IAP_512 -FS00 -FL080000 -FP0($$Device:LPC1768$Flash\\LPC_IAP_512.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:LPC1768$Device\\Include\\LPC17xx.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:LPC1768$SVD\\LPC176x5x.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\rel\\</OutputDirectory>\n          <OutputName>dpp-qk</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>0</DebugInformation>\n          <BrowseInformation>0</BrowseInformation>\n          <ListingPath>.\\rel\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\rel\\dpp-qk.bin .\\rel\\dpp-qk.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>0</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM3</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM3</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4097</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3></Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M3\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>0</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>1</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x10000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x80000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x80000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x10000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x2007c000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>0</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>1</vShortEn>\n            <vShortWch>1</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>NDEBUG __FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\mbed-lpc1768</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile>dpp-qk.sct</ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Source Code</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>bsp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\bsp.h</FilePath>\n            </File>\n            <File>\n              <FileName>dpp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\dpp.h</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>philo.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\philo.c</FilePath>\n            </File>\n            <File>\n              <FileName>table.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\table.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>mbed-lpc1768</GroupName>\n          <Files>\n            <File>\n              <FileName>system_LPC17xx.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\mbed-lpc1768\\system_LPC17xx.c</FilePath>\n            </File>\n            <File>\n              <FileName>startup_LPC17xx.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\mbed-lpc1768\\arm\\startup_LPC17xx.s</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qkn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qkn\\qkn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qkn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qkn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n  </Targets>\n\n  <RTE>\n    <apis/>\n    <components/>\n    <files/>\n  </RTE>\n\n</Project>\n"
  },
  {
    "path": "examples/arm-cm/dpp_mbed-lpc1768/qk/bsp.c",
    "content": "/*****************************************************************************\n* Product: DPP on EK-TM4C123GXL board, preemptive QK kernel\n* Last Updated for Version: 5.5.1\n* Date of the Last Update:  2015-10-05\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"dpp.h\"\n#include \"bsp.h\"\n\n#include \"LPC17xx.h\"  /* CMSIS-compliant header file for the MCU used */\n/* add other drivers if necessary... */\n\n//Q_DEFINE_THIS_FILE\n\n/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n* Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n* DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n*/\nenum KernelUnawareISRs { /* see NOTE00 */\n    /* ... */\n    MAX_KERNEL_UNAWARE_CMSIS_PRI  /* keep always last */\n};\n/* \"kernel-unaware\" interrupts can't overlap \"kernel-aware\" interrupts */\nQ_ASSERT_COMPILE(MAX_KERNEL_UNAWARE_CMSIS_PRI <= QF_AWARE_ISR_CMSIS_PRI);\n\nenum KernelAwareISRs {\n    EINT0_PRIO = QF_AWARE_ISR_CMSIS_PRI, /* see NOTE00 */\n    SYSTICK_PRIO,\n    /* ... */\n    MAX_KERNEL_AWARE_CMSIS_PRI /* keep always last */\n};\n/* \"kernel-aware\" interrupts should not overlap the PendSV priority */\nQ_ASSERT_COMPILE(MAX_KERNEL_AWARE_CMSIS_PRI <= (0xFF >>(8-__NVIC_PRIO_BITS)));\n\n/* ISRs defined in this BSP ------------------------------------------------*/\nvoid SysTick_Handler(void);\nvoid EINT0_IRQHandler(void);\n\n/* Local-scope objects -----------------------------------------------------*/\n/* LEDs available on the board */\n#define LED_1    (1U << 18)  /* P1.18 */\n#define LED_2    (1U << 20)  /* P1.20 */\n#define LED_3    (1U << 21)  /* P1.21 */\n#define LED_4    (1U << 23)  /* P1.23 */\n\n/* Push-Button wired externally to DIP8 (P0.6) */\n#define BTN_EXT  (1U << 6)    /* P0.6 */\n\n/* random seed */\nstatic uint32_t l_rnd;\n\n\n/* ISRs used in this project ===============================================*/\nvoid SysTick_Handler(void) {\n    /* state of the button debouncing, see below */\n    static struct ButtonsDebouncing {\n        uint32_t depressed;\n        uint32_t previous;\n    } buttons = { ~0U, ~0U };\n    uint32_t current;\n    uint32_t tmp;\n\n    QK_ISR_ENTRY();  /* inform QK about entering an ISR */\n\n    QF_tickXISR(0U); /* process time events for rate 0 */\n\n\n    /* Perform the debouncing of buttons. The algorithm for debouncing\n    * adapted from the book \"Embedded Systems Dictionary\" by Jack Ganssle\n    * and Michael Barr, page 71.\n    */\n    current = ~LPC_GPIO0->FIOPIN; /* read P0 with the state of the Buttons */\n    tmp = buttons.depressed; /* save the debounced depressed buttons */\n    buttons.depressed |= (buttons.previous & current); /* set depressed */\n    buttons.depressed &= (buttons.previous | current); /* clear released */\n    buttons.previous   = current; /* update the history */\n    tmp ^= buttons.depressed;     /* changed debounced depressed */\n    if ((tmp & BTN_EXT) != 0U) {  /* debounced BTN_EXT state changed? */\n        if ((buttons.depressed & BTN_EXT) != 0U) { /* is BTN_EXT depressed? */\n            QACTIVE_POST_ISR(&AO_Table, PAUSE_SIG, 0U);\n        }\n        else {            /* the button is released */\n            QACTIVE_POST_ISR(&AO_Table, SERVE_SIG, 0U);\n        }\n    }\n\n    QK_ISR_EXIT();  /* inform QK about exiting an ISR */\n}\n/*..........................................................................*/\nvoid EINT0_IRQHandler(void) {\n    QK_ISR_ENTRY(); /* inform QK about entering an ISR */\n    QACTIVE_POST_ISR(&AO_Table, MAX_SIG, 0U); /* for testing */\n    QK_ISR_EXIT();  /* inform QK about exiting an ISR */\n}\n\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    /* NOTE: SystemInit() already called from the startup code\n    *  but SystemCoreClock needs to be updated\n    */\n    SystemCoreClockUpdate();\n\n    /* turn the GPIO clock on */\n    LPC_SC->PCONP |= (1U << 15);\n\n    /* setup the GPIO pin functions for the LEDs... */\n    LPC_PINCON->PINSEL3 &= ~(3U <<  4); /* LED_1: function P1.18 to GPIO */\n    LPC_PINCON->PINSEL3 &= ~(3U <<  8); /* LED_2: function P1.20 to GPIO */\n    LPC_PINCON->PINSEL3 &= ~(3U << 10); /* LED_3: function P1.21 to GPIO */\n    LPC_PINCON->PINSEL3 &= ~(3U << 14); /* LED_4: function P1.23 to GPIO */\n\n    /* Set GPIO-P1 LED pins to output */\n    LPC_GPIO1->FIODIR |= (LED_1 | LED_2 | LED_3 | LED_4);\n\n\n    /* setup the GPIO pin function for the Button... */\n    LPC_PINCON->PINSEL0 &= ~(3U << 12); /* function P0.6 to GPIO, pull-up */\n\n    /* Set GPIO-P0 Button pin as input */\n    LPC_GPIO0->FIODIR &= ~BTN_EXT;\n\n    BSP_randomSeed(1234U);\n}\n/*..........................................................................*/\nvoid BSP_displayPhilStat(uint8_t n, char const *stat) {\n    if (stat[0] == 'h') {\n        LPC_GPIO1->FIOSET = LED_1;  /* turn LED on  */\n    }\n    else {\n        LPC_GPIO1->FIOCLR = LED_1;  /* turn LED off */\n    }\n    if (stat[0] == 'e') {\n        LPC_GPIO1->FIOSET = LED_2;  /* turn LED on  */\n    }\n    else {\n        LPC_GPIO1->FIOCLR = LED_2;  /* turn LED off */\n    }\n}\n/*..........................................................................*/\nvoid BSP_displayPaused(uint8_t paused) {\n    if (paused != (uint8_t)0) {\n        LPC_GPIO1->FIOSET = LED_3;  /* turn LED on  */\n    }\n    else {\n        LPC_GPIO1->FIOCLR = LED_3;  /* turn LED off */\n    }\n}\n/*..........................................................................*/\nuint32_t BSP_random(void) { /* a very cheap pseudo-random-number generator */\n    /* \"Super-Duper\" Linear Congruential Generator (LCG)\n    * LCG(2^32, 3*7*11*13*23, 0, seed)\n    */\n    l_rnd = l_rnd * (3U*7U*11U*13U*23U);\n\n    return l_rnd >> 8;\n}\n/*..........................................................................*/\nvoid BSP_randomSeed(uint32_t seed) {\n    l_rnd = seed;\n}\n/*..........................................................................*/\nvoid BSP_terminate(int16_t result) {\n    (void)result;\n}\n\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    /* set up the SysTick timer to fire at BSP_TICKS_PER_SEC rate */\n    SysTick_Config(SystemCoreClock / BSP_TICKS_PER_SEC);\n\n    /* assing all priority bits for preemption-prio. and none to sub-prio. */\n    NVIC_SetPriorityGrouping(0U);\n\n    /* set priorities of ALL ISRs used in the system, see NOTE00\n    *\n    * !!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n    * Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n    * DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n    */\n    NVIC_SetPriority(SysTick_IRQn,   SYSTICK_PRIO);\n    NVIC_SetPriority(EINT0_IRQn,     EINT0_PRIO);\n    /* ... */\n\n    /* enable IRQs in the NVIC... */\n    NVIC_EnableIRQ(EINT0_IRQn);\n}\n/*..........................................................................*/\nvoid QK_onIdle(void) {\n    /* toggle the User LED on and then off, see NOTE01 */\n    QF_INT_DISABLE();\n    LPC_GPIO1->FIOSET = LED_4;  /* turn LED on  */\n    __NOP();   /* a couple of NOPs to actually see the LED glow */\n    __NOP();\n    __NOP();\n    __NOP();\n    LPC_GPIO1->FIOCLR = LED_4;  /* turn LED off */\n    QF_INT_ENABLE();\n\n#ifdef NDEBUG\n    /* Put the CPU and peripherals to the low-power mode.\n    * you might need to customize the clock management for your application,\n    * see the datasheet for your particular Cortex-M3 MCU.\n    */\n    __WFI(); /* Wait-For-Interrupt */\n#endif\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const module, int loc) {\n    /*\n    * NOTE: add here your application-specific error handling\n    */\n    (void)module;\n    (void)loc;\n\n    NVIC_SystemReset();\n}\n\n/*****************************************************************************\n* NOTE00:\n* The QF_AWARE_ISR_CMSIS_PRI constant from the QF port specifies the highest\n* ISR priority that is disabled by the QF framework. The value is suitable\n* for the NVIC_SetPriority() CMSIS function.\n*\n* Only ISRs prioritized at or below the QF_AWARE_ISR_CMSIS_PRI level (i.e.,\n* with the numerical values of priorities equal or higher than\n* QF_AWARE_ISR_CMSIS_PRI) are allowed to call any QF services. These ISRs\n* are \"QF-aware\".\n*\n* Conversely, any ISRs prioritized above the QF_AWARE_ISR_CMSIS_PRI priority\n* level (i.e., with the numerical values of priorities less than\n* QF_AWARE_ISR_CMSIS_PRI) are never disabled and are not aware of the kernel.\n* Such \"QF-unaware\" ISRs cannot call any QF services. The only mechanism\n* by which a \"QF-unaware\" ISR can communicate with the QF framework is by\n* triggering a \"QF-aware\" ISR, which can post/publish events.\n*\n* NOTE01:\n* One of the LEDs is used to visualize the idle loop activity. The brightness\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n"
  },
  {
    "path": "examples/arm-cm/dpp_mbed-lpc1768/qk/gnu/Makefile",
    "content": "##############################################################################\n# Product: Makefile for QP-nano on mbed-LPC1768, QK-nano kernel, GNU-ARM\n# Last Updated for Version: 6.5.0\n# Date of the Last Update:  2019-04-15\n#\n#                    Q u a n t u m  L e a P s\n#                    ------------------------\n#                    Modern Embedded Software\n#\n# Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# https://www.state-machine.com\n# mailto:info@state-machine.com\n##############################################################################\n# examples of invoking this Makefile:\n# building configurations: Debug (default), Release, and Spy\n# make\n# make CONF=rel\n#\n# cleaning configurations: Debug (default), Release, and Spy\n# make clean\n# make CONF=rel clean\n#\n# NOTE:\n# To use this Makefile on Windows, you will need the GNU make utility, which\n# is included in the Qtools collection for Windows, see:\n#    http://sourceforge.net/projects/qpc/files/Qtools/\n#\n\n#-----------------------------------------------------------------------------\n# project name\n#\nPROJECT     := dpp-qk\n\n#-----------------------------------------------------------------------------\n# project directories\n#\n\n# location of the QP-nano framework (if not provided in an environemnt var.)\nifeq ($(QPN),)\nQPN := ../../../../..\nendif\n\n# QP port used in this project\nQP_PORT_DIR := $(QPN)/ports/arm-cm/qk/gnu\n\n# list of all source directories used by this project\nVPATH = \\\n\t.. \\\n\t../.. \\\n\t$(QPN)/src/qfn \\\n\t$(QPN)/src/qkn \\\n\t$(QP_PORT_DIR) \\\n\t$(QPN)/3rd_party/mbed-lpc1768 \\\n\t$(QPN)/3rd_party/mbed-lpc1768/gnu\n\n# list of all include directories needed by this project\nINCLUDES  = \\\n\t-I../.. \\\n\t-I$(QPN)/include \\\n\t-I$(QP_PORT_DIR) \\\n\t-I$(QPN)/3rd_party/CMSIS/Include \\\n\t-I$(QPN)/3rd_party/mbed-lpc1768\n\n#-----------------------------------------------------------------------------\n# files\n#\n\n# assembler source files\nASM_SRCS :=\n\n# C source files\nC_SRCS := \\\n\tbsp.c \\\n\tmain.c \\\n\tphilo.c \\\n\ttable.c \\\n\tsystem_LPC17xx.c \\\n\tstartup_LPC17xx.c\n\n# C++ source files\nCPP_SRCS :=\n\nOUTPUT    := $(PROJECT)\nLD_SCRIPT := $(PROJECT).ld\n\nQP_SRCS := \\\n\tqepn.c \\\n\tqfn.c \\\n\tqkn.c \\\n\tqkn_port.c\n\nQP_ASMS :=\n\nLIB_DIRS  :=\nLIBS      :=\n\n# defines\nDEFINES   :=\n\n# ARM CPU, ARCH, FPU, and Float-ABI types...\n# ARM_CPU:   [cortex-m0 | cortex-m0plus | cortex-m1 | cortex-m3 | cortex-m4]\n# ARM_ARCH:  [6 | 7] (NOTE: must match ARM_CPU!)\n# ARM_FPU:   [ | vfp]\n# FLOAT_ABI: [ | soft | softfp | hard]\n#\nARM_CPU   := -mcpu=cortex-m3\nARM_ARCH  := 7   # NOTE: must match the ARM_CPU!\nARM_FPU   :=\nFLOAT_ABI :=\n\n#-----------------------------------------------------------------------------\n# GNU-ARM toolset (NOTE: You need to adjust to your machine)\n# see https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads\n#\nifeq ($(GNU_ARM),)\nGNU_ARM := $(QTOOLS)/gnu_arm-none-eabi\nendif\n\n# make sure that the GNU-ARM toolset exists...\nifeq (\"$(wildcard $(GNU_ARM))\",\"\")\n$(error GNU_ARM toolset not found. Please adjust the Makefile)\nendif\n\nCC    := $(GNU_ARM)/bin/arm-none-eabi-gcc\nCPP   := $(GNU_ARM)/bin/arm-none-eabi-g++\nAS    := $(GNU_ARM)/bin/arm-none-eabi-as\nLINK  := $(GNU_ARM)/bin/arm-none-eabi-g++\nBIN   := $(GNU_ARM)/bin/arm-none-eabi-objcopy\n\n\n##############################################################################\n# Typically, you should not need to change anything below this line\n\n# basic utilities (included in Qtools for Windows), see:\n#    http://sourceforge.net/projects/qpc/files/Qtools\n\nMKDIR := mkdir\nRM    := rm\n\n#-----------------------------------------------------------------------------\n# build options for various configurations for ARM Cortex-M\n#\n\n# combine all the soruces...\nC_SRCS += $(QP_SRCS)\nASM_SRCS += $(QP_ASMS)\n\nifeq (rel, $(CONF)) # Release configuration ..................................\n\nBIN_DIR := rel\n\nASFLAGS = $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O1 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nCPPFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O1 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nelse # default Debug configuration ..........................................\n\nBIN_DIR := dbg\n\nASFLAGS = -g $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O $(INCLUDES) $(DEFINES)\n\nCPPFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O $(INCLUDES) $(DEFINES)\n\nendif # ......................................................................\n\n\nLINKFLAGS = -T$(LD_SCRIPT) $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb \\\n\t-specs=nosys.specs -specs=nano.specs \\\n\t-Wl,-Map,$(BIN_DIR)/$(OUTPUT).map,--cref,--gc-sections $(LIB_DIRS)\n\n\nASM_OBJS     := $(patsubst %.s,%.o,  $(notdir $(ASM_SRCS)))\nC_OBJS       := $(patsubst %.c,%.o,  $(notdir $(C_SRCS)))\nCPP_OBJS     := $(patsubst %.cpp,%.o,$(notdir $(CPP_SRCS)))\n\nTARGET_BIN   := $(BIN_DIR)/$(OUTPUT).bin\nTARGET_ELF   := $(BIN_DIR)/$(OUTPUT).elf\nASM_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(ASM_OBJS))\nC_OBJS_EXT   := $(addprefix $(BIN_DIR)/, $(C_OBJS))\nC_DEPS_EXT   := $(patsubst %.o, %.d, $(C_OBJS_EXT))\nCPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))\nCPP_DEPS_EXT := $(patsubst %.o, %.d, $(CPP_OBJS_EXT))\n\n# create $(BIN_DIR) if it does not exist\nifeq (\"$(wildcard $(BIN_DIR))\",\"\")\n$(shell $(MKDIR) $(BIN_DIR))\nendif\n\n#-----------------------------------------------------------------------------\n# rules\n#\n\nall: $(TARGET_BIN)\n#all: $(TARGET_ELF)\n\n$(TARGET_BIN): $(TARGET_ELF)\n\t$(BIN) -O binary $< $@\n\n$(TARGET_ELF) : $(ASM_OBJS_EXT) $(C_OBJS_EXT) $(CPP_OBJS_EXT)\n\t$(CC) $(CFLAGS) $(QPN)/include/qstamp.c -o $(BIN_DIR)/qstamp.o\n\t$(LINK) $(LINKFLAGS) -o $@ $^ $(BIN_DIR)/qstamp.o $(LIBS)\n\n$(BIN_DIR)/%.d : %.c\n\t$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@\n\n$(BIN_DIR)/%.d : %.cpp\n\t$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@\n\n$(BIN_DIR)/%.o : %.s\n\t$(AS) $(ASFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.c\n\t$(CC) $(CFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.cpp\n\t$(CPP) $(CPPFLAGS) $< -o $@\n\n# include dependency files only if our goal depends on their existence\nifneq ($(MAKECMDGOALS),clean)\n  ifneq ($(MAKECMDGOALS),show)\n-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)\n  endif\nendif\n\n\n.PHONY : clean\nclean:\n\t-$(RM) $(BIN_DIR)/*.o \\\n\t$(BIN_DIR)/*.d \\\n\t$(BIN_DIR)/*.bin \\\n\t$(BIN_DIR)/*.elf \\\n\t$(BIN_DIR)/*.map\n\t\nshow:\n\t@echo PROJECT = $(PROJECT)\n\t@echo CONF = $(CONF)\n\t@echo DEFINES = $(DEFINES)\n\t@echo ASM_FPU = $(ASM_FPU)\n\t@echo ASM_SRCS = $(ASM_SRCS)\n\t@echo C_SRCS = $(C_SRCS)\n\t@echo CPP_SRCS = $(CPP_SRCS)\n\t@echo ASM_OBJS_EXT = $(ASM_OBJS_EXT)\n\t@echo C_OBJS_EXT = $(C_OBJS_EXT)\n\t@echo C_DEPS_EXT = $(C_DEPS_EXT)\n\t@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)\n\t@echo TARGET_ELF = $(TARGET_ELF)\n"
  },
  {
    "path": "examples/arm-cm/dpp_mbed-lpc1768/qk/gnu/dpp-qk.ld",
    "content": "/*****************************************************************************\n* Product: Linker script for for LPC1768, GNU-ARM linker\n* Last Updated for Version: 5.9.8\n* Date of the Last Update:  2017-09-13\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) 2002-2013 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <http://www.gnu.org/licenses/>.\n*\n* Contact information:\n* https://state-machine.com\n* mailto:info@state-machine.com\n*****************************************************************************/\nOUTPUT_FORMAT(\"elf32-littlearm\", \"elf32-bigarm\", \"elf32-littlearm\")\nOUTPUT_ARCH(arm)\nENTRY(Reset_Handler)                                         /* entry Point */\n\nMEMORY {                                      /* memory map of mbed-LPC1768 */\n    ROM (rx)  : ORIGIN = 0x00000000, LENGTH = 512K\n    RAM (rwx) : ORIGIN = 0x10000000, LENGTH = 0x7FDF\n\n    USB_RAM(rwx) : ORIGIN = 0x2007C000, LENGTH = 16K\n    ETH_RAM(rwx) : ORIGIN = 0x20080000, LENGTH = 16K\n}\n\n/* The size of the stack used by the application. NOTE: you need to adjust  */\nSTACK_SIZE = 1024;\n\n/* The size of the heap used by the application. NOTE: you need to adjust   */\nHEAP_SIZE = 0;\n\nSECTIONS {\n\n    .isr_vector : {        /* the vector table goes FIRST into ROM */\n        KEEP(*(.isr_vector)) /* vector table */\n        . = ALIGN(4);\n    } >ROM\n\n    .text : {              /* code and constants */\n        . = ALIGN(4);\n        *(.text)           /* .text sections (code) */\n        *(.text*)          /* .text* sections (code) */\n        *(.rodata)         /* .rodata sections (constants, strings, etc.) */\n        *(.rodata*)        /* .rodata* sections (constants, strings, etc.) */\n\n        KEEP (*(.init))\n        KEEP (*(.fini))\n\n        . = ALIGN(4);\n    } >ROM\n\n    .preinit_array : {\n        PROVIDE_HIDDEN (__preinit_array_start = .);\n        KEEP (*(.preinit_array*))\n        PROVIDE_HIDDEN (__preinit_array_end = .);\n    } >ROM\n\n    .init_array : {\n        PROVIDE_HIDDEN (__init_array_start = .);\n        KEEP (*(SORT(.init_array.*)))\n        KEEP (*(.init_array*))\n        PROVIDE_HIDDEN (__init_array_end = .);\n    } >ROM\n\n    .fini_array : {\n        PROVIDE_HIDDEN (__fini_array_start = .);\n        KEEP (*(.fini_array*))\n        KEEP (*(SORT(.fini_array.*)))\n        PROVIDE_HIDDEN (__fini_array_end = .);\n    } >ROM\n\n    _etext = .;            /* global symbols at end of code */\n\n    .stack : {\n        __stack_start__ = .;\n        . = . + STACK_SIZE;\n        . = ALIGN(4);\n        __stack_end__ = .;\n    } >RAM\n\n    .data :  AT (_etext) {\n        __data_load = LOADADDR (.data);\n        __data_start = .;\n        *(.data)           /* .data sections */\n        *(.data*)          /* .data* sections */\n        . = ALIGN(4);\n        __data_end__ = .;\n        _edata = __data_end__;\n    } >RAM\n\n    .bss : {\n        __bss_start__ = .;\n        *(.bss)\n        *(.bss*)\n        *(COMMON)\n        . = ALIGN(4);\n        _ebss = .;         /* define a global symbol at bss end */\n        __bss_end__ = .;\n    } >RAM\n\n    __exidx_start = .;\n    .ARM.exidx   : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } >RAM\n    __exidx_end = .;\n\n    PROVIDE ( end = _ebss );\n    PROVIDE ( _end = _ebss );\n    PROVIDE ( __end__ = _ebss );\n\n    .heap : {\n        __heap_start__ = .;\n        . = . + HEAP_SIZE;\n        . = ALIGN(4);\n        __heap_end__ = .;\n    } >RAM\n\n    /* Remove information from the standard libraries */\n    /DISCARD/ : {\n        libc.a ( * )\n        libm.a ( * )\n        libgcc.a ( * )\n    }\n}\n"
  },
  {
    "path": "examples/arm-cm/dpp_mbed-lpc1768/qk/iar/dpp-qk.ewd",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<project>\n  <fileVersion>2</fileVersion>\n  <configuration>\n    <name>Debug</name>\n    <toolchain>\n      <name>ARM</name>\n    </toolchain>\n    <debug>1</debug>\n    <settings>\n      <name>C-SPY</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>26</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CEndian</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCVariant</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>MemOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MemFile</name>\n          <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\NXP\\LPC1768.ddf</state>\n        </option>\n        <option>\n          <name>RunToEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RunToName</name>\n          <state>main</state>\n        </option>\n        <option>\n          <name>CExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CFpuProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCDDFArgumentProducer</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCDownloadSuppressDownload</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDownloadVerifyAll</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProductVersion</name>\n          <state>7.40.2.8567</state>\n        </option>\n        <option>\n          <name>OCDynDriverList</name>\n          <state>ARMSIM_ID</state>\n        </option>\n        <option>\n          <name>OCLastSavedByProductVersion</name>\n          <state>7.40.2.8567</state>\n        </option>\n        <option>\n          <name>OCDownloadAttachToProgram</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>UseFlashLoader</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CLowLevel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCBE8Slave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacFile2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CDevice</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>FlashLoadersV3</name>\n          <state>$TOOLKIT_DIR$\\config\\flashloader\\NXP\\FlashNXPLPC512K_Cortex.board</state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OverrideDefFlashBoard</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesOffset1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesUse1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDeviceConfigMacroFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCDebuggerExtraOption</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCAllMTBOptions</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCMulticoreNrOfCores</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCMulticoreMaster</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCMulticorePort</name>\n          <state>53461</state>\n        </option>\n        <option>\n          <name>OCMulticoreWorkspace</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCMulticoreSlaveProject</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCMulticoreSlaveConfiguration</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ARMSIM_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCSimDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCSimEnablePSP</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCSimPspOverrideConfig</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCSimPspConfigFile</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ANGEL_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CCAngelHeartbeat</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CAngelCommunication</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CAngelCommBaud</name>\n          <version>0</version>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CAngelCommPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ANGELTCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>DoAngelLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AngelLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CMSISDAP_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CMSISDAPAttachSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCIarProbeScriptFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CMSISDAPResetList</name>\n          <version>1</version>\n          <state>10</state>\n        </option>\n        <option>\n          <name>CMSISDAPHWResetDuration</name>\n          <state>300</state>\n        </option>\n        <option>\n          <name>CMSISDAPHWResetDelay</name>\n          <state>200</state>\n        </option>\n        <option>\n          <name>CMSISDAPDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CMSISDAPInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiTargetEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPJtagSpeedList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPRestoreBreakpointsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPUpdateBreakpointsEdit</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>RDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchUndef</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchData</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchPrefetch</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchMMERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchNOCPERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchCHKERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchSTATERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchBUSERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchINTERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchHARDERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiCPUEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiCPUNumber</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeCfgOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeConfig</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CMSISDAPProbeConfigRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPSelectedCPUBehaviour</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ICpuName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCJetEmuParams</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>GDBSERVER_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCJTagBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>IARROM_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CRomLogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRomLogFileEditB</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CRomCommPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRomCommBaud</name>\n          <version>0</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>IJET_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>6</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetAttachSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCIarProbeScriptFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetResetList</name>\n          <version>1</version>\n          <state>10</state>\n        </option>\n        <option>\n          <name>IjetHWResetDuration</name>\n          <state>300</state>\n        </option>\n        <option>\n          <name>IjetHWResetDelay</name>\n          <state>200</state>\n        </option>\n        <option>\n          <name>IjetPowerFromProbe</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetPowerRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>IjetInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiTargetEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetScanChainNonARMDevices</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetIRLength</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetJtagSpeedList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetProtocolRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetSwoPin</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetCpuClockEdit</name>\n          <state>72.0</state>\n        </option>\n        <option>\n          <name>IjetSwoPrescalerList</name>\n          <version>1</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetRestoreBreakpointsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetUpdateBreakpointsEdit</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>RDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchUndef</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchData</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchPrefetch</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchMMERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchNOCPERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchCHKERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchSTATERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchBUSERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchINTERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchHARDERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeCfgOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeConfig</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IjetProbeConfigRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiCPUEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiCPUNumber</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetSelectedCPUBehaviour</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ICpuName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCJetEmuParams</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetPreferETB</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetTraceSettingsList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetTraceSizeList</name>\n          <version>0</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>FlashBoardPathSlave</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JLINK_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>15</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>JLinkSpeed</name>\n          <state>1000</state>\n        </option>\n        <option>\n          <name>CCJLinkDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCJLinkHWResetDelay</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>JLinkInitialSpeed</name>\n          <state>1000</state>\n        </option>\n        <option>\n          <name>CCDoJlinkMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCScanChainNonARMDevices</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkIRLength</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkCommRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkTCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>CCJLinkSpeedRadioV2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCUSBDevice</name>\n          <version>1</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchUndef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchPrefetch</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>CCJLinkInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkAttachSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCJLinkResetList</name>\n          <version>6</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>CCJLinkInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchMMERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchNOCPERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchCHRERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchSTATERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchBUSERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchINTERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchHARDERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkScriptFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCJLinkUsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCTcpIpAlt</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkTcpIpSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCCpuClockEdit</name>\n          <state>72.0</state>\n        </option>\n        <option>\n          <name>CCSwoClockAuto</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSwoClockEdit</name>\n          <state>2000</state>\n        </option>\n        <option>\n          <name>OCJLinkTraceSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkTraceSourceDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkDeviceName</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>LMIFTDI_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>LmiftdiSpeed</name>\n          <state>500</state>\n        </option>\n        <option>\n          <name>CCLmiftdiDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLmiftdiLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCLmiFtdiInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLmiFtdiInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>MACRAIGOR_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>3</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>jtag</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EmuSpeed</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>DoEmuMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EmuMultiTarget</name>\n          <state>0@ARM7TDMI</state>\n        </option>\n        <option>\n          <name>EmuHWReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CEmuCommBaud</name>\n          <version>0</version>\n          <state>4</state>\n        </option>\n        <option>\n          <name>CEmuCommPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>jtago</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UnusedAddr</name>\n          <state>0x00800000</state>\n        </option>\n        <option>\n          <name>CCMacraigorHWResetDelay</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCJTagBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>CCMacraigorInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMacraigorInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>PEMICRO_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCPEMicroAttachSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCPEMicroInterfaceList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPEMicroResetDelay</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCPEMicroJtagSpeed</name>\n          <state>#UNINITIALIZED#</state>\n        </option>\n        <option>\n          <name>CCJPEMicroShowSettings</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCPEMicroUSBDevice</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPEMicroSerialPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJPEMicroTCPIPAutoScanNetwork</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCPEMicroTCPIP</name>\n          <state>10.0.0.1</state>\n        </option>\n        <option>\n          <name>CCPEMicroCommCmdLineProducer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>RDI_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CRDIDriverDll</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>CRDILogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRDILogFileEdit</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCRDIHWReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchUndef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchPrefetch</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>STLINK_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCSTLinkInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkResetList</name>\n          <version>1</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCpuClockEdit</name>\n          <state>72.0</state>\n        </option>\n        <option>\n          <name>CCSwoClockAuto</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSwoClockEdit</name>\n          <state>2000</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>THIRDPARTY_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CThirdPartyDriverDll</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>CThirdPartyLogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CThirdPartyLogFileEditB</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>XDS100_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCXDS100AttachSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TIPackageOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>TIPackage</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCXds100InterfaceList</name>\n          <version>3</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>BoardFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n      </data>\n    </settings>\n    <debuggerPlugins>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\middleware\\HCCWare\\HCCWare.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\AVIX\\AVIX.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\MQX\\MQXRtosPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\Quadros\\Quadros_EWB7_Plugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\SymList\\SymList.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n    </debuggerPlugins>\n  </configuration>\n  <configuration>\n    <name>Release</name>\n    <toolchain>\n      <name>ARM</name>\n    </toolchain>\n    <debug>0</debug>\n    <settings>\n      <name>C-SPY</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>26</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CEndian</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCVariant</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>MemOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MemFile</name>\n          <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\NXP\\LPC1768.ddf</state>\n        </option>\n        <option>\n          <name>RunToEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RunToName</name>\n          <state>main</state>\n        </option>\n        <option>\n          <name>CExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CFpuProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCDDFArgumentProducer</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCDownloadSuppressDownload</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDownloadVerifyAll</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProductVersion</name>\n          <state>7.40.2.8567</state>\n        </option>\n        <option>\n          <name>OCDynDriverList</name>\n          <state>ARMSIM_ID</state>\n        </option>\n        <option>\n          <name>OCLastSavedByProductVersion</name>\n          <state>7.40.2.8567</state>\n        </option>\n        <option>\n          <name>OCDownloadAttachToProgram</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>UseFlashLoader</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CLowLevel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCBE8Slave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacFile2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CDevice</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>FlashLoadersV3</name>\n          <state>$TOOLKIT_DIR$\\config\\flashloader\\NXP\\FlashNXPLPC512K_Cortex.board</state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OverrideDefFlashBoard</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesOffset1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesUse1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDeviceConfigMacroFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCDebuggerExtraOption</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCAllMTBOptions</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCMulticoreNrOfCores</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCMulticoreMaster</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCMulticorePort</name>\n          <state>53461</state>\n        </option>\n        <option>\n          <name>OCMulticoreWorkspace</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCMulticoreSlaveProject</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCMulticoreSlaveConfiguration</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ARMSIM_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCSimDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCSimEnablePSP</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCSimPspOverrideConfig</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCSimPspConfigFile</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ANGEL_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CCAngelHeartbeat</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CAngelCommunication</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CAngelCommBaud</name>\n          <version>0</version>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CAngelCommPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ANGELTCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>DoAngelLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AngelLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CMSISDAP_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CMSISDAPAttachSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCIarProbeScriptFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CMSISDAPResetList</name>\n          <version>1</version>\n          <state>10</state>\n        </option>\n        <option>\n          <name>CMSISDAPHWResetDuration</name>\n          <state>300</state>\n        </option>\n        <option>\n          <name>CMSISDAPHWResetDelay</name>\n          <state>200</state>\n        </option>\n        <option>\n          <name>CMSISDAPDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CMSISDAPInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiTargetEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPJtagSpeedList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPRestoreBreakpointsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPUpdateBreakpointsEdit</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>RDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchUndef</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchData</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchPrefetch</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchMMERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchNOCPERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchCHKERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchSTATERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchBUSERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchINTERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchHARDERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiCPUEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiCPUNumber</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeCfgOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeConfig</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CMSISDAPProbeConfigRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPSelectedCPUBehaviour</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ICpuName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCJetEmuParams</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>GDBSERVER_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCJTagBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>IARROM_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CRomLogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRomLogFileEditB</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CRomCommPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRomCommBaud</name>\n          <version>0</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>IJET_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>6</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetAttachSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCIarProbeScriptFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetResetList</name>\n          <version>1</version>\n          <state>10</state>\n        </option>\n        <option>\n          <name>IjetHWResetDuration</name>\n          <state>300</state>\n        </option>\n        <option>\n          <name>IjetHWResetDelay</name>\n          <state>200</state>\n        </option>\n        <option>\n          <name>IjetPowerFromProbe</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetPowerRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>IjetInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiTargetEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetScanChainNonARMDevices</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetIRLength</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetJtagSpeedList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetProtocolRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetSwoPin</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetCpuClockEdit</name>\n          <state>72.0</state>\n        </option>\n        <option>\n          <name>IjetSwoPrescalerList</name>\n          <version>1</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetRestoreBreakpointsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetUpdateBreakpointsEdit</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>RDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchUndef</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchData</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchPrefetch</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchMMERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchNOCPERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchCHKERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchSTATERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchBUSERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchINTERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchHARDERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeCfgOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeConfig</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IjetProbeConfigRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiCPUEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiCPUNumber</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetSelectedCPUBehaviour</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ICpuName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCJetEmuParams</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetPreferETB</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetTraceSettingsList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetTraceSizeList</name>\n          <version>0</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>FlashBoardPathSlave</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JLINK_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>15</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>JLinkSpeed</name>\n          <state>1000</state>\n        </option>\n        <option>\n          <name>CCJLinkDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCJLinkHWResetDelay</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>JLinkInitialSpeed</name>\n          <state>1000</state>\n        </option>\n        <option>\n          <name>CCDoJlinkMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCScanChainNonARMDevices</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkIRLength</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkCommRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkTCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>CCJLinkSpeedRadioV2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCUSBDevice</name>\n          <version>1</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchUndef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchPrefetch</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>CCJLinkInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkAttachSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCJLinkResetList</name>\n          <version>6</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>CCJLinkInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchMMERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchNOCPERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchCHRERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchSTATERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchBUSERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchINTERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchHARDERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkScriptFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCJLinkUsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCTcpIpAlt</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkTcpIpSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCCpuClockEdit</name>\n          <state>72.0</state>\n        </option>\n        <option>\n          <name>CCSwoClockAuto</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSwoClockEdit</name>\n          <state>2000</state>\n        </option>\n        <option>\n          <name>OCJLinkTraceSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkTraceSourceDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkDeviceName</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>LMIFTDI_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>LmiftdiSpeed</name>\n          <state>500</state>\n        </option>\n        <option>\n          <name>CCLmiftdiDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLmiftdiLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCLmiFtdiInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLmiFtdiInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>MACRAIGOR_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>3</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>jtag</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EmuSpeed</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>DoEmuMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EmuMultiTarget</name>\n          <state>0@ARM7TDMI</state>\n        </option>\n        <option>\n          <name>EmuHWReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CEmuCommBaud</name>\n          <version>0</version>\n          <state>4</state>\n        </option>\n        <option>\n          <name>CEmuCommPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>jtago</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UnusedAddr</name>\n          <state>0x00800000</state>\n        </option>\n        <option>\n          <name>CCMacraigorHWResetDelay</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCJTagBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>CCMacraigorInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMacraigorInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>PEMICRO_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCPEMicroAttachSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCPEMicroInterfaceList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPEMicroResetDelay</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCPEMicroJtagSpeed</name>\n          <state>#UNINITIALIZED#</state>\n        </option>\n        <option>\n          <name>CCJPEMicroShowSettings</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCPEMicroUSBDevice</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPEMicroSerialPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJPEMicroTCPIPAutoScanNetwork</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCPEMicroTCPIP</name>\n          <state>10.0.0.1</state>\n        </option>\n        <option>\n          <name>CCPEMicroCommCmdLineProducer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>RDI_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CRDIDriverDll</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>CRDILogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRDILogFileEdit</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCRDIHWReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchUndef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchPrefetch</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>STLINK_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCSTLinkInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkResetList</name>\n          <version>1</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCpuClockEdit</name>\n          <state>72.0</state>\n        </option>\n        <option>\n          <name>CCSwoClockAuto</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSwoClockEdit</name>\n          <state>2000</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>THIRDPARTY_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CThirdPartyDriverDll</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>CThirdPartyLogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CThirdPartyLogFileEditB</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>XDS100_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCXDS100AttachSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TIPackageOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>TIPackage</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCXds100InterfaceList</name>\n          <version>3</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>BoardFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n      </data>\n    </settings>\n    <debuggerPlugins>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\middleware\\HCCWare\\HCCWare.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\AVIX\\AVIX.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\MQX\\MQXRtosPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\Quadros\\Quadros_EWB7_Plugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\SymList\\SymList.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n    </debuggerPlugins>\n  </configuration>\n</project>\n\n\n"
  },
  {
    "path": "examples/arm-cm/dpp_mbed-lpc1768/qk/iar/dpp-qk.ewp",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<project>\n  <fileVersion>2</fileVersion>\n  <configuration>\n    <name>Debug</name>\n    <toolchain>\n      <name>ARM</name>\n    </toolchain>\n    <debug>1</debug>\n    <settings>\n      <name>General</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>22</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>ExePath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>ObjPath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>ListPath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>Variant</name>\n          <version>21</version>\n          <state>38</state>\n        </option>\n        <option>\n          <name>GEndianMode</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Input variant</name>\n          <version>3</version>\n          <state>6</state>\n        </option>\n        <option>\n          <name>Input description</name>\n          <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n        </option>\n        <option>\n          <name>Output variant</name>\n          <version>2</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>Output description</name>\n          <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n        </option>\n        <option>\n          <name>GOutputBinary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FPU</name>\n          <version>5</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGCoreOrChip</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelect</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelectSlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RTDescription</name>\n          <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n        </option>\n        <option>\n          <name>OGProductVersion</name>\n          <state>5.11.0.50579</state>\n        </option>\n        <option>\n          <name>OGLastSavedByProductVersion</name>\n          <state>7.40.2.8567</state>\n        </option>\n        <option>\n          <name>GeneralEnableMisra</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVerbose</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGChipSelectEditMenu</name>\n          <state>LPC1768\tNXP LPC1768</state>\n        </option>\n        <option>\n          <name>GenLowLevelInterface</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEndianModeBE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OGBufferedTerminalOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GenStdoutInterface</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>GeneralMisraVer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>RTConfigPath2</name>\n          <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n        </option>\n        <option>\n          <name>GFPUCoreSlave</name>\n          <version>21</version>\n          <state>38</state>\n        </option>\n        <option>\n          <name>GBECoreSlave</name>\n          <version>21</version>\n          <state>38</state>\n        </option>\n        <option>\n          <name>OGUseCmsis</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGUseCmsisDspLib</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibThreads</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICCARM</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>31</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CCOptimizationNoSizeConstraints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCPreprocFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocComments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMnemonics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMessages</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagSuppress</name>\n          <state>Pa050</state>\n        </option>\n        <option>\n          <name>CCDiagRemark</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagWarning</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagError</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCAllowList</name>\n          <version>1</version>\n          <state>00000000</state>\n        </option>\n        <option>\n          <name>CCDebugInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IEndianMode</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCLangConformance</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSignedPlainChar</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRequirePrototypes</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagWarnAreErr</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCompilerRuntimeInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IFpuProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.o</state>\n        </option>\n        <option>\n          <name>CCLibConfigHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>PreInclude</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CompilerMisraOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCIncludePath2</name>\n          <state>$PROJ_DIR$\\..\\..</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\iar</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\mbed-lpc1768</state>\n        </option>\n        <option>\n          <name>CCStdIncCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCodeSection</name>\n          <state>.text</state>\n        </option>\n        <option>\n          <name>IInterwork2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IProcessorMode2</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptStrategy</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevelSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>CCPosIndRopi</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPosIndRwpi</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPosIndNoDynInit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccLang</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>IccCDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccAllowVLA</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCppDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccExceptions</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccRTTI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccStaticDestr</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccCppInlineSemantics</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccCmsis</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccFloatSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCNoLiteralPool</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOptStrategySlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCGuardCalls</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>AARM</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>9</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>AObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AEndian</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ACaseSensitivity</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacroChars</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnWhat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnOne</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ADebug</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AltRegisterNames</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state>ewarm</state>\n        </option>\n        <option>\n          <name>AList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AListHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AListing</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Includes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacExps</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacExec</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OnlyAssed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MultiLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>TabSpacing</name>\n          <state>8</state>\n        </option>\n        <option>\n          <name>AXRef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDefines</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefInternal</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDual</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AFpuProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AOutputFile</name>\n          <state>$FILE_BNAME$.o</state>\n        </option>\n        <option>\n          <name>AMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ALimitErrorsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ALimitErrorsEdit</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>AIgnoreStdInclude</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AUserIncludes</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AExtraOptionsCheckV2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptionsV2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AsmNoLiteralPool</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>OBJCOPY</name>\n      <archiveVersion>0</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OOCOutputFormat</name>\n          <version>3</version>\n          <state>3</state>\n        </option>\n        <option>\n          <name>OCOutputOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OOCOutputFile</name>\n          <state>dpp-qk.bin</state>\n        </option>\n        <option>\n          <name>OOCCommandLineProducer</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OOCObjCopyEnable</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CUSTOM</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <extensions></extensions>\n        <cmdline></cmdline>\n        <hasPrio>0</hasPrio>\n      </data>\n    </settings>\n    <settings>\n      <name>BICOMP</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>BUILDACTION</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <prebuild></prebuild>\n        <postbuild></postbuild>\n      </data>\n    </settings>\n    <settings>\n      <name>ILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data>\n        <version>16</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>IlinkLibIOConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XLinkMisraHandler</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkInputFileSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkOutputFile</name>\n          <state>dpp-qk.out</state>\n        </option>\n        <option>\n          <name>IlinkDebugInfoEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkKeepSymbols</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinaryFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinarySymbol</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinarySegment</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinaryAlign</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkConfigDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkMapFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkLogFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogInitialization</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogModule</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogSection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogVeneer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkIcfOverride</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkIcfFile</name>\n          <state>$PROJ_DIR$\\dpp-qk.icf</state>\n        </option>\n        <option>\n          <name>IlinkIcfFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkSuppressDiags</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkTreatAsRem</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkTreatAsWarn</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkTreatAsErr</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkWarningsAreErrors</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkUseExtraOptions</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkLowLevelInterfaceSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkAutoLibEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkAdditionalLibs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkOverrideProgramEntryLabel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkProgramEntryLabelSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkProgramEntryLabel</name>\n          <state>__iar_program_start</state>\n        </option>\n        <option>\n          <name>DoFill</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FillerByte</name>\n          <state>0xFF</state>\n        </option>\n        <option>\n          <name>FillerStart</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>FillerEnd</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>CrcSize</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcAlign</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcPoly</name>\n          <state>0x11021</state>\n        </option>\n        <option>\n          <name>CrcCompl</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcBitOrder</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcInitialValue</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>DoCrc</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkBE8Slave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkBufferedTerminalOutput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkStdoutInterfaceSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcFullSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkIElfToolPostProcess</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogAutoLibSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogRedirSymbols</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogUnusedFragments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkCrcReverseByteOrder</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkCrcUseAsInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptInline</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkOptExceptionsAllow</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptExceptionsForce</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkCmsis</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptMergeDuplSections</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkOptUseVfe</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptForceVfe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkStackAnalysisEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkStackControlFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkStackCallGraphFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CrcAlgorithm</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcUnitSize</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkThreadsSlave</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>IARCHIVE</name>\n      <archiveVersion>0</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>IarchiveInputs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IarchiveOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IarchiveOutput</name>\n          <state>###Unitialized###</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>BILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>Coder</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n  </configuration>\n  <configuration>\n    <name>Release</name>\n    <toolchain>\n      <name>ARM</name>\n    </toolchain>\n    <debug>0</debug>\n    <settings>\n      <name>General</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>22</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>ExePath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>ObjPath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>ListPath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>Variant</name>\n          <version>21</version>\n          <state>38</state>\n        </option>\n        <option>\n          <name>GEndianMode</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Input variant</name>\n          <version>3</version>\n          <state>6</state>\n        </option>\n        <option>\n          <name>Input description</name>\n          <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n        </option>\n        <option>\n          <name>Output variant</name>\n          <version>2</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>Output description</name>\n          <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n        </option>\n        <option>\n          <name>GOutputBinary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FPU</name>\n          <version>5</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGCoreOrChip</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelect</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelectSlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RTDescription</name>\n          <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n        </option>\n        <option>\n          <name>OGProductVersion</name>\n          <state>5.11.0.50579</state>\n        </option>\n        <option>\n          <name>OGLastSavedByProductVersion</name>\n          <state>7.40.2.8567</state>\n        </option>\n        <option>\n          <name>GeneralEnableMisra</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVerbose</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGChipSelectEditMenu</name>\n          <state>LPC1768\tNXP LPC1768</state>\n        </option>\n        <option>\n          <name>GenLowLevelInterface</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEndianModeBE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OGBufferedTerminalOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GenStdoutInterface</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>GeneralMisraVer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>RTConfigPath2</name>\n          <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n        </option>\n        <option>\n          <name>GFPUCoreSlave</name>\n          <version>21</version>\n          <state>38</state>\n        </option>\n        <option>\n          <name>GBECoreSlave</name>\n          <version>21</version>\n          <state>38</state>\n        </option>\n        <option>\n          <name>OGUseCmsis</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGUseCmsisDspLib</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibThreads</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICCARM</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>31</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CCOptimizationNoSizeConstraints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDefines</name>\n          <state>NDEBUG</state>\n        </option>\n        <option>\n          <name>CCPreprocFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocComments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMnemonics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMessages</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagSuppress</name>\n          <state>Pa050</state>\n        </option>\n        <option>\n          <name>CCDiagRemark</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagWarning</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagError</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCAllowList</name>\n          <version>1</version>\n          <state>11111110</state>\n        </option>\n        <option>\n          <name>CCDebugInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IEndianMode</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCLangConformance</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSignedPlainChar</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRequirePrototypes</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagWarnAreErr</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCompilerRuntimeInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IFpuProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.o</state>\n        </option>\n        <option>\n          <name>CCLibConfigHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>PreInclude</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CompilerMisraOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCIncludePath2</name>\n          <state>$PROJ_DIR$\\..\\..</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\iar</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\mbed-lpc1768</state>\n        </option>\n        <option>\n          <name>CCStdIncCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCodeSection</name>\n          <state>.text</state>\n        </option>\n        <option>\n          <name>IInterwork2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IProcessorMode2</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevel</name>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CCOptStrategy</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevelSlave</name>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>CCPosIndRopi</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPosIndRwpi</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPosIndNoDynInit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccLang</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>IccCDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccAllowVLA</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCppDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccExceptions</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccRTTI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccStaticDestr</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccCppInlineSemantics</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccCmsis</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccFloatSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCNoLiteralPool</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOptStrategySlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCGuardCalls</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>AARM</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>9</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>AObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AEndian</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ACaseSensitivity</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacroChars</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnWhat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnOne</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ADebug</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AltRegisterNames</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state>ewarm</state>\n        </option>\n        <option>\n          <name>AList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AListHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AListing</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Includes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacExps</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacExec</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OnlyAssed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MultiLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>TabSpacing</name>\n          <state>8</state>\n        </option>\n        <option>\n          <name>AXRef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDefines</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefInternal</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDual</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AFpuProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AOutputFile</name>\n          <state>$FILE_BNAME$.o</state>\n        </option>\n        <option>\n          <name>AMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ALimitErrorsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ALimitErrorsEdit</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>AIgnoreStdInclude</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AUserIncludes</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AExtraOptionsCheckV2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptionsV2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AsmNoLiteralPool</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>OBJCOPY</name>\n      <archiveVersion>0</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OOCOutputFormat</name>\n          <version>3</version>\n          <state>3</state>\n        </option>\n        <option>\n          <name>OCOutputOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OOCOutputFile</name>\n          <state>dpp-qk.bin</state>\n        </option>\n        <option>\n          <name>OOCCommandLineProducer</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OOCObjCopyEnable</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CUSTOM</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <extensions></extensions>\n        <cmdline></cmdline>\n        <hasPrio>0</hasPrio>\n      </data>\n    </settings>\n    <settings>\n      <name>BICOMP</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>BUILDACTION</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <prebuild></prebuild>\n        <postbuild></postbuild>\n      </data>\n    </settings>\n    <settings>\n      <name>ILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data>\n        <version>16</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>IlinkLibIOConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XLinkMisraHandler</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkInputFileSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkOutputFile</name>\n          <state>dpp-qk.out</state>\n        </option>\n        <option>\n          <name>IlinkDebugInfoEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkKeepSymbols</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinaryFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinarySymbol</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinarySegment</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinaryAlign</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkConfigDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkMapFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkLogFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogInitialization</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogModule</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogSection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogVeneer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkIcfOverride</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkIcfFile</name>\n          <state>$PROJ_DIR$\\dpp-qk.icf</state>\n        </option>\n        <option>\n          <name>IlinkIcfFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkSuppressDiags</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkTreatAsRem</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkTreatAsWarn</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkTreatAsErr</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkWarningsAreErrors</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkUseExtraOptions</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkLowLevelInterfaceSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkAutoLibEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkAdditionalLibs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkOverrideProgramEntryLabel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkProgramEntryLabelSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkProgramEntryLabel</name>\n          <state>__iar_program_start</state>\n        </option>\n        <option>\n          <name>DoFill</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FillerByte</name>\n          <state>0xFF</state>\n        </option>\n        <option>\n          <name>FillerStart</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>FillerEnd</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>CrcSize</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcAlign</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcPoly</name>\n          <state>0x11021</state>\n        </option>\n        <option>\n          <name>CrcCompl</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcBitOrder</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcInitialValue</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>DoCrc</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkBE8Slave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkBufferedTerminalOutput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkStdoutInterfaceSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcFullSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkIElfToolPostProcess</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogAutoLibSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogRedirSymbols</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogUnusedFragments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkCrcReverseByteOrder</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkCrcUseAsInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptInline</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptExceptionsAllow</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptExceptionsForce</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkCmsis</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptMergeDuplSections</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkOptUseVfe</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptForceVfe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkStackAnalysisEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkStackControlFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkStackCallGraphFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CrcAlgorithm</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcUnitSize</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkThreadsSlave</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>IARCHIVE</name>\n      <archiveVersion>0</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>IarchiveInputs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IarchiveOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IarchiveOutput</name>\n          <state>###Unitialized###</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>BILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>Coder</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n  </configuration>\n  <group>\n    <name>Application</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\bsp.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\bsp.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\dpp.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\main.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\philo.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\table.c</name>\n    </file>\n  </group>\n  <group>\n    <name>mbed-lpc1768</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\mbed-lpc1768\\LPC17xx.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\mbed-lpc1768\\iar\\startup_LPC17xx.s</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\mbed-lpc1768\\system_LPC17xx.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\mbed-lpc1768\\system_LPC17xx.h</name>\n    </file>\n  </group>\n  <group>\n    <name>QP</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qepn.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qfn.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qkn\\qkn.c</name>\n    </file>\n  </group>\n  <group>\n    <name>QP-port</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\iar\\qfn_port.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\iar\\qkn_port.c</name>\n    </file>\n  </group>\n</project>\n\n\n"
  },
  {
    "path": "examples/arm-cm/dpp_mbed-lpc1768/qk/iar/dpp-qk.eww",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<workspace>\n  <project>\n    <path>$WS_DIR$\\dpp-qk.ewp</path>\n  </project>\n  <batchBuild/>\n</workspace>\n\n\n"
  },
  {
    "path": "examples/arm-cm/dpp_mbed-lpc1768/qk/iar/dpp-qk.icf",
    "content": "/*###ICF### Section handled by ICF editor, don't touch! ****/\n/*-Editor annotation file-*/\n/* IcfEditorFile=\"$TOOLKIT_DIR$\\config\\ide\\IcfEditor\\cortex_v1_0.xml\" */\n/*-Specials-*/\ndefine symbol __ICFEDIT_intvec_start__ = 0x00000000;\n/*-Memory Regions-*/\ndefine symbol __ICFEDIT_region_ROM_start__ = 0x00000000;\ndefine symbol __ICFEDIT_region_ROM_end__   = 0x0007FFFF;\ndefine symbol __ICFEDIT_region_RAM_start__ = 0x10000000;\ndefine symbol __ICFEDIT_region_RAM_end__   = 0x10007FDF;\n/*-Sizes-*/\ndefine symbol __ICFEDIT_size_cstack__ = 1024;\ndefine symbol __ICFEDIT_size_heap__   = 0;\n/**** End of ICF editor section. ###ICF###*/\n\ndefine symbol __CRP_start__   = 0x000002FC;\ndefine symbol __CRP_end__     = 0x000002FF;\n\ndefine symbol __RAM1_start__  = 0x2007C000;\ndefine symbol __RAM1_end__    = 0x20083FFF;\n\ndefine memory mem with size = 4G;\ndefine region ROM_region   = mem:[from __ICFEDIT_region_ROM_start__   to __ICFEDIT_region_ROM_end__] -  mem:[from  __CRP_start__ to __CRP_end__];\ndefine region RAM_region   = mem:[from __ICFEDIT_region_RAM_start__   to __ICFEDIT_region_RAM_end__];\ndefine region CRP_region   = mem:[from __CRP_start__ to __CRP_end__];\ndefine region RAM1_region  = mem:[from __RAM1_start__ to __RAM1_end__];\n\ndefine block CSTACK    with alignment = 8, size = __ICFEDIT_size_cstack__   { };\ndefine block HEAP      with alignment = 8, size = __ICFEDIT_size_heap__     { };\n\ninitialize by copy { readwrite };\ndo not initialize  { section .noinit };\n\nplace at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };\nplace in ROM_region   { readonly };\nplace in RAM_region   { readwrite,\n                        block CSTACK, block HEAP };\nplace in CRP_region  \t{ section .crp };\nplace in RAM1_region\t{ section .sram };"
  },
  {
    "path": "examples/arm-cm/dpp_mbed-lpc1768/qpn_conf.h",
    "content": "/*****************************************************************************\n* Product: QP-nano configuration for the Blinky example\n* Last Updated for Version: 5.6.2\n* Date of the Last Update:  2016-04-05\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef QPN_CONF_H\n#define QPN_CONF_H\n\n#define Q_PARAM_SIZE            4U\n#define QF_MAX_TICK_RATE        1U\n#define QF_TIMEEVT_CTR_SIZE     2U\n#define QF_TIMEEVT_PERIODIC\n\n#endif  /* QPN_CONF_H */\n"
  },
  {
    "path": "examples/arm-cm/dpp_mbed-lpc1768/qv/armclang/dpp-qv.uvoptx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<ProjectOpt xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_optx.xsd\">\n\n  <SchemaVersion>1.0</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Extensions>\n    <cExt>*.c</cExt>\n    <aExt>*.s*; *.src; *.a*</aExt>\n    <oExt>*.obj; *.o</oExt>\n    <lExt>*.lib</lExt>\n    <tExt>*.txt; *.h; *.inc</tExt>\n    <pExt>*.plm</pExt>\n    <CppX>*.cpp</CppX>\n    <nMigrate>0</nMigrate>\n  </Extensions>\n\n  <DaveTm>\n    <dwLowDateTime>0</dwLowDateTime>\n    <dwHighDateTime>0</dwHighDateTime>\n  </DaveTm>\n\n  <Target>\n    <TargetName>dpp-dbg</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\dbg\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>1</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>8</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>0</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>0</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>BIN\\UL2CM3.DLL</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGUARM</Key>\n          <Name>ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÈ`Â\n—.Çv´ð4</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>UL2CM3(-O207 -S0 -C0 -FO7  -FN1 -FCFE0 -FD10000000 -FF0LPC_IAP_512 -FL080000 -FS00 -FP0($$Device:LPC1768$Flash\\LPC_IAP_512.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E10259B -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <WatchWindow1>\n        <Ww>\n          <count>0</count>\n          <WinNumber>1</WinNumber>\n          <ItemText>me</ItemText>\n        </Ww>\n      </WatchWindow1>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Target>\n    <TargetName>dpp-rel</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\rel\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>0</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>8</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>0</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>0</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>BIN\\UL2CM3.DLL</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E10259B -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>-O207 -S0 -C0 -FO7  -FN1 -FCFE0 -FD10000000 -FF0LPC_IAP_512 -FL080000 -FS00 -FP0($$Device:LPC1768$Flash\\LPC_IAP_512.FLM)</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Group>\n    <GroupName>Source Code</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>1</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\bsp.c</PathWithFileName>\n      <FilenameWithoutPath>bsp.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>2</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\bsp.h</PathWithFileName>\n      <FilenameWithoutPath>bsp.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>3</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\dpp.h</PathWithFileName>\n      <FilenameWithoutPath>dpp.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>4</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\main.c</PathWithFileName>\n      <FilenameWithoutPath>main.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>5</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\philo.c</PathWithFileName>\n      <FilenameWithoutPath>philo.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>6</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\table.c</PathWithFileName>\n      <FilenameWithoutPath>table.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>mbed-lpc1768</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>7</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\mbed-lpc1768\\system_LPC17xx.c</PathWithFileName>\n      <FilenameWithoutPath>system_LPC17xx.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>8</FileNumber>\n      <FileType>2</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\.arm\\startup-lpc1768\\armclang\\startup_LPC17xx.s</PathWithFileName>\n      <FilenameWithoutPath>startup_LPC17xx.s</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>9</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</PathWithFileName>\n      <FilenameWithoutPath>qepn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>10</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</PathWithFileName>\n      <FilenameWithoutPath>qfn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>11</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qvn\\qvn.c</PathWithFileName>\n      <FilenameWithoutPath>qvn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP-port</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>12</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qfn_port.h</PathWithFileName>\n      <FilenameWithoutPath>qfn_port.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>13</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qvn_port.c</PathWithFileName>\n      <FilenameWithoutPath>qvn_port.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n</ProjectOpt>\n"
  },
  {
    "path": "examples/arm-cm/dpp_mbed-lpc1768/qv/armclang/dpp-qv.uvprojx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<Project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_projx.xsd\">\n\n  <SchemaVersion>2.1</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Targets>\n    <Target>\n      <TargetName>dpp-dbg</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6130001::V6.13.1::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>LPC1768</Device>\n          <Vendor>NXP</Vendor>\n          <PackID>Keil.LPC1700_DFP.2.2.0</PackID>\n          <PackURL>http://www.keil.com/pack/</PackURL>\n          <Cpu>IROM(0x00000000,0x80000) IRAM(0x10000000,0x8000) IRAM2(0x2007C000,0x8000) CPUTYPE(\"Cortex-M3\") CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD10000000 -FCFE0 -FN1 -FF0LPC_IAP_512 -FS00 -FL080000 -FP0($$Device:LPC1768$Flash\\LPC_IAP_512.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:LPC1768$Device\\Include\\LPC17xx.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:LPC1768$SVD\\LPC176x5x.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\dbg\\</OutputDirectory>\n          <OutputName>dpp-qv</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>1</DebugInformation>\n          <BrowseInformation>1</BrowseInformation>\n          <ListingPath>.\\dbg\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\dbg\\dpp-qv.bin .\\dbg\\dpp-qv.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>0</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM3</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM3</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4096</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3></Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M3\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>0</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>1</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x10000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x80000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x80000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x10000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x2007c000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>0</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>1</vShortEn>\n            <vShortWch>1</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>rvmdk __FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\mbed-lpc1768</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile></ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Source Code</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>bsp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\bsp.h</FilePath>\n            </File>\n            <File>\n              <FileName>dpp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\dpp.h</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>philo.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\philo.c</FilePath>\n            </File>\n            <File>\n              <FileName>table.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\table.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>mbed-lpc1768</GroupName>\n          <Files>\n            <File>\n              <FileName>system_LPC17xx.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\mbed-lpc1768\\system_LPC17xx.c</FilePath>\n            </File>\n            <File>\n              <FileName>startup_LPC17xx.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\mbed-lpc1768\\arm\\startup_LPC17xx.s</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qvn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qvn\\qvn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP-port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qvn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qvn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n    <Target>\n      <TargetName>dpp-rel</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6130001::V6.13.1::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>LPC1768</Device>\n          <Vendor>NXP</Vendor>\n          <PackID>Keil.LPC1700_DFP.2.2.0</PackID>\n          <PackURL>http://www.keil.com/pack/</PackURL>\n          <Cpu>IROM(0x00000000,0x80000) IRAM(0x10000000,0x8000) IRAM2(0x2007C000,0x8000) CPUTYPE(\"Cortex-M3\") CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD10000000 -FCFE0 -FN1 -FF0LPC_IAP_512 -FS00 -FL080000 -FP0($$Device:LPC1768$Flash\\LPC_IAP_512.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:LPC1768$Device\\Include\\LPC17xx.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:LPC1768$SVD\\LPC176x5x.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\rel\\</OutputDirectory>\n          <OutputName>dpp-qv</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>0</DebugInformation>\n          <BrowseInformation>0</BrowseInformation>\n          <ListingPath>.\\rel\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\rel\\dpp-qv.bin .\\rel\\dpp-qv.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>0</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM3</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM3</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4097</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3></Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M3\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>0</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>1</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x10000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x80000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x80000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x10000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x2007c000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>0</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>1</vShortEn>\n            <vShortWch>1</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>NDEBUG __FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\mbed-lpc1768</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile>dpp-qv.sct</ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Source Code</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>bsp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\bsp.h</FilePath>\n            </File>\n            <File>\n              <FileName>dpp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\dpp.h</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>philo.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\philo.c</FilePath>\n            </File>\n            <File>\n              <FileName>table.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\table.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>mbed-lpc1768</GroupName>\n          <Files>\n            <File>\n              <FileName>system_LPC17xx.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\mbed-lpc1768\\system_LPC17xx.c</FilePath>\n            </File>\n            <File>\n              <FileName>startup_LPC17xx.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\mbed-lpc1768\\arm\\startup_LPC17xx.s</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qvn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qvn\\qvn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP-port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qvn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qvn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n  </Targets>\n\n  <RTE>\n    <apis/>\n    <components/>\n    <files/>\n  </RTE>\n\n</Project>\n"
  },
  {
    "path": "examples/arm-cm/dpp_mbed-lpc1768/qv/bsp.c",
    "content": "/*****************************************************************************\n* Product: DPP on EK-TM4C123GXL board, coopearative QV kernel\n* Last Updated for Version: 5.5.1\n* Date of the Last Update:  2015-10-05\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"dpp.h\"\n#include \"bsp.h\"\n\n#include \"LPC17xx.h\"  /* CMSIS-compliant header file for the MCU used */\n/* add other drivers if necessary... */\n\n//Q_DEFINE_THIS_FILE\n\n/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n* Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n* DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n*/\nenum KernelUnawareISRs { /* see NOTE00 */\n    /* ... */\n    MAX_KERNEL_UNAWARE_CMSIS_PRI  /* keep always last */\n};\n/* \"kernel-unaware\" interrupts can't overlap \"kernel-aware\" interrupts */\nQ_ASSERT_COMPILE(MAX_KERNEL_UNAWARE_CMSIS_PRI <= QF_AWARE_ISR_CMSIS_PRI);\n\nenum KernelAwareISRs {\n    EINT0_PRIO = QF_AWARE_ISR_CMSIS_PRI, /* see NOTE00 */\n    SYSTICK_PRIO,\n    /* ... */\n    MAX_KERNEL_AWARE_CMSIS_PRI /* keep always last */\n};\n/* \"kernel-aware\" interrupts should not overlap the PendSV priority */\nQ_ASSERT_COMPILE(MAX_KERNEL_AWARE_CMSIS_PRI <= (0xFF >>(8-__NVIC_PRIO_BITS)));\n\n/* ISRs defined in this BSP ------------------------------------------------*/\nvoid SysTick_Handler(void);\nvoid EINT0_IRQHandler(void);\n\n/* Local-scope objects -----------------------------------------------------*/\n/* LEDs available on the board */\n#define LED_1    (1U << 18)  /* P1.18 */\n#define LED_2    (1U << 20)  /* P1.20 */\n#define LED_3    (1U << 21)  /* P1.21 */\n#define LED_4    (1U << 23)  /* P1.23 */\n\n/* Push-Button wired externally to DIP8 (P0.6) */\n#define BTN_EXT  (1U << 6)    /* P0.6 */\n\n/* random seed */\nstatic uint32_t l_rnd;\n\n\n/* ISRs used in this project ===============================================*/\nvoid SysTick_Handler(void) {\n    /* state of the button debouncing, see below */\n    static struct ButtonsDebouncing {\n        uint32_t depressed;\n        uint32_t previous;\n    } buttons = { ~0U, ~0U };\n    uint32_t current;\n    uint32_t tmp;\n\n    QF_tickXISR(0U); /* process time events for rate 0 */\n\n\n    /* Perform the debouncing of buttons. The algorithm for debouncing\n    * adapted from the book \"Embedded Systems Dictionary\" by Jack Ganssle\n    * and Michael Barr, page 71.\n    */\n    current = ~LPC_GPIO0->FIOPIN; /* read P0 with the state of the Buttons */\n    tmp = buttons.depressed; /* save the debounced depressed buttons */\n    buttons.depressed |= (buttons.previous & current); /* set depressed */\n    buttons.depressed &= (buttons.previous | current); /* clear released */\n    buttons.previous   = current; /* update the history */\n    tmp ^= buttons.depressed;     /* changed debounced depressed */\n    if ((tmp & BTN_EXT) != 0U) {  /* debounced BTN_EXT state changed? */\n        if ((buttons.depressed & BTN_EXT) != 0U) { /* is BTN_EXT depressed? */\n            QACTIVE_POST_ISR(&AO_Table, PAUSE_SIG, 0U);\n        }\n        else {            /* the button is released */\n            QACTIVE_POST_ISR(&AO_Table, SERVE_SIG, 0U);\n        }\n    }\n}\n/*..........................................................................*/\nvoid EINT0_IRQHandler(void) {\n    QACTIVE_POST_ISR(&AO_Table, MAX_SIG, 0U); /* for testing */\n}\n\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    /* NOTE: SystemInit() already called from the startup code\n    *  but SystemCoreClock needs to be updated\n    */\n    SystemCoreClockUpdate();\n\n    /* turn the GPIO clock on */\n    LPC_SC->PCONP |= (1U << 15);\n\n    /* setup the GPIO pin functions for the LEDs... */\n    LPC_PINCON->PINSEL3 &= ~(3U <<  4); /* LED_1: function P1.18 to GPIO */\n    LPC_PINCON->PINSEL3 &= ~(3U <<  8); /* LED_2: function P1.20 to GPIO */\n    LPC_PINCON->PINSEL3 &= ~(3U << 10); /* LED_3: function P1.21 to GPIO */\n    LPC_PINCON->PINSEL3 &= ~(3U << 14); /* LED_4: function P1.23 to GPIO */\n\n    /* Set GPIO-P1 LED pins to output */\n    LPC_GPIO1->FIODIR |= (LED_1 | LED_2 | LED_3 | LED_4);\n\n\n    /* setup the GPIO pin function for the Button... */\n    LPC_PINCON->PINSEL0 &= ~(3U << 12); /* function P0.6 to GPIO, pull-up */\n\n    /* Set GPIO-P0 Button pin as input */\n    LPC_GPIO0->FIODIR &= ~BTN_EXT;\n\n    BSP_randomSeed(1234U);\n}\n/*..........................................................................*/\nvoid BSP_displayPhilStat(uint8_t n, char const *stat) {\n    if (stat[0] == 'h') {\n        LPC_GPIO1->FIOSET = LED_1;  /* turn LED on  */\n    }\n    else {\n        LPC_GPIO1->FIOCLR = LED_1;  /* turn LED off */\n    }\n    if (stat[0] == 'e') {\n        LPC_GPIO1->FIOSET = LED_2;  /* turn LED on  */\n    }\n    else {\n        LPC_GPIO1->FIOCLR = LED_2;  /* turn LED off */\n    }\n}\n/*..........................................................................*/\nvoid BSP_displayPaused(uint8_t paused) {\n    if (paused != (uint8_t)0) {\n        LPC_GPIO1->FIOSET = LED_3;  /* turn LED on  */\n    }\n    else {\n        LPC_GPIO1->FIOCLR = LED_3;  /* turn LED off */\n    }\n}\n/*..........................................................................*/\nuint32_t BSP_random(void) { /* a very cheap pseudo-random-number generator */\n    /* \"Super-Duper\" Linear Congruential Generator (LCG)\n    * LCG(2^32, 3*7*11*13*23, 0, seed)\n    */\n    l_rnd = l_rnd * (3U*7U*11U*13U*23U);\n\n    return l_rnd >> 8;\n}\n/*..........................................................................*/\nvoid BSP_randomSeed(uint32_t seed) {\n    l_rnd = seed;\n}\n/*..........................................................................*/\nvoid BSP_terminate(int16_t result) {\n    (void)result;\n}\n\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    /* set up the SysTick timer to fire at BSP_TICKS_PER_SEC rate */\n    SysTick_Config(SystemCoreClock / BSP_TICKS_PER_SEC);\n\n    /* assing all priority bits for preemption-prio. and none to sub-prio. */\n    NVIC_SetPriorityGrouping(0U);\n\n    /* set priorities of ALL ISRs used in the system, see NOTE00\n    *\n    * !!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n    * Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n    * DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n    */\n    NVIC_SetPriority(SysTick_IRQn,   SYSTICK_PRIO);\n    NVIC_SetPriority(EINT0_IRQn,     EINT0_PRIO);\n    /* ... */\n\n    /* enable IRQs in the NVIC... */\n    NVIC_EnableIRQ(EINT0_IRQn);\n}\n/*..........................................................................*/\nvoid QV_onIdle(void) { /* called with interrupts disabled, see NOTE01 */\n\n    /* toggle the User LED on and then off, see NOTE01 */\n    LPC_GPIO1->FIOSET = LED_4;  /* turn LED on  */\n    __NOP();   /* a couple of NOPs to actually see the LED glow */\n    __NOP();\n    __NOP();\n    __NOP();\n    LPC_GPIO1->FIOCLR = LED_4;  /* turn LED off */\n\n#ifdef NDEBUG\n    /* Put the CPU and peripherals to the low-power mode.\n    * you might need to customize the clock management for your application,\n    * see the datasheet for your particular Cortex-M MCU.\n    */\n    QV_CPU_SLEEP();  /* atomically go to sleep and enable interrupts */\n#else\n    QF_INT_ENABLE(); /* just enable interrupts */\n#endif\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const module, int loc) {\n    /*\n    * NOTE: add here your application-specific error handling\n    */\n    (void)module;\n    (void)loc;\n\n    NVIC_SystemReset();\n}\n\n/*****************************************************************************\n* NOTE00:\n* The QF_AWARE_ISR_CMSIS_PRI constant from the QF port specifies the highest\n* ISR priority that is disabled by the QF framework. The value is suitable\n* for the NVIC_SetPriority() CMSIS function.\n*\n* Only ISRs prioritized at or below the QF_AWARE_ISR_CMSIS_PRI level (i.e.,\n* with the numerical values of priorities equal or higher than\n* QF_AWARE_ISR_CMSIS_PRI) are allowed to call the QK_ISR_ENTRY/QK_ISR_ENTRY\n* macros or any other QF/QK  services. These ISRs are \"QF-aware\".\n*\n* Conversely, any ISRs prioritized above the QF_AWARE_ISR_CMSIS_PRI priority\n* level (i.e., with the numerical values of priorities less than\n* QF_AWARE_ISR_CMSIS_PRI) are never disabled and are not aware of the kernel.\n* Such \"QF-unaware\" ISRs cannot call any QF/QK services. In particular they\n* can NOT call the macros QK_ISR_ENTRY/QK_ISR_ENTRY. The only mechanism\n* by which a \"QF-unaware\" ISR can communicate with the QF framework is by\n* triggering a \"QF-aware\" ISR, which can post/publish events.\n*\n* NOTE01:\n* The QV_onIdle() callback is called with interrupts disabled, because the\n* determination of the idle condition might change by any interrupt posting\n* an event. QV_onIdle() must internally enable interrupts, ideally\n* atomically with putting the CPU to the power-saving mode.\n*\n* NOTE02:\n* The User LED is used to visualize the idle loop activity. The brightness\n* The User LED is used to visualize the idle loop activity. The brightness\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n"
  },
  {
    "path": "examples/arm-cm/dpp_mbed-lpc1768/qv/gnu/Makefile",
    "content": "##############################################################################\n# Product: Makefile for QP-nano on mbed-LPC1768, QV-nano kernel, GNU-ARM\n# Last Updated for Version: 6.5.0\n# Date of the Last Update:  2019-04-15\n#\n#                    Q u a n t u m  L e a P s\n#                    ------------------------\n#                    Modern Embedded Software\n#\n# Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# https://www.state-machine.com\n# mailto:info@state-machine.com\n##############################################################################\n# examples of invoking this Makefile:\n# building configurations: Debug (default), Release, and Spy\n# make\n# make CONF=rel\n#\n# cleaning configurations: Debug (default), Release, and Spy\n# make clean\n# make CONF=rel clean\n#\n# NOTE:\n# To use this Makefile on Windows, you will need the GNU make utility, which\n# is included in the Qtools collection for Windows, see:\n#    http://sourceforge.net/projects/qpc/files/Qtools/\n#\n\n#-----------------------------------------------------------------------------\n# project name\n#\nPROJECT     := dpp-qv\n\n#-----------------------------------------------------------------------------\n# project directories\n#\n\n# location of the QP-nano framework (if not provided in an environemnt var.)\nifeq ($(QPN),)\nQPN := ../../../../..\nendif\n\n# QP port used in this project\nQP_PORT_DIR := $(QPN)/ports/arm-cm/qv/gnu\n\n# list of all source directories used by this project\nVPATH = \\\n\t.. \\\n\t../.. \\\n\t$(QPN)/src/qfn \\\n\t$(QPN)/src/qvn \\\n\t$(QP_PORT_DIR) \\\n\t$(QPN)/3rd_party/mbed-lpc1768 \\\n\t$(QPN)/3rd_party/mbed-lpc1768/gnu\n\n# list of all include directories needed by this project\nINCLUDES  = \\\n\t-I../.. \\\n\t-I$(QPN)/include \\\n\t-I$(QP_PORT_DIR) \\\n\t-I$(QPN)/3rd_party/CMSIS/Include \\\n\t-I$(QPN)/3rd_party/mbed-lpc1768\n\n#-----------------------------------------------------------------------------\n# files\n#\n\n# assembler source files\nASM_SRCS :=\n\n# C source files\nC_SRCS := \\\n\tbsp.c \\\n\tmain.c \\\n\tphilo.c \\\n\ttable.c \\\n\tsystem_LPC17xx.c \\\n\tstartup_LPC17xx.c\n\n# C++ source files\nCPP_SRCS :=\n\nOUTPUT    := $(PROJECT)\nLD_SCRIPT := $(PROJECT).ld\n\nQP_SRCS := \\\n\tqepn.c \\\n\tqfn.c \\\n\tqvn.c \\\n\tqvn_port.c\n\nQP_ASMS :=\n\nLIB_DIRS  :=\nLIBS      :=\n\n# defines\nDEFINES   :=\n\n# ARM CPU, ARCH, FPU, and Float-ABI types...\n# ARM_CPU:   [cortex-m0 | cortex-m0plus | cortex-m1 | cortex-m3 | cortex-m4]\n# ARM_ARCH:  [6 | 7] (NOTE: must match ARM_CPU!)\n# ARM_FPU:   [ | vfp]\n# FLOAT_ABI: [ | soft | softfp | hard]\n#\nARM_CPU   := -mcpu=cortex-m3\nARM_ARCH  := 7   # NOTE: must match the ARM_CPU!\nARM_FPU   :=\nFLOAT_ABI :=\n\n#-----------------------------------------------------------------------------\n# GNU-ARM toolset (NOTE: You need to adjust to your machine)\n# see https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads\n#\nifeq ($(GNU_ARM),)\nGNU_ARM := $(QTOOLS)/gnu_arm-none-eabi\nendif\n\n# make sure that the GNU-ARM toolset exists...\nifeq (\"$(wildcard $(GNU_ARM))\",\"\")\n$(error GNU_ARM toolset not found. Please adjust the Makefile)\nendif\n\nCC    := $(GNU_ARM)/bin/arm-none-eabi-gcc\nCPP   := $(GNU_ARM)/bin/arm-none-eabi-g++\nAS    := $(GNU_ARM)/bin/arm-none-eabi-as\nLINK  := $(GNU_ARM)/bin/arm-none-eabi-g++\nBIN   := $(GNU_ARM)/bin/arm-none-eabi-objcopy\n\n\n##############################################################################\n# Typically, you should not need to change anything below this line\n\n# basic utilities (included in Qtools for Windows), see:\n#    http://sourceforge.net/projects/qpc/files/Qtools\n\nMKDIR := mkdir\nRM    := rm\n\n#-----------------------------------------------------------------------------\n# build options for various configurations for ARM Cortex-M\n#\n\n# combine all the soruces...\nC_SRCS += $(QP_SRCS)\nASM_SRCS += $(QP_ASMS)\n\nifeq (rel, $(CONF)) # Release configuration ..................................\n\nBIN_DIR := rel\n\nASFLAGS = $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O1 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nCPPFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O1 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nelse # default Debug configuration ..........................................\n\nBIN_DIR := dbg\n\nASFLAGS = -g $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O $(INCLUDES) $(DEFINES)\n\nCPPFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O $(INCLUDES) $(DEFINES)\n\nendif # ......................................................................\n\n\nLINKFLAGS = -T$(LD_SCRIPT) $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb \\\n\t-specs=nosys.specs -specs=nano.specs \\\n\t-Wl,-Map,$(BIN_DIR)/$(OUTPUT).map,--cref,--gc-sections $(LIB_DIRS)\n\n\nASM_OBJS     := $(patsubst %.s,%.o,  $(notdir $(ASM_SRCS)))\nC_OBJS       := $(patsubst %.c,%.o,  $(notdir $(C_SRCS)))\nCPP_OBJS     := $(patsubst %.cpp,%.o,$(notdir $(CPP_SRCS)))\n\nTARGET_BIN   := $(BIN_DIR)/$(OUTPUT).bin\nTARGET_ELF   := $(BIN_DIR)/$(OUTPUT).elf\nASM_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(ASM_OBJS))\nC_OBJS_EXT   := $(addprefix $(BIN_DIR)/, $(C_OBJS))\nC_DEPS_EXT   := $(patsubst %.o, %.d, $(C_OBJS_EXT))\nCPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))\nCPP_DEPS_EXT := $(patsubst %.o, %.d, $(CPP_OBJS_EXT))\n\n# create $(BIN_DIR) if it does not exist\nifeq (\"$(wildcard $(BIN_DIR))\",\"\")\n$(shell $(MKDIR) $(BIN_DIR))\nendif\n\n#-----------------------------------------------------------------------------\n# rules\n#\n\nall: $(TARGET_BIN)\n#all: $(TARGET_ELF)\n\n$(TARGET_BIN): $(TARGET_ELF)\n\t$(BIN) -O binary $< $@\n\n$(TARGET_ELF) : $(ASM_OBJS_EXT) $(C_OBJS_EXT) $(CPP_OBJS_EXT)\n\t$(CC) $(CFLAGS) $(QPN)/include/qstamp.c -o $(BIN_DIR)/qstamp.o\n\t$(LINK) $(LINKFLAGS) -o $@ $^ $(BIN_DIR)/qstamp.o $(LIBS)\n\n$(BIN_DIR)/%.d : %.c\n\t$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@\n\n$(BIN_DIR)/%.d : %.cpp\n\t$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@\n\n$(BIN_DIR)/%.o : %.s\n\t$(AS) $(ASFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.c\n\t$(CC) $(CFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.cpp\n\t$(CPP) $(CPPFLAGS) $< -o $@\n\n# include dependency files only if our goal depends on their existence\nifneq ($(MAKECMDGOALS),clean)\n  ifneq ($(MAKECMDGOALS),show)\n-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)\n  endif\nendif\n\n\n.PHONY : clean\nclean:\n\t-$(RM) $(BIN_DIR)/*.o \\\n\t$(BIN_DIR)/*.d \\\n\t$(BIN_DIR)/*.bin \\\n\t$(BIN_DIR)/*.elf \\\n\t$(BIN_DIR)/*.map\n\t\nshow:\n\t@echo PROJECT = $(PROJECT)\n\t@echo CONF = $(CONF)\n\t@echo DEFINES = $(DEFINES)\n\t@echo ASM_FPU = $(ASM_FPU)\n\t@echo ASM_SRCS = $(ASM_SRCS)\n\t@echo C_SRCS = $(C_SRCS)\n\t@echo CPP_SRCS = $(CPP_SRCS)\n\t@echo ASM_OBJS_EXT = $(ASM_OBJS_EXT)\n\t@echo C_OBJS_EXT = $(C_OBJS_EXT)\n\t@echo C_DEPS_EXT = $(C_DEPS_EXT)\n\t@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)\n\t@echo TARGET_ELF = $(TARGET_ELF)\n"
  },
  {
    "path": "examples/arm-cm/dpp_mbed-lpc1768/qv/gnu/dpp-qv.ld",
    "content": "/*****************************************************************************\n* Product: Linker script for for LPC1768, GNU-ARM linker\n* Last Updated for Version: 5.9.8\n* Date of the Last Update:  2017-09-13\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) 2002-2013 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <http://www.gnu.org/licenses/>.\n*\n* Contact information:\n* https://state-machine.com\n* mailto:info@state-machine.com\n*****************************************************************************/\nOUTPUT_FORMAT(\"elf32-littlearm\", \"elf32-bigarm\", \"elf32-littlearm\")\nOUTPUT_ARCH(arm)\nENTRY(Reset_Handler)                                         /* entry Point */\n\nMEMORY {                                      /* memory map of mbed-LPC1768 */\n    ROM (rx)  : ORIGIN = 0x00000000, LENGTH = 512K\n    RAM (rwx) : ORIGIN = 0x10000000, LENGTH = 0x7FDF\n\n    USB_RAM(rwx) : ORIGIN = 0x2007C000, LENGTH = 16K\n    ETH_RAM(rwx) : ORIGIN = 0x20080000, LENGTH = 16K\n}\n\n/* The size of the stack used by the application. NOTE: you need to adjust  */\nSTACK_SIZE = 1024;\n\n/* The size of the heap used by the application. NOTE: you need to adjust   */\nHEAP_SIZE = 0;\n\nSECTIONS {\n\n    .isr_vector : {        /* the vector table goes FIRST into ROM */\n        KEEP(*(.isr_vector)) /* vector table */\n        . = ALIGN(4);\n    } >ROM\n\n    .text : {              /* code and constants */\n        . = ALIGN(4);\n        *(.text)           /* .text sections (code) */\n        *(.text*)          /* .text* sections (code) */\n        *(.rodata)         /* .rodata sections (constants, strings, etc.) */\n        *(.rodata*)        /* .rodata* sections (constants, strings, etc.) */\n\n        KEEP (*(.init))\n        KEEP (*(.fini))\n\n        . = ALIGN(4);\n    } >ROM\n\n    .preinit_array : {\n        PROVIDE_HIDDEN (__preinit_array_start = .);\n        KEEP (*(.preinit_array*))\n        PROVIDE_HIDDEN (__preinit_array_end = .);\n    } >ROM\n\n    .init_array : {\n        PROVIDE_HIDDEN (__init_array_start = .);\n        KEEP (*(SORT(.init_array.*)))\n        KEEP (*(.init_array*))\n        PROVIDE_HIDDEN (__init_array_end = .);\n    } >ROM\n\n    .fini_array : {\n        PROVIDE_HIDDEN (__fini_array_start = .);\n        KEEP (*(.fini_array*))\n        KEEP (*(SORT(.fini_array.*)))\n        PROVIDE_HIDDEN (__fini_array_end = .);\n    } >ROM\n\n    _etext = .;            /* global symbols at end of code */\n\n    .stack : {\n        __stack_start__ = .;\n        . = . + STACK_SIZE;\n        . = ALIGN(4);\n        __stack_end__ = .;\n    } >RAM\n\n    .data :  AT (_etext) {\n        __data_load = LOADADDR (.data);\n        __data_start = .;\n        *(.data)           /* .data sections */\n        *(.data*)          /* .data* sections */\n        . = ALIGN(4);\n        __data_end__ = .;\n        _edata = __data_end__;\n    } >RAM\n\n    .bss : {\n        __bss_start__ = .;\n        *(.bss)\n        *(.bss*)\n        *(COMMON)\n        . = ALIGN(4);\n        _ebss = .;         /* define a global symbol at bss end */\n        __bss_end__ = .;\n    } >RAM\n\n    __exidx_start = .;\n    .ARM.exidx   : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } >RAM\n    __exidx_end = .;\n\n    PROVIDE ( end = _ebss );\n    PROVIDE ( _end = _ebss );\n    PROVIDE ( __end__ = _ebss );\n\n    .heap : {\n        __heap_start__ = .;\n        . = . + HEAP_SIZE;\n        . = ALIGN(4);\n        __heap_end__ = .;\n    } >RAM\n\n    /* Remove information from the standard libraries */\n    /DISCARD/ : {\n        libc.a ( * )\n        libm.a ( * )\n        libgcc.a ( * )\n    }\n}\n"
  },
  {
    "path": "examples/arm-cm/dpp_mbed-lpc1768/qv/iar/dpp-qv.ewd",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<project>\n  <fileVersion>2</fileVersion>\n  <configuration>\n    <name>Debug</name>\n    <toolchain>\n      <name>ARM</name>\n    </toolchain>\n    <debug>1</debug>\n    <settings>\n      <name>C-SPY</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>28</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CEndian</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCVariant</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>MemOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MemFile</name>\n          <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\NXP\\LPC1768.ddf</state>\n        </option>\n        <option>\n          <name>RunToEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RunToName</name>\n          <state>main</state>\n        </option>\n        <option>\n          <name>CExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CFpuProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCDDFArgumentProducer</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCDownloadSuppressDownload</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDownloadVerifyAll</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProductVersion</name>\n          <state>7.40.2.8567</state>\n        </option>\n        <option>\n          <name>OCDynDriverList</name>\n          <state>ARMSIM_ID</state>\n        </option>\n        <option>\n          <name>OCLastSavedByProductVersion</name>\n          <state>7.70.1.11471</state>\n        </option>\n        <option>\n          <name>UseFlashLoader</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CLowLevel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCBE8Slave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacFile2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CDevice</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>FlashLoadersV3</name>\n          <state>$TOOLKIT_DIR$\\config\\flashloader\\NXP\\FlashNXPLPC512K_Cortex.board</state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OverrideDefFlashBoard</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesOffset1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesUse1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDeviceConfigMacroFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCDebuggerExtraOption</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCAllMTBOptions</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCMulticoreNrOfCores</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCMulticoreMaster</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCMulticorePort</name>\n          <state>53461</state>\n        </option>\n        <option>\n          <name>OCMulticoreWorkspace</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCMulticoreSlaveProject</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCMulticoreSlaveConfiguration</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCDownloadExtraImage</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCAttachSlave</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ARMSIM_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCSimDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCSimEnablePSP</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCSimPspOverrideConfig</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCSimPspConfigFile</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ANGEL_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CCAngelHeartbeat</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CAngelCommunication</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CAngelCommBaud</name>\n          <version>0</version>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CAngelCommPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ANGELTCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>DoAngelLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AngelLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CADI_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CCadiMemory</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Fast Model</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCADILogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCADILogFileEditB</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CMSISDAP_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>4</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CatchSFERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCIarProbeScriptFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CMSISDAPResetList</name>\n          <version>1</version>\n          <state>10</state>\n        </option>\n        <option>\n          <name>CMSISDAPHWResetDuration</name>\n          <state>300</state>\n        </option>\n        <option>\n          <name>CMSISDAPHWResetDelay</name>\n          <state>200</state>\n        </option>\n        <option>\n          <name>CMSISDAPDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CMSISDAPInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiTargetEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPJtagSpeedList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPRestoreBreakpointsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPUpdateBreakpointsEdit</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>RDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchUndef</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchData</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchPrefetch</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchMMERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchNOCPERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchCHKERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchSTATERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchBUSERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchINTERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchHARDERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiCPUEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiCPUNumber</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeCfgOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeConfig</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CMSISDAPProbeConfigRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPSelectedCPUBehaviour</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ICpuName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCJetEmuParams</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCCMSISDAPUsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCCMSISDAPUsbSerialNoSelect</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>GDBSERVER_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCJTagBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>IARROM_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CRomLogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRomLogFileEditB</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CRomCommPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRomCommBaud</name>\n          <version>0</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>IJET_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>8</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CatchSFERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCIarProbeScriptFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetResetList</name>\n          <version>1</version>\n          <state>10</state>\n        </option>\n        <option>\n          <name>IjetHWResetDuration</name>\n          <state>300</state>\n        </option>\n        <option>\n          <name>IjetHWResetDelay</name>\n          <state>200</state>\n        </option>\n        <option>\n          <name>IjetPowerFromProbe</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetPowerRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>IjetInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiTargetEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetScanChainNonARMDevices</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetIRLength</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetJtagSpeedList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetProtocolRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetSwoPin</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetCpuClockEdit</name>\n          <state>72.0</state>\n        </option>\n        <option>\n          <name>IjetSwoPrescalerList</name>\n          <version>1</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetRestoreBreakpointsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetUpdateBreakpointsEdit</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>RDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchUndef</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchData</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchPrefetch</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchMMERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchNOCPERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchCHKERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchSTATERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchBUSERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchINTERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchHARDERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeCfgOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeConfig</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IjetProbeConfigRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiCPUEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiCPUNumber</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetSelectedCPUBehaviour</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ICpuName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCJetEmuParams</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetPreferETB</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetTraceSettingsList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetTraceSizeList</name>\n          <version>0</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>FlashBoardPathSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCIjetUsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCIjetUsbSerialNoSelect</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JLINK_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>16</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CCCatchSFERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>JLinkSpeed</name>\n          <state>1000</state>\n        </option>\n        <option>\n          <name>CCJLinkDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCJLinkHWResetDelay</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>JLinkInitialSpeed</name>\n          <state>1000</state>\n        </option>\n        <option>\n          <name>CCDoJlinkMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCScanChainNonARMDevices</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkIRLength</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkCommRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkTCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>CCJLinkSpeedRadioV2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCUSBDevice</name>\n          <version>1</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchUndef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchPrefetch</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>CCJLinkInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkResetList</name>\n          <version>6</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>CCJLinkInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchMMERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchNOCPERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchCHRERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchSTATERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchBUSERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchINTERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchHARDERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkScriptFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCJLinkUsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCTcpIpAlt</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkTcpIpSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCCpuClockEdit</name>\n          <state>72.0</state>\n        </option>\n        <option>\n          <name>CCSwoClockAuto</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSwoClockEdit</name>\n          <state>2000</state>\n        </option>\n        <option>\n          <name>OCJLinkTraceSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkTraceSourceDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkDeviceName</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>LMIFTDI_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>LmiftdiSpeed</name>\n          <state>500</state>\n        </option>\n        <option>\n          <name>CCLmiftdiDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLmiftdiLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCLmiFtdiInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLmiFtdiInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>MACRAIGOR_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>3</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>jtag</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EmuSpeed</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>DoEmuMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EmuMultiTarget</name>\n          <state>0@ARM7TDMI</state>\n        </option>\n        <option>\n          <name>EmuHWReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CEmuCommBaud</name>\n          <version>0</version>\n          <state>4</state>\n        </option>\n        <option>\n          <name>CEmuCommPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>jtago</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UnusedAddr</name>\n          <state>0x00800000</state>\n        </option>\n        <option>\n          <name>CCMacraigorHWResetDelay</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCJTagBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>CCMacraigorInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMacraigorInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>PEMICRO_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>3</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCJPEMicroShowSettings</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>RDI_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CRDIDriverDll</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>CRDILogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRDILogFileEdit</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCRDIHWReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchUndef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchPrefetch</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>STLINK_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>3</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCSTLinkInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkResetList</name>\n          <version>1</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCpuClockEdit</name>\n          <state>72.0</state>\n        </option>\n        <option>\n          <name>CCSwoClockAuto</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSwoClockEdit</name>\n          <state>2000</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCSTLinkDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchMMERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchNOCPERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchCHRERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchSTATERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchBUSERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchINTERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchSFERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchHARDERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkUsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCSTLinkUsbSerialNoSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkJtagSpeedList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkDAPNumber</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>THIRDPARTY_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CThirdPartyDriverDll</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>CThirdPartyLogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CThirdPartyLogFileEditB</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>TIFET_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCMSPFetResetList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetTargetVccTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetTargetVoltage</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>CCMSPFetVCCDefault</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCMSPFetTargetSettlingtime</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetRadioJtagSpeedType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCMSPFetConnection</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetUsbComPort</name>\n          <state>Automatic</state>\n        </option>\n        <option>\n          <name>CCMSPFetAllowAccessToBSL</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCMSPFetRadioEraseFlash</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>XDS100_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>5</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TIPackageOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>TIPackage</name>\n          <state></state>\n        </option>\n        <option>\n          <name>BoardFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCXds100BreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100DoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100UpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>CCXds100CatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchUndef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchPrefetch</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchMMERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchNOCPERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchCHRERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchSTATERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchBUSERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchINTERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchSFERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchHARDERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CpuClockEdit</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCXds100SwoClockAuto</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100SwoClockEdit</name>\n          <state>1000</state>\n        </option>\n        <option>\n          <name>CCXds100HWResetDelay</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100ResetList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100UsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCXds100UsbSerialNoSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100JtagSpeedList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100InterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100InterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100ProbeList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <debuggerPlugins>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\middleware\\HCCWare\\HCCWare.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\middleware\\PercepioTraceExporter\\PercepioTraceExportPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\AVIX\\AVIX.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\MQX\\MQXRtosPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\Quadros\\Quadros_EWB7_Plugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n    </debuggerPlugins>\n  </configuration>\n  <configuration>\n    <name>Release</name>\n    <toolchain>\n      <name>ARM</name>\n    </toolchain>\n    <debug>0</debug>\n    <settings>\n      <name>C-SPY</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>28</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CEndian</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCVariant</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>MemOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MemFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RunToEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RunToName</name>\n          <state>main</state>\n        </option>\n        <option>\n          <name>CExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CFpuProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCDDFArgumentProducer</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCDownloadSuppressDownload</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDownloadVerifyAll</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProductVersion</name>\n          <state>7.40.2.8567</state>\n        </option>\n        <option>\n          <name>OCDynDriverList</name>\n          <state>ARMSIM_ID</state>\n        </option>\n        <option>\n          <name>OCLastSavedByProductVersion</name>\n          <state></state>\n        </option>\n        <option>\n          <name>UseFlashLoader</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CLowLevel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCBE8Slave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacFile2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CDevice</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>FlashLoadersV3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OverrideDefFlashBoard</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesOffset1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesUse1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDeviceConfigMacroFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCDebuggerExtraOption</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCAllMTBOptions</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCMulticoreNrOfCores</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCMulticoreMaster</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCMulticorePort</name>\n          <state>53461</state>\n        </option>\n        <option>\n          <name>OCMulticoreWorkspace</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCMulticoreSlaveProject</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCMulticoreSlaveConfiguration</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCDownloadExtraImage</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCAttachSlave</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ARMSIM_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCSimDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCSimEnablePSP</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCSimPspOverrideConfig</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCSimPspConfigFile</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ANGEL_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CCAngelHeartbeat</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CAngelCommunication</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CAngelCommBaud</name>\n          <version>0</version>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CAngelCommPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ANGELTCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>DoAngelLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AngelLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CADI_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CCadiMemory</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Fast Model</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCADILogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCADILogFileEditB</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CMSISDAP_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>4</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CatchSFERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCIarProbeScriptFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CMSISDAPResetList</name>\n          <version>1</version>\n          <state>10</state>\n        </option>\n        <option>\n          <name>CMSISDAPHWResetDuration</name>\n          <state>300</state>\n        </option>\n        <option>\n          <name>CMSISDAPHWResetDelay</name>\n          <state>200</state>\n        </option>\n        <option>\n          <name>CMSISDAPDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CMSISDAPInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiTargetEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPJtagSpeedList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPRestoreBreakpointsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPUpdateBreakpointsEdit</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>RDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchUndef</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchData</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchPrefetch</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchMMERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchNOCPERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchCHKERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchSTATERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchBUSERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchINTERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchHARDERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiCPUEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiCPUNumber</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeCfgOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeConfig</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CMSISDAPProbeConfigRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPSelectedCPUBehaviour</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ICpuName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCJetEmuParams</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCCMSISDAPUsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCCMSISDAPUsbSerialNoSelect</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>GDBSERVER_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCJTagBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>IARROM_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CRomLogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRomLogFileEditB</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CRomCommPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRomCommBaud</name>\n          <version>0</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>IJET_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>8</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CatchSFERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCIarProbeScriptFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetResetList</name>\n          <version>1</version>\n          <state>10</state>\n        </option>\n        <option>\n          <name>IjetHWResetDuration</name>\n          <state>300</state>\n        </option>\n        <option>\n          <name>IjetHWResetDelay</name>\n          <state>200</state>\n        </option>\n        <option>\n          <name>IjetPowerFromProbe</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetPowerRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>IjetInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiTargetEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetScanChainNonARMDevices</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetIRLength</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetJtagSpeedList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetProtocolRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetSwoPin</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetCpuClockEdit</name>\n          <state>72.0</state>\n        </option>\n        <option>\n          <name>IjetSwoPrescalerList</name>\n          <version>1</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetRestoreBreakpointsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetUpdateBreakpointsEdit</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>RDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchUndef</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchData</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchPrefetch</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchMMERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchNOCPERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchCHKERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchSTATERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchBUSERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchINTERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchHARDERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeCfgOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeConfig</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IjetProbeConfigRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiCPUEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiCPUNumber</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetSelectedCPUBehaviour</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ICpuName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCJetEmuParams</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetPreferETB</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetTraceSettingsList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetTraceSizeList</name>\n          <version>0</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>FlashBoardPathSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCIjetUsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCIjetUsbSerialNoSelect</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JLINK_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>16</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CCCatchSFERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>JLinkSpeed</name>\n          <state>1000</state>\n        </option>\n        <option>\n          <name>CCJLinkDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCJLinkHWResetDelay</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>JLinkInitialSpeed</name>\n          <state>1000</state>\n        </option>\n        <option>\n          <name>CCDoJlinkMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCScanChainNonARMDevices</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkIRLength</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkCommRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkTCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>CCJLinkSpeedRadioV2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCUSBDevice</name>\n          <version>1</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchUndef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchPrefetch</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>CCJLinkInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkResetList</name>\n          <version>6</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>CCJLinkInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchMMERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchNOCPERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchCHRERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchSTATERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchBUSERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchINTERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchHARDERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkScriptFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCJLinkUsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCTcpIpAlt</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkTcpIpSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCCpuClockEdit</name>\n          <state>72.0</state>\n        </option>\n        <option>\n          <name>CCSwoClockAuto</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSwoClockEdit</name>\n          <state>2000</state>\n        </option>\n        <option>\n          <name>OCJLinkTraceSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkTraceSourceDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkDeviceName</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>LMIFTDI_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>LmiftdiSpeed</name>\n          <state>500</state>\n        </option>\n        <option>\n          <name>CCLmiftdiDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLmiftdiLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCLmiFtdiInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLmiFtdiInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>MACRAIGOR_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>3</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>jtag</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EmuSpeed</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>DoEmuMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EmuMultiTarget</name>\n          <state>0@ARM7TDMI</state>\n        </option>\n        <option>\n          <name>EmuHWReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CEmuCommBaud</name>\n          <version>0</version>\n          <state>4</state>\n        </option>\n        <option>\n          <name>CEmuCommPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>jtago</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UnusedAddr</name>\n          <state>0x00800000</state>\n        </option>\n        <option>\n          <name>CCMacraigorHWResetDelay</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCJTagBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>CCMacraigorInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMacraigorInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>PEMICRO_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>3</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCJPEMicroShowSettings</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>RDI_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CRDIDriverDll</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>CRDILogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRDILogFileEdit</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCRDIHWReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchUndef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchPrefetch</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>STLINK_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>3</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCSTLinkInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkResetList</name>\n          <version>1</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCpuClockEdit</name>\n          <state>72.0</state>\n        </option>\n        <option>\n          <name>CCSwoClockAuto</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSwoClockEdit</name>\n          <state>2000</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCSTLinkDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchMMERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchNOCPERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchCHRERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchSTATERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchBUSERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchINTERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchSFERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchHARDERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkUsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCSTLinkUsbSerialNoSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkJtagSpeedList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkDAPNumber</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>THIRDPARTY_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CThirdPartyDriverDll</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>CThirdPartyLogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CThirdPartyLogFileEditB</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>TIFET_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCMSPFetResetList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetTargetVccTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetTargetVoltage</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>CCMSPFetVCCDefault</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCMSPFetTargetSettlingtime</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetRadioJtagSpeedType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCMSPFetConnection</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetUsbComPort</name>\n          <state>Automatic</state>\n        </option>\n        <option>\n          <name>CCMSPFetAllowAccessToBSL</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCMSPFetRadioEraseFlash</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>XDS100_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>5</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TIPackageOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>TIPackage</name>\n          <state></state>\n        </option>\n        <option>\n          <name>BoardFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCXds100BreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100DoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100UpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>CCXds100CatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchUndef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchPrefetch</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchMMERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchNOCPERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchCHRERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchSTATERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchBUSERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchINTERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchSFERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchHARDERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CpuClockEdit</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCXds100SwoClockAuto</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100SwoClockEdit</name>\n          <state>1000</state>\n        </option>\n        <option>\n          <name>CCXds100HWResetDelay</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100ResetList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100UsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCXds100UsbSerialNoSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100JtagSpeedList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100InterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100InterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100ProbeList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <debuggerPlugins>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\middleware\\HCCWare\\HCCWare.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\middleware\\PercepioTraceExporter\\PercepioTraceExportPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\AVIX\\AVIX.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\MQX\\MQXRtosPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\Quadros\\Quadros_EWB7_Plugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n    </debuggerPlugins>\n  </configuration>\n</project>\n\n\n"
  },
  {
    "path": "examples/arm-cm/dpp_mbed-lpc1768/qv/iar/dpp-qv.ewp",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<project>\n  <fileVersion>2</fileVersion>\n  <configuration>\n    <name>Debug</name>\n    <toolchain>\n      <name>ARM</name>\n    </toolchain>\n    <debug>1</debug>\n    <settings>\n      <name>General</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>24</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>ExePath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>ObjPath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>ListPath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>GEndianMode</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Input variant</name>\n          <version>3</version>\n          <state>6</state>\n        </option>\n        <option>\n          <name>Input description</name>\n          <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n        </option>\n        <option>\n          <name>Output variant</name>\n          <version>2</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>Output description</name>\n          <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n        </option>\n        <option>\n          <name>GOutputBinary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGCoreOrChip</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelect</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelectSlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RTDescription</name>\n          <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n        </option>\n        <option>\n          <name>OGProductVersion</name>\n          <state>5.11.0.50579</state>\n        </option>\n        <option>\n          <name>OGLastSavedByProductVersion</name>\n          <state>7.70.1.11471</state>\n        </option>\n        <option>\n          <name>GeneralEnableMisra</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVerbose</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGChipSelectEditMenu</name>\n          <state>LPC1768\tNXP LPC1768</state>\n        </option>\n        <option>\n          <name>GenLowLevelInterface</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEndianModeBE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OGBufferedTerminalOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GenStdoutInterface</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>GeneralMisraVer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>RTConfigPath2</name>\n          <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n        </option>\n        <option>\n          <name>GBECoreSlave</name>\n          <version>24</version>\n          <state>38</state>\n        </option>\n        <option>\n          <name>OGUseCmsis</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGUseCmsisDspLib</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibThreads</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CoreVariant</name>\n          <version>24</version>\n          <state>38</state>\n        </option>\n        <option>\n          <name>GFPUDeviceSlave</name>\n          <state>LPC1768\tNXP LPC1768</state>\n        </option>\n        <option>\n          <name>FPU2</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NrRegs</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NEON</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GFPUCoreSlave2</name>\n          <version>24</version>\n          <state>38</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICCARM</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>31</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CCOptimizationNoSizeConstraints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCPreprocFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocComments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMnemonics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMessages</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagSuppress</name>\n          <state>Pa050</state>\n        </option>\n        <option>\n          <name>CCDiagRemark</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagWarning</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagError</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCAllowList</name>\n          <version>1</version>\n          <state>00000000</state>\n        </option>\n        <option>\n          <name>CCDebugInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IEndianMode</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCLangConformance</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSignedPlainChar</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRequirePrototypes</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagWarnAreErr</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCompilerRuntimeInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IFpuProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.o</state>\n        </option>\n        <option>\n          <name>CCLibConfigHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>PreInclude</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CompilerMisraOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCIncludePath2</name>\n          <state>$PROJ_DIR$\\..\\..</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\mbed-lpc1768</state>\n        </option>\n        <option>\n          <name>CCStdIncCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCodeSection</name>\n          <state>.text</state>\n        </option>\n        <option>\n          <name>IInterwork2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IProcessorMode2</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptStrategy</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevelSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>CCPosIndRopi</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPosIndRwpi</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPosIndNoDynInit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccLang</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>IccCDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccAllowVLA</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCppDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccExceptions</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccRTTI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccStaticDestr</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccCppInlineSemantics</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccCmsis</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccFloatSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCNoLiteralPool</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOptStrategySlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCGuardCalls</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>AARM</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>9</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>AObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AEndian</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ACaseSensitivity</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacroChars</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnWhat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnOne</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ADebug</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AltRegisterNames</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state>ewarm</state>\n        </option>\n        <option>\n          <name>AList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AListHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AListing</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Includes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacExps</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacExec</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OnlyAssed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MultiLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>TabSpacing</name>\n          <state>8</state>\n        </option>\n        <option>\n          <name>AXRef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDefines</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefInternal</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDual</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AFpuProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AOutputFile</name>\n          <state>$FILE_BNAME$.o</state>\n        </option>\n        <option>\n          <name>AMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ALimitErrorsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ALimitErrorsEdit</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>AIgnoreStdInclude</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AUserIncludes</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AExtraOptionsCheckV2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptionsV2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AsmNoLiteralPool</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>OBJCOPY</name>\n      <archiveVersion>0</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OOCOutputFormat</name>\n          <version>3</version>\n          <state>3</state>\n        </option>\n        <option>\n          <name>OCOutputOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OOCOutputFile</name>\n          <state>dpp-qv.bin</state>\n        </option>\n        <option>\n          <name>OOCCommandLineProducer</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OOCObjCopyEnable</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CUSTOM</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <extensions></extensions>\n        <cmdline></cmdline>\n        <hasPrio>0</hasPrio>\n      </data>\n    </settings>\n    <settings>\n      <name>BICOMP</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>BUILDACTION</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <prebuild></prebuild>\n        <postbuild></postbuild>\n      </data>\n    </settings>\n    <settings>\n      <name>ILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data>\n        <version>17</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>IlinkLibIOConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XLinkMisraHandler</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkInputFileSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkOutputFile</name>\n          <state>dpp-qv.out</state>\n        </option>\n        <option>\n          <name>IlinkDebugInfoEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkKeepSymbols</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinaryFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinarySymbol</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinarySegment</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinaryAlign</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkConfigDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkMapFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkLogFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogInitialization</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogModule</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogSection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogVeneer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkIcfOverride</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkIcfFile</name>\n          <state>$PROJ_DIR$\\dpp-qv.icf</state>\n        </option>\n        <option>\n          <name>IlinkIcfFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkSuppressDiags</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkTreatAsRem</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkTreatAsWarn</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkTreatAsErr</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkWarningsAreErrors</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkUseExtraOptions</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkLowLevelInterfaceSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkAutoLibEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkAdditionalLibs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkOverrideProgramEntryLabel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkProgramEntryLabelSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkProgramEntryLabel</name>\n          <state>__iar_program_start</state>\n        </option>\n        <option>\n          <name>DoFill</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FillerByte</name>\n          <state>0xFF</state>\n        </option>\n        <option>\n          <name>FillerStart</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>FillerEnd</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>CrcSize</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcAlign</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcPoly</name>\n          <state>0x11021</state>\n        </option>\n        <option>\n          <name>CrcCompl</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcBitOrder</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcInitialValue</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>DoCrc</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkBE8Slave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkBufferedTerminalOutput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkStdoutInterfaceSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcFullSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkIElfToolPostProcess</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogAutoLibSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogRedirSymbols</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogUnusedFragments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkCrcReverseByteOrder</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkCrcUseAsInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptInline</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkOptExceptionsAllow</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptExceptionsForce</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkCmsis</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptMergeDuplSections</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkOptUseVfe</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptForceVfe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkStackAnalysisEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkStackControlFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkStackCallGraphFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CrcAlgorithm</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcUnitSize</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkThreadsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkLogCallGraph</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>IARCHIVE</name>\n      <archiveVersion>0</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>IarchiveInputs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IarchiveOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IarchiveOutput</name>\n          <state>###Unitialized###</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>BILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>Coder</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n  </configuration>\n  <configuration>\n    <name>Release</name>\n    <toolchain>\n      <name>ARM</name>\n    </toolchain>\n    <debug>0</debug>\n    <settings>\n      <name>General</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>24</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>ExePath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>ObjPath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>ListPath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>GEndianMode</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Input variant</name>\n          <version>3</version>\n          <state>6</state>\n        </option>\n        <option>\n          <name>Input description</name>\n          <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n        </option>\n        <option>\n          <name>Output variant</name>\n          <version>2</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>Output description</name>\n          <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n        </option>\n        <option>\n          <name>GOutputBinary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGCoreOrChip</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelect</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelectSlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RTDescription</name>\n          <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n        </option>\n        <option>\n          <name>OGProductVersion</name>\n          <state>5.11.0.50579</state>\n        </option>\n        <option>\n          <name>OGLastSavedByProductVersion</name>\n          <state>7.70.1.11471</state>\n        </option>\n        <option>\n          <name>GeneralEnableMisra</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVerbose</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGChipSelectEditMenu</name>\n          <state>LPC1768\tNXP LPC1768</state>\n        </option>\n        <option>\n          <name>GenLowLevelInterface</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEndianModeBE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OGBufferedTerminalOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GenStdoutInterface</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>GeneralMisraVer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>RTConfigPath2</name>\n          <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n        </option>\n        <option>\n          <name>GBECoreSlave</name>\n          <version>24</version>\n          <state>38</state>\n        </option>\n        <option>\n          <name>OGUseCmsis</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGUseCmsisDspLib</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibThreads</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CoreVariant</name>\n          <version>24</version>\n          <state>38</state>\n        </option>\n        <option>\n          <name>GFPUDeviceSlave</name>\n          <state>LPC1768\tNXP LPC1768</state>\n        </option>\n        <option>\n          <name>FPU2</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NrRegs</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NEON</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GFPUCoreSlave2</name>\n          <version>24</version>\n          <state>38</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICCARM</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>31</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CCOptimizationNoSizeConstraints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDefines</name>\n          <state>NDEBUG</state>\n        </option>\n        <option>\n          <name>CCPreprocFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocComments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMnemonics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMessages</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagSuppress</name>\n          <state>Pa050</state>\n        </option>\n        <option>\n          <name>CCDiagRemark</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagWarning</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagError</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCAllowList</name>\n          <version>1</version>\n          <state>11111110</state>\n        </option>\n        <option>\n          <name>CCDebugInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IEndianMode</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCLangConformance</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSignedPlainChar</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRequirePrototypes</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagWarnAreErr</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCompilerRuntimeInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IFpuProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.o</state>\n        </option>\n        <option>\n          <name>CCLibConfigHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>PreInclude</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CompilerMisraOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCIncludePath2</name>\n          <state>$PROJ_DIR$\\..\\..</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\mbed-lpc1768</state>\n        </option>\n        <option>\n          <name>CCStdIncCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCodeSection</name>\n          <state>.text</state>\n        </option>\n        <option>\n          <name>IInterwork2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IProcessorMode2</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevel</name>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CCOptStrategy</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevelSlave</name>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>CCPosIndRopi</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPosIndRwpi</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPosIndNoDynInit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccLang</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>IccCDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccAllowVLA</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCppDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccExceptions</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccRTTI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccStaticDestr</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccCppInlineSemantics</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccCmsis</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccFloatSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCNoLiteralPool</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOptStrategySlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCGuardCalls</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>AARM</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>9</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>AObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AEndian</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ACaseSensitivity</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacroChars</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnWhat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnOne</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ADebug</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AltRegisterNames</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state>ewarm</state>\n        </option>\n        <option>\n          <name>AList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AListHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AListing</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Includes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacExps</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacExec</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OnlyAssed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MultiLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>TabSpacing</name>\n          <state>8</state>\n        </option>\n        <option>\n          <name>AXRef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDefines</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefInternal</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDual</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AFpuProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AOutputFile</name>\n          <state>$FILE_BNAME$.o</state>\n        </option>\n        <option>\n          <name>AMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ALimitErrorsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ALimitErrorsEdit</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>AIgnoreStdInclude</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AUserIncludes</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AExtraOptionsCheckV2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptionsV2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AsmNoLiteralPool</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>OBJCOPY</name>\n      <archiveVersion>0</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OOCOutputFormat</name>\n          <version>3</version>\n          <state>3</state>\n        </option>\n        <option>\n          <name>OCOutputOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OOCOutputFile</name>\n          <state>dpp-qv.bin</state>\n        </option>\n        <option>\n          <name>OOCCommandLineProducer</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OOCObjCopyEnable</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CUSTOM</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <extensions></extensions>\n        <cmdline></cmdline>\n        <hasPrio>0</hasPrio>\n      </data>\n    </settings>\n    <settings>\n      <name>BICOMP</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>BUILDACTION</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <prebuild></prebuild>\n        <postbuild></postbuild>\n      </data>\n    </settings>\n    <settings>\n      <name>ILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data>\n        <version>17</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>IlinkLibIOConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XLinkMisraHandler</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkInputFileSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkOutputFile</name>\n          <state>dpp-qv.out</state>\n        </option>\n        <option>\n          <name>IlinkDebugInfoEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkKeepSymbols</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinaryFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinarySymbol</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinarySegment</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinaryAlign</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkConfigDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkMapFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkLogFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogInitialization</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogModule</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogSection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogVeneer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkIcfOverride</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkIcfFile</name>\n          <state>$PROJ_DIR$\\dpp-qv.icf</state>\n        </option>\n        <option>\n          <name>IlinkIcfFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkSuppressDiags</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkTreatAsRem</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkTreatAsWarn</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkTreatAsErr</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkWarningsAreErrors</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkUseExtraOptions</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkLowLevelInterfaceSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkAutoLibEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkAdditionalLibs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkOverrideProgramEntryLabel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkProgramEntryLabelSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkProgramEntryLabel</name>\n          <state>__iar_program_start</state>\n        </option>\n        <option>\n          <name>DoFill</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FillerByte</name>\n          <state>0xFF</state>\n        </option>\n        <option>\n          <name>FillerStart</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>FillerEnd</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>CrcSize</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcAlign</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcPoly</name>\n          <state>0x11021</state>\n        </option>\n        <option>\n          <name>CrcCompl</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcBitOrder</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcInitialValue</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>DoCrc</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkBE8Slave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkBufferedTerminalOutput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkStdoutInterfaceSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcFullSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkIElfToolPostProcess</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogAutoLibSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogRedirSymbols</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogUnusedFragments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkCrcReverseByteOrder</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkCrcUseAsInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptInline</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptExceptionsAllow</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptExceptionsForce</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkCmsis</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptMergeDuplSections</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkOptUseVfe</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptForceVfe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkStackAnalysisEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkStackControlFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkStackCallGraphFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CrcAlgorithm</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcUnitSize</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkThreadsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkLogCallGraph</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>IARCHIVE</name>\n      <archiveVersion>0</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>IarchiveInputs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IarchiveOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IarchiveOutput</name>\n          <state>###Unitialized###</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>BILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>Coder</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n  </configuration>\n  <group>\n    <name>Application</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\bsp.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\bsp.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\dpp.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\main.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\philo.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\table.c</name>\n    </file>\n  </group>\n  <group>\n    <name>mbed-lpc1768</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\mbed-lpc1768\\LPC17xx.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\mbed-lpc1768\\iar\\startup_LPC17xx.s</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\mbed-lpc1768\\system_LPC17xx.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\mbed-lpc1768\\system_LPC17xx.h</name>\n    </file>\n  </group>\n  <group>\n    <name>QP</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qepn.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qfn.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qvn\\qvn.c</name>\n    </file>\n  </group>\n  <group>\n    <name>QP_port</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar\\qfn_port.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar\\qvn_port.c</name>\n    </file>\n  </group>\n</project>\n\n\n"
  },
  {
    "path": "examples/arm-cm/dpp_mbed-lpc1768/qv/iar/dpp-qv.eww",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<workspace>\n  <project>\n    <path>$WS_DIR$\\dpp-qv.ewp</path>\n  </project>\n  <batchBuild/>\n</workspace>\n\n\n"
  },
  {
    "path": "examples/arm-cm/dpp_mbed-lpc1768/qv/iar/dpp-qv.icf",
    "content": "/*###ICF### Section handled by ICF editor, don't touch! ****/\n/*-Editor annotation file-*/\n/* IcfEditorFile=\"$TOOLKIT_DIR$\\config\\ide\\IcfEditor\\cortex_v1_0.xml\" */\n/*-Specials-*/\ndefine symbol __ICFEDIT_intvec_start__ = 0x00000000;\n/*-Memory Regions-*/\ndefine symbol __ICFEDIT_region_ROM_start__ = 0x00000000;\ndefine symbol __ICFEDIT_region_ROM_end__   = 0x0007FFFF;\ndefine symbol __ICFEDIT_region_RAM_start__ = 0x10000000;\ndefine symbol __ICFEDIT_region_RAM_end__   = 0x10007FDF;\n/*-Sizes-*/\ndefine symbol __ICFEDIT_size_cstack__ = 1024;\ndefine symbol __ICFEDIT_size_heap__   = 0;\n/**** End of ICF editor section. ###ICF###*/\n\ndefine symbol __CRP_start__   = 0x000002FC;\ndefine symbol __CRP_end__     = 0x000002FF;\n\ndefine symbol __RAM1_start__  = 0x2007C000;\ndefine symbol __RAM1_end__    = 0x20083FFF;\n\ndefine memory mem with size = 4G;\ndefine region ROM_region   = mem:[from __ICFEDIT_region_ROM_start__   to __ICFEDIT_region_ROM_end__] -  mem:[from  __CRP_start__ to __CRP_end__];\ndefine region RAM_region   = mem:[from __ICFEDIT_region_RAM_start__   to __ICFEDIT_region_RAM_end__];\ndefine region CRP_region   = mem:[from __CRP_start__ to __CRP_end__];\ndefine region RAM1_region  = mem:[from __RAM1_start__ to __RAM1_end__];\n\ndefine block CSTACK    with alignment = 8, size = __ICFEDIT_size_cstack__   { };\ndefine block HEAP      with alignment = 8, size = __ICFEDIT_size_heap__     { };\n\ninitialize by copy { readwrite };\ndo not initialize  { section .noinit };\n\nplace at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };\nplace in ROM_region   { readonly };\nplace in RAM_region   { readwrite,\n                        block CSTACK, block HEAP };\nplace in CRP_region  \t{ section .crp };\nplace in RAM1_region\t{ section .sram };"
  },
  {
    "path": "examples/arm-cm/dpp_mbed-lpc1768/table.c",
    "content": "/*.$file${.::table.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: dpp.qm\n* File:  ${.::table.c}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::table.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"  /* QP-nano port */\n#include \"bsp.h\"  /* Board Support Package */\n#include \"dpp.h\"  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(\"table\")\n\n/* Active object class -----------------------------------------------------*/\n/*.$declare${AOs::Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table} ...........................................................*/\ntypedef struct Table {\n/* protected: */\n    QActive super;\n\n/* private: */\n    uint8_t fork[N_PHILO];\n    uint8_t isHungry[N_PHILO];\n} Table;\n\n/* protected: */\nstatic QState Table_initial(Table * const me);\nstatic QState Table_active(Table * const me);\nstatic QState Table_serving(Table * const me);\nstatic QState Table_paused(Table * const me);\n/*.$enddecl${AOs::Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Global objects ----------------------------------------------------------*/\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 650U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.5.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Table} ........................................................*/\nstruct Table AO_Table;\n/*.$enddef${AOs::AO_Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n#define RIGHT(n_) ((uint8_t)(((n_) + (N_PHILO - 1U)) % N_PHILO))\n#define LEFT(n_)  ((uint8_t)(((n_) + 1U) % N_PHILO))\n#define FREE      ((uint8_t)0)\n#define USED      ((uint8_t)1)\n\n/*..........................................................................*/\n/*.$define${AOs::Table_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table_ctor} ......................................................*/\nvoid Table_ctor(void) {\n    uint8_t n;\n    Table *me = &AO_Table;\n\n    QActive_ctor(&me->super, Q_STATE_CAST(&Table_initial));\n    for (n = 0U; n < N_PHILO; ++n) {\n        me->fork[n] = FREE;\n        me->isHungry[n] = 0U;\n    }\n}\n/*.$enddef${AOs::Table_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table} ...........................................................*/\n/*.${AOs::Table::SM} .......................................................*/\nstatic QState Table_initial(Table * const me) {\n    /*.${AOs::Table::SM::initial} */\n    uint8_t n;\n    for (n = 0U; n < N_PHILO; ++n) {\n        me->fork[n] = FREE;\n        me->isHungry[n] = 0U;\n        BSP_displayPhilStat(n, \"thinking\");\n    }\n    return Q_TRAN(&Table_serving);\n}\n/*.${AOs::Table::SM::active} ...............................................*/\nstatic QState Table_active(Table * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Table::SM::active::TERMINATE} */\n        case TERMINATE_SIG: {\n            BSP_terminate(0);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::EAT} */\n        case EAT_SIG: {\n            Q_ERROR();\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Table::SM::active::serving} ......................................*/\nstatic QState Table_serving(Table * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Table::SM::active::serving} */\n        case Q_ENTRY_SIG: {\n            uint8_t n;\n            for (n = 0U; n < N_PHILO; ++n) { /* give permissions to eat... */\n                if ((me->isHungry[n] != 0U)\n                    && (me->fork[LEFT(n)] == FREE)\n                    && (me->fork[n] == FREE))\n                {\n                    QActive *philo;\n\n                    me->fork[LEFT(n)] = USED;\n                    me->fork[n] = USED;\n                    philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\n                    QACTIVE_POST(philo, EAT_SIG, n);\n                    me->isHungry[n] = 0U;\n                    BSP_displayPhilStat(n, \"eating  \");\n                }\n            }\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::HUNGRY} */\n        case HUNGRY_SIG: {\n            uint8_t n, m;\n            QActive *philo;\n\n            n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* phil ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n\n            BSP_displayPhilStat(n, \"hungry  \");\n            m = LEFT(n);\n            /*.${AOs::Table::SM::active::serving::HUNGRY::[bothfree]} */\n            if ((me->fork[m] == FREE) && (me->fork[n] == FREE)) {\n                me->fork[m] = USED;\n                me->fork[n] = USED;\n                philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\n                QACTIVE_POST(philo, EAT_SIG, n);\n                BSP_displayPhilStat(n, \"eating  \");\n                status_ = Q_HANDLED();\n            }\n            /*.${AOs::Table::SM::active::serving::HUNGRY::[else]} */\n            else {\n                me->isHungry[n] = 1U;\n                status_ = Q_HANDLED();\n            }\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::DONE} */\n        case DONE_SIG: {\n            uint8_t n, m;\n            QActive *philo;\n\n            n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* phil ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n\n            BSP_displayPhilStat(n, \"thinking\");\n            m = LEFT(n);\n            /* both forks of Phil[n] must be used */\n            Q_ASSERT((me->fork[n] == USED) && (me->fork[m] == USED));\n\n            me->fork[m] = FREE;\n            me->fork[n] = FREE;\n            m = RIGHT(n); /* check the right neighbor */\n\n            if ((me->isHungry[m] != 0U) && (me->fork[m] == FREE)) {\n                me->fork[n] = USED;\n                me->fork[m] = USED;\n                me->isHungry[m] = 0U;\n                philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n                QACTIVE_POST(philo, EAT_SIG, m);\n                BSP_displayPhilStat(m, \"eating  \");\n            }\n            m = LEFT(n); /* check the left neighbor */\n            n = LEFT(m); /* left fork of the left neighbor */\n            if ((me->isHungry[m] != 0U) && (me->fork[n] == FREE)) {\n                me->fork[m] = USED;\n                me->fork[n] = USED;\n                me->isHungry[m] = 0U;\n                philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n                QACTIVE_POST(philo, EAT_SIG, m);\n                BSP_displayPhilStat(m, \"eating  \");\n            }\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::EAT} */\n        case EAT_SIG: {\n            Q_ERROR();\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::PAUSE} */\n        case PAUSE_SIG: {\n            status_ = Q_TRAN(&Table_paused);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Table_active);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Table::SM::active::paused} .......................................*/\nstatic QState Table_paused(Table * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Table::SM::active::paused} */\n        case Q_ENTRY_SIG: {\n            BSP_displayPaused(1U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused} */\n        case Q_EXIT_SIG: {\n            BSP_displayPaused(0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused::SERVE} */\n        case SERVE_SIG: {\n            status_ = Q_TRAN(&Table_serving);\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused::HUNGRY} */\n        case HUNGRY_SIG: {\n            uint8_t n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* philo ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n            me->isHungry[n] = 1U;\n            BSP_displayPhilStat(n, \"hungry  \");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused::DONE} */\n        case DONE_SIG: {\n            uint8_t n, m;\n\n            n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* phil ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n\n            BSP_displayPhilStat(n, \"thinking\");\n            m = LEFT(n);\n            /* both forks of Phil[n] must be used */\n            Q_ASSERT((me->fork[n] == USED) && (me->fork[m] == USED));\n\n            me->fork[m] = FREE;\n            me->fork[n] = FREE;\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Table_active);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${AOs::Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/README.txt",
    "content": "About this Example\n==================\nThis folder contains the simple \"Blinky\" QP example application.\nThis directory contains portable code that should compile with any C\ncompiler for ARM Cortex-M.\n\nThe sub-directories contain code and project files, which are\nspecific to the particular ARM toolchains, such as ARM-KEIL (MDK-ARM),\nGNU, and IAR.\n\nPlease refer to the README files in the sub-directories for specific\ninstructions how to use and customize the example to your needs.\n\n\nSupport Code for STM32 NUCLEO-L053R8 Board\n------------------------------------------\nThe directory qpc\\3rd_party\\nucleo-l053r8 contains the CMSIS-\ncompliant device code for the STM32L0xx MCUs (ARM Cortex-M0+). Please see\nthe README file in this folder for more details.\n\n\nQS Software Tracing Instrumentation\n===================================\nThis example provides the \"Spy\" build configuration, which outputs the QS\n(Quantum Spy) software tracing data through UART2, which is connected to\nthe virtual COM port of the ST-Link V2 USB debugger.\n\nThe output is generated at 115200 baud rate.\n\nHere is an example invocation of the QSPY host application to receive\nthe QS data from NUCLEO board:\n\nqspy -cCOM20\n\nThe actual COM port number might be different on your Windows machine.\nPlease check the Device Manager to find the COM port number.\n\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/README.url",
    "content": "[InternetShortcut]\nURL=http://www.state-machine.com/qpn/arm-cm_dpp_nucleo-l053r8.html\nIconFile=http://www.state-machine.com/qp.ico\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/bsp.h",
    "content": "/*****************************************************************************\n* Product: DPP example\n* Last Updated for Version: 5.4.0\n* Date of the Last Update:  2015-03-07\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* Web  : www.state-machine.com\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BSP_H\n#define BSP_H\n\n#define BSP_TICKS_PER_SEC    100U\n\nvoid BSP_init(void);\nvoid BSP_displayPaused(uint8_t paused);\nvoid BSP_displayPhilStat(uint8_t n, char_t const *stat);\nvoid BSP_terminate(int16_t result);\n\nvoid BSP_randomSeed(uint32_t seed);   /* random seed */\nuint32_t BSP_random(void);            /* pseudo-random generator */\n\n#endif /* BSP_H */\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/dpp.h",
    "content": "/*.$file${.::dpp.h} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: dpp.qm\n* File:  ${.::dpp.h}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::dpp.h} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#ifndef DPP_H\n#define DPP_H\n\nenum DPPSignals {\n    EAT_SIG = Q_USER_SIG, /* published by Table to let a philosopher eat */\n    DONE_SIG,             /* published by Philosopher when done eating */\n    PAUSE_SIG,            /* published by BSP to pause the application */\n    SERVE_SIG,            /* published by BSP to pause the application */\n    TERMINATE_SIG,        /* published by BSP to terminate the application */\n    HUNGRY_SIG,           /* posted direclty to Table from hungry Philo */\n    MAX_SIG               /* the last signal */\n};\n\n/* number of philosophers */\n#define N_PHILO ((uint8_t)5)\n#define PHILO_0_PRIO 1\n\n/*.$declare${AOs::AO_Philo0} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo0;\n/*.$enddecl${AOs::AO_Philo0} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo1} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo1;\n/*.$enddecl${AOs::AO_Philo1} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo2} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo2;\n/*.$enddecl${AOs::AO_Philo2} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo3} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo3;\n/*.$enddecl${AOs::AO_Philo3} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo4} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo4;\n/*.$enddecl${AOs::AO_Philo4} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Table AO_Table;\n/*.$enddecl${AOs::AO_Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/*.$declare${AOs::Philo_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo_ctor} ......................................................*/\nvoid Philo_ctor(void);\n/*.$enddecl${AOs::Philo_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::Table_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table_ctor} ......................................................*/\nvoid Table_ctor(void);\n/*.$enddecl${AOs::Table_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n#endif /* DPP_H */\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/dpp.qm",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<model version=\"4.6.0\" links=\"1\">\n <documentation>Dining Philosopher Problem example with QActive</documentation>\n <!--${qpn}-->\n <framework name=\"qpn\"/>\n <!--${AOs}-->\n <package name=\"AOs\" stereotype=\"0x02\">\n  <!--${AOs::Philo}-->\n  <class name=\"Philo\" superclass=\"qpn::QActive\">\n   <!--${AOs::Philo::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${AOs::Philo::SM::initial}-->\n    <initial target=\"../1\">\n     <initial_glyph conn=\"2,3,5,1,20,5,-3\">\n      <action box=\"0,-2,6,2\"/>\n     </initial_glyph>\n    </initial>\n    <!--${AOs::Philo::SM::thinking}-->\n    <state name=\"thinking\">\n     <entry>QActive_armX(&amp;me-&gt;super, 0U, THINK_TIME, 0U);</entry>\n     <exit>QActive_disarmX(&amp;me-&gt;super, 0U);</exit>\n     <!--${AOs::Philo::SM::thinking::Q_TIMEOUT}-->\n     <tran trig=\"Q_TIMEOUT\" target=\"../../2\">\n      <tran_glyph conn=\"2,12,3,1,20,13,-3\">\n       <action box=\"0,-2,6,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Philo::SM::thinking::EAT, DONE}-->\n     <tran trig=\"EAT, DONE\">\n      <action>Q_ERROR(); /* these events should never arrive in this state */</action>\n      <tran_glyph conn=\"2,17,3,-1,13\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,5,17,16\">\n      <entry box=\"1,2,5,2\"/>\n      <exit box=\"1,4,6,2\"/>\n     </state_glyph>\n    </state>\n    <!--${AOs::Philo::SM::hungry}-->\n    <state name=\"hungry\">\n     <entry>QACTIVE_POST(&amp;AO_Table, HUNGRY_SIG, me-&gt;super.prio);</entry>\n     <!--${AOs::Philo::SM::hungry::EAT}-->\n     <tran trig=\"EAT\" target=\"../../3\">\n      <tran_glyph conn=\"2,30,3,1,20,13,-3\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Philo::SM::hungry::DONE}-->\n     <tran trig=\"DONE\">\n      <action>Q_ERROR(); /* this event should never arrive in this state */</action>\n      <tran_glyph conn=\"2,36,3,-1,14\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,23,17,16\">\n      <entry box=\"1,2,5,2\"/>\n     </state_glyph>\n    </state>\n    <!--${AOs::Philo::SM::eating}-->\n    <state name=\"eating\">\n     <entry>QActive_armX(&amp;me-&gt;super, 0U, EAT_TIME, 0U);</entry>\n     <exit>QActive_disarmX(&amp;me-&gt;super, 0U);\nQACTIVE_POST(QF_ACTIVE_CAST(&amp;AO_Table), DONE_SIG, me-&gt;super.prio);</exit>\n     <!--${AOs::Philo::SM::eating::Q_TIMEOUT}-->\n     <tran trig=\"Q_TIMEOUT\" target=\"../../1\">\n      <tran_glyph conn=\"2,51,3,1,22,-41,-5\">\n       <action box=\"0,-2,6,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Philo::SM::eating::EAT, DONE}-->\n     <tran trig=\"EAT, DONE\">\n      <action>Q_ERROR(); /* these events should never arrive in this state */</action>\n      <tran_glyph conn=\"2,55,3,-1,13\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,41,17,18\">\n      <entry box=\"1,2,5,2\"/>\n      <exit box=\"1,4,5,2\"/>\n     </state_glyph>\n    </state>\n    <state_diagram size=\"37,61\"/>\n   </statechart>\n  </class>\n  <!--${AOs::Table}-->\n  <class name=\"Table\" superclass=\"qpn::QActive\">\n   <!--${AOs::Table::fork[N_PHILO]}-->\n   <attribute name=\"fork[N_PHILO]\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Table::isHungry[N_PHILO]}-->\n   <attribute name=\"isHungry[N_PHILO]\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Table::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${AOs::Table::SM::initial}-->\n    <initial target=\"../1/2\">\n     <action>uint8_t n;\nfor (n = 0U; n &lt; N_PHILO; ++n) {\n    me-&gt;fork[n] = FREE;\n    me-&gt;isHungry[n] = 0U;\n    BSP_displayPhilStat(n, &quot;thinking&quot;);\n}</action>\n     <initial_glyph conn=\"3,3,5,1,44,18,-9\">\n      <action box=\"0,-2,6,2\"/>\n     </initial_glyph>\n    </initial>\n    <!--${AOs::Table::SM::active}-->\n    <state name=\"active\">\n     <!--${AOs::Table::SM::active::TERMINATE}-->\n     <tran trig=\"TERMINATE\">\n      <action>BSP_terminate(0);</action>\n      <tran_glyph conn=\"2,11,3,-1,14\">\n       <action box=\"0,-2,11,4\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Table::SM::active::EAT}-->\n     <tran trig=\"EAT\">\n      <action>Q_ERROR();</action>\n      <tran_glyph conn=\"2,15,3,-1,14\">\n       <action box=\"0,-2,10,4\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Table::SM::active::serving}-->\n     <state name=\"serving\">\n      <entry brief=\"give pending permitions to eat\">uint8_t n;\nfor (n = 0U; n &lt; N_PHILO; ++n) { /* give permissions to eat... */\n    if ((me-&gt;isHungry[n] != 0U)\n        &amp;&amp; (me-&gt;fork[LEFT(n)] == FREE)\n        &amp;&amp; (me-&gt;fork[n] == FREE))\n    {\n        QActive *philo;\n\n        me-&gt;fork[LEFT(n)] = USED;\n        me-&gt;fork[n] = USED;\n        philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\n        QACTIVE_POST(philo, EAT_SIG, n);\n        me-&gt;isHungry[n] = 0U;\n        BSP_displayPhilStat(n, &quot;eating  &quot;);\n    }\n}</entry>\n      <!--${AOs::Table::SM::active::serving::HUNGRY}-->\n      <tran trig=\"HUNGRY\">\n       <action>uint8_t n, m;\nQActive *philo;\n\nn = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* phil ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\n\nBSP_displayPhilStat(n, &quot;hungry  &quot;);\nm = LEFT(n);</action>\n       <!--${AOs::Table::SM::active::serving::HUNGRY::[bothfree]}-->\n       <choice>\n        <guard brief=\"both free\">(me-&gt;fork[m] == FREE) &amp;&amp; (me-&gt;fork[n] == FREE)</guard>\n        <action>me-&gt;fork[m] = USED;\nme-&gt;fork[n] = USED;\nphilo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\nQACTIVE_POST(philo, EAT_SIG, n);\nBSP_displayPhilStat(n, &quot;eating  &quot;);</action>\n        <choice_glyph conn=\"19,26,5,-1,10\">\n         <action box=\"1,0,10,2\"/>\n        </choice_glyph>\n       </choice>\n       <!--${AOs::Table::SM::active::serving::HUNGRY::[else]}-->\n       <choice>\n        <guard>else</guard>\n        <action>me-&gt;isHungry[n] = 1U;</action>\n        <choice_glyph conn=\"19,26,4,-1,5,10\">\n         <action box=\"1,5,6,2\"/>\n        </choice_glyph>\n       </choice>\n       <tran_glyph conn=\"4,26,3,-1,15\">\n        <action box=\"0,-2,8,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::serving::DONE}-->\n      <tran trig=\"DONE\">\n       <action>uint8_t n, m;\nQActive *philo;\n\nn = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* phil ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\n\nBSP_displayPhilStat(n, &quot;thinking&quot;);\nm = LEFT(n);\n/* both forks of Phil[n] must be used */\nQ_ASSERT((me-&gt;fork[n] == USED) &amp;&amp; (me-&gt;fork[m] == USED));\n\nme-&gt;fork[m] = FREE;\nme-&gt;fork[n] = FREE;\nm = RIGHT(n); /* check the right neighbor */\n\nif ((me-&gt;isHungry[m] != 0U) &amp;&amp; (me-&gt;fork[m] == FREE)) {\n    me-&gt;fork[n] = USED;\n    me-&gt;fork[m] = USED;\n    me-&gt;isHungry[m] = 0U;\n    philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n    QACTIVE_POST(philo, EAT_SIG, m);\n    BSP_displayPhilStat(m, &quot;eating  &quot;);\n}\nm = LEFT(n); /* check the left neighbor */\nn = LEFT(m); /* left fork of the left neighbor */\nif ((me-&gt;isHungry[m] != 0U) &amp;&amp; (me-&gt;fork[n] == FREE)) {\n    me-&gt;fork[m] = USED;\n    me-&gt;fork[n] = USED;\n    me-&gt;isHungry[m] = 0U;\n    philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n    QACTIVE_POST(philo, EAT_SIG, m);\n    BSP_displayPhilStat(m, &quot;eating  &quot;);\n}</action>\n       <tran_glyph conn=\"4,34,3,-1,15\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::serving::EAT}-->\n      <tran trig=\"EAT\">\n       <action>Q_ERROR();</action>\n       <tran_glyph conn=\"4,37,3,-1,15\">\n        <action box=\"0,-2,12,4\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::serving::PAUSE}-->\n      <tran trig=\"PAUSE\" target=\"../../3\">\n       <tran_glyph conn=\"4,41,3,1,37,6,-3\">\n        <action box=\"0,-2,7,2\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"4,19,34,24\">\n       <entry box=\"1,2,27,2\"/>\n      </state_glyph>\n     </state>\n     <!--${AOs::Table::SM::active::paused}-->\n     <state name=\"paused\">\n      <entry>BSP_displayPaused(1U);</entry>\n      <exit>BSP_displayPaused(0U);</exit>\n      <!--${AOs::Table::SM::active::paused::SERVE}-->\n      <tran trig=\"SERVE\" target=\"../../2\">\n       <tran_glyph conn=\"4,57,3,1,39,-20,-5\">\n        <action box=\"0,-2,7,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::paused::HUNGRY}-->\n      <tran trig=\"HUNGRY\">\n       <action>uint8_t n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* philo ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\nme-&gt;isHungry[n] = 1U;\nBSP_displayPhilStat(n, &quot;hungry  &quot;);</action>\n       <tran_glyph conn=\"4,60,3,-1,15\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::paused::DONE}-->\n      <tran trig=\"DONE\">\n       <action>uint8_t n, m;\n\nn = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* phil ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\n\nBSP_displayPhilStat(n, &quot;thinking&quot;);\nm = LEFT(n);\n/* both forks of Phil[n] must be used */\nQ_ASSERT((me-&gt;fork[n] == USED) &amp;&amp; (me-&gt;fork[m] == USED));\n\nme-&gt;fork[m] = FREE;\nme-&gt;fork[n] = FREE;</action>\n       <tran_glyph conn=\"4,63,3,-1,15\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"4,45,34,20\">\n       <entry box=\"1,2,18,4\"/>\n       <exit box=\"1,6,18,4\"/>\n      </state_glyph>\n     </state>\n     <state_glyph node=\"2,5,43,62\"/>\n    </state>\n    <state_diagram size=\"49,69\"/>\n   </statechart>\n  </class>\n  <!--${AOs::AO_Philo0}-->\n  <attribute name=\"AO_Philo0\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo1}-->\n  <attribute name=\"AO_Philo1\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo2}-->\n  <attribute name=\"AO_Philo2\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo3}-->\n  <attribute name=\"AO_Philo3\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo4}-->\n  <attribute name=\"AO_Philo4\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Table}-->\n  <attribute name=\"AO_Table\" type=\"struct Table\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::Philo_ctor}-->\n  <operation name=\"Philo_ctor\" type=\"void\" visibility=\"0x00\" properties=\"0x00\">\n   <code>QActive_ctor(&amp;AO_Philo0.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo1.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo2.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo3.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo4.super, Q_STATE_CAST(&amp;Philo_initial));\nBSP_randomSeed(123U);</code>\n  </operation>\n  <!--${AOs::Table_ctor}-->\n  <operation name=\"Table_ctor\" type=\"void\" visibility=\"0x00\" properties=\"0x00\">\n   <code>uint8_t n;\nTable *me = &amp;AO_Table;\n\nQActive_ctor(&amp;me-&gt;super, Q_STATE_CAST(&amp;Table_initial));\nfor (n = 0U; n &lt; N_PHILO; ++n) {\n    me-&gt;fork[n] = FREE;\n    me-&gt;isHungry[n] = 0U;\n}</code>\n  </operation>\n </package>\n <!--${.}-->\n <directory name=\".\">\n  <!--${.::dpp.h}-->\n  <file name=\"dpp.h\">\n   <text>#ifndef DPP_H\n#define DPP_H\n\nenum DPPSignals {\n    EAT_SIG = Q_USER_SIG, /* published by Table to let a philosopher eat */\n    DONE_SIG,             /* published by Philosopher when done eating */\n    PAUSE_SIG,            /* published by BSP to pause the application */\n    SERVE_SIG,            /* published by BSP to pause the application */\n    TERMINATE_SIG,        /* published by BSP to terminate the application */\n    HUNGRY_SIG,           /* posted direclty to Table from hungry Philo */\n    MAX_SIG               /* the last signal */\n};\n\n/* number of philosophers */\n#define N_PHILO ((uint8_t)5)\n#define PHILO_0_PRIO 1\n\n$declare${AOs::AO_Philo0}\n$declare${AOs::AO_Philo1}\n$declare${AOs::AO_Philo2}\n$declare${AOs::AO_Philo3}\n$declare${AOs::AO_Philo4}\n$declare${AOs::AO_Table}\n\n$declare${AOs::Philo_ctor}\n$declare${AOs::Table_ctor}\n\n#endif /* DPP_H */\n</text>\n  </file>\n  <!--${.::philo.c}-->\n  <file name=\"philo.c\">\n   <text>#include &quot;qpn.h&quot;  /* QP-nano port */\n#include &quot;bsp.h&quot;  /* Board Support Package */\n#include &quot;dpp.h&quot;  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(&quot;philo&quot;)\n\n/* Active object class -----------------------------------------------------*/\n$declare${AOs::Philo}\n\n/* Global objects ----------------------------------------------------------*/\n$define${AOs::AO_Philo0}\n$define${AOs::AO_Philo1}\n$define${AOs::AO_Philo2}\n$define${AOs::AO_Philo3}\n$define${AOs::AO_Philo4}\n\n/* Local objects -----------------------------------------------------------*/\n#define THINK_TIME  \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + (BSP_TICKS_PER_SEC/2U))\n#define EAT_TIME    \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + BSP_TICKS_PER_SEC)\n\n/* Philo definition --------------------------------------------------------*/\n$define${AOs::Philo_ctor}\n$define${AOs::Philo}</text>\n  </file>\n  <!--${.::table.c}-->\n  <file name=\"table.c\">\n   <text>#include &quot;qpn.h&quot;  /* QP-nano port */\n#include &quot;bsp.h&quot;  /* Board Support Package */\n#include &quot;dpp.h&quot;  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(&quot;table&quot;)\n\n/* Active object class -----------------------------------------------------*/\n$declare${AOs::Table}\n\n/* Global objects ----------------------------------------------------------*/\n$define${AOs::AO_Table}\n\n#define RIGHT(n_) ((uint8_t)(((n_) + (N_PHILO - 1U)) % N_PHILO))\n#define LEFT(n_)  ((uint8_t)(((n_) + 1U) % N_PHILO))\n#define FREE      ((uint8_t)0)\n#define USED      ((uint8_t)1)\n\n/*..........................................................................*/\n$define${AOs::Table_ctor}\n$define${AOs::Table}</text>\n  </file>\n </directory>\n</model>\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/main.c",
    "content": "/*****************************************************************************\n* Product: DPP example\n* Last Updated for Version: 5.8.0\n* Date of the Last Update:  2016-11-06\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"  /* QP-nano */\n#include \"bsp.h\"  /* Board Support Package */\n#include \"dpp.h\"  /* Application interface */\n\n/*..........................................................................*/\nstatic QEvt l_philoQueue[N_PHILO][N_PHILO];\nstatic QEvt l_tableQueue[2];\n\n/* QF_active[] array defines all active object control blocks --------------*/\nQActiveCB const Q_ROM QF_active[] = {\n    { (QActive *)0,           (QEvt *)0,        0U                      },\n    { (QActive *)&AO_Philo0,  l_philoQueue[0],  Q_DIM(l_philoQueue[0])  },\n    { (QActive *)&AO_Philo1,  l_philoQueue[1],  Q_DIM(l_philoQueue[1])  },\n    { (QActive *)&AO_Philo2,  l_philoQueue[2],  Q_DIM(l_philoQueue[2])  },\n    { (QActive *)&AO_Philo3,  l_philoQueue[3],  Q_DIM(l_philoQueue[3])  },\n    { (QActive *)&AO_Philo4,  l_philoQueue[4],  Q_DIM(l_philoQueue[4])  },\n    { (QActive *)&AO_Table,   l_tableQueue,     Q_DIM(l_tableQueue)     }\n};\n\n/*..........................................................................*/\nint_t main() {\n    Philo_ctor();    /* instantiate all Philo AOs */\n    Table_ctor();    /* instantiate the Table AO */\n\n    QF_init(Q_DIM(QF_active)); /* initialize the QF-nano framework */\n    BSP_init();      /* initialize the Board Support Package */\n\n    return QF_run(); /* transfer control to QF-nano */\n}\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/philo.c",
    "content": "/*.$file${.::philo.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: dpp.qm\n* File:  ${.::philo.c}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::philo.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"  /* QP-nano port */\n#include \"bsp.h\"  /* Board Support Package */\n#include \"dpp.h\"  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(\"philo\")\n\n/* Active object class -----------------------------------------------------*/\n/*.$declare${AOs::Philo} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo} ...........................................................*/\ntypedef struct Philo {\n/* protected: */\n    QActive super;\n} Philo;\n\n/* protected: */\nstatic QState Philo_initial(Philo * const me);\nstatic QState Philo_thinking(Philo * const me);\nstatic QState Philo_hungry(Philo * const me);\nstatic QState Philo_eating(Philo * const me);\n/*.$enddecl${AOs::Philo} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Global objects ----------------------------------------------------------*/\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 650U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.5.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo0} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo0} .......................................................*/\nstruct Philo AO_Philo0;\n/*.$enddef${AOs::AO_Philo0} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo1} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo1} .......................................................*/\nstruct Philo AO_Philo1;\n/*.$enddef${AOs::AO_Philo1} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo2} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo2} .......................................................*/\nstruct Philo AO_Philo2;\n/*.$enddef${AOs::AO_Philo2} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo3} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo3} .......................................................*/\nstruct Philo AO_Philo3;\n/*.$enddef${AOs::AO_Philo3} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo4} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo4} .......................................................*/\nstruct Philo AO_Philo4;\n/*.$enddef${AOs::AO_Philo4} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Local objects -----------------------------------------------------------*/\n#define THINK_TIME  \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + (BSP_TICKS_PER_SEC/2U))\n#define EAT_TIME    \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + BSP_TICKS_PER_SEC)\n\n/* Philo definition --------------------------------------------------------*/\n/*.$define${AOs::Philo_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo_ctor} ......................................................*/\nvoid Philo_ctor(void) {\n    QActive_ctor(&AO_Philo0.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo1.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo2.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo3.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo4.super, Q_STATE_CAST(&Philo_initial));\n    BSP_randomSeed(123U);\n}\n/*.$enddef${AOs::Philo_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Philo} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo} ...........................................................*/\n/*.${AOs::Philo::SM} .......................................................*/\nstatic QState Philo_initial(Philo * const me) {\n    /*.${AOs::Philo::SM::initial} */\n    return Q_TRAN(&Philo_thinking);\n}\n/*.${AOs::Philo::SM::thinking} .............................................*/\nstatic QState Philo_thinking(Philo * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Philo::SM::thinking} */\n        case Q_ENTRY_SIG: {\n            QActive_armX(&me->super, 0U, THINK_TIME, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::thinking} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::thinking::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Philo_hungry);\n            break;\n        }\n        /*.${AOs::Philo::SM::thinking::EAT, DONE} */\n        case EAT_SIG: /* intentionally fall through */\n        case DONE_SIG: {\n            Q_ERROR(); /* these events should never arrive in this state */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Philo::SM::hungry} ...............................................*/\nstatic QState Philo_hungry(Philo * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Philo::SM::hungry} */\n        case Q_ENTRY_SIG: {\n            QACTIVE_POST(&AO_Table, HUNGRY_SIG, me->super.prio);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::hungry::EAT} */\n        case EAT_SIG: {\n            status_ = Q_TRAN(&Philo_eating);\n            break;\n        }\n        /*.${AOs::Philo::SM::hungry::DONE} */\n        case DONE_SIG: {\n            Q_ERROR(); /* this event should never arrive in this state */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Philo::SM::eating} ...............................................*/\nstatic QState Philo_eating(Philo * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Philo::SM::eating} */\n        case Q_ENTRY_SIG: {\n            QActive_armX(&me->super, 0U, EAT_TIME, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::eating} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            QACTIVE_POST(QF_ACTIVE_CAST(&AO_Table), DONE_SIG, me->super.prio);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::eating::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Philo_thinking);\n            break;\n        }\n        /*.${AOs::Philo::SM::eating::EAT, DONE} */\n        case EAT_SIG: /* intentionally fall through */\n        case DONE_SIG: {\n            Q_ERROR(); /* these events should never arrive in this state */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${AOs::Philo} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/qk/armclang/README.txt",
    "content": "About this Example\n==================\nThis example demonstrates how to use the uVision IDE together with\nthe MDK-ARM toolchain.\n\n***\nNOTE: This example requires installing the following Software Pack\nin the Keil uVision: Keil::STM32L0xx_DFP.\n***\n\n\nuVision Project File\n====================\nThe MDK-ARM uVision project file provided with this example uses\nrelative paths to the QP/C framework location (includes, port, and\nlibraries. These relative paths must be modified when the project\nis moved to different relative location.\n\n\nAdjusting Stack and Heap Sizes\n==============================\nThe stack and heap sizes are determined in this project by the\ncommand-line options for the ARM assembler (see the Asm tab in\nthe \"Options for Target\" dialog box in uVision). Specifically,\nyou should define symbols: Stack_Size=xxx Heap_Size=yyy, where\nxxx represents a numerical value of stack size and yyy the\nnumberical value of the heap size.\n\n\nStartup Code\n============\nThe startup code for the STM32L1xx MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\nucleo-l053r8\\arm\\startup_stm32l053xx.s\n\nThe file startup_stm32l053xx.s provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n\n\nAdjusting the CPU Clock Speed\n=============================\nThe current setting is to run at 2MHz from the MSI (internal oscillator),\nbut the CPU clock speed can be modified by editing the file\nsystem_stm32l1xx.c. Ther file system_stm32l0xx.c.pll provides an example\nof clock setting using the PLL driven from the MSE.\n\n***\nNOTE:\nThe NUCLEO boards have a wide range of possible clock selections, depending\non the solder bridge configuration. Please see Chapter 5.7 \"OSC clock\" in\nthe STM32 NUCLEO Boards User Manual (ST document UM1724) for more information.\n***\n\n  "
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/qk/armclang/dpp-qk.uvoptx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<ProjectOpt xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_optx.xsd\">\n\n  <SchemaVersion>1.0</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Extensions>\n    <cExt>*.c</cExt>\n    <aExt>*.s*; *.src; *.a*</aExt>\n    <oExt>*.obj; *.o</oExt>\n    <lExt>*.lib</lExt>\n    <tExt>*.txt; *.h; *.inc</tExt>\n    <pExt>*.plm</pExt>\n    <CppX>*.cpp</CppX>\n    <nMigrate>0</nMigrate>\n  </Extensions>\n\n  <DaveTm>\n    <dwLowDateTime>0</dwLowDateTime>\n    <dwHighDateTime>0</dwHighDateTime>\n  </DaveTm>\n\n  <Target>\n    <TargetName>dpp-dbg</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>0</RunSim>\n        <RunTarget>1</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\dbg\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>1</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>18</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>1</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>5</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>STLink\\ST-LINKIII-KEIL_SWO.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L0xx_64 -FS08000000 -FL010000 -FP0($$Device:STM32L053R8Tx$CMSIS\\Flash\\STM32L0xx_64.FLM))</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ST-LINKIII-KEIL_SWO</Key>\n          <Name>-U066CFF484951775087074312 -O8431 -SF480 -C0 -A0 -I0 -HNlocalhost -HP7184 -P2 -N00(\"ARM CoreSight SW-DP\") -D00(0BC11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC800 -FN1 -FF0STM32L0xx_64.FLM -FS08000000 -FL010000 -FP0($$Device:STM32L053R8Tx$CMSIS\\Flash\\STM32L0xx_64.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGUARM</Key>\n          <Name>(105=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n      <DebugDescription>\n        <Enable>1</Enable>\n        <EnableFlashSeq>0</EnableFlashSeq>\n        <EnableLog>0</EnableLog>\n        <Protocol>2</Protocol>\n        <DbgClock>10000000</DbgClock>\n      </DebugDescription>\n    </TargetOption>\n  </Target>\n\n  <Target>\n    <TargetName>dpp-rel</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>0</RunSim>\n        <RunTarget>1</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\rel\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>0</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>18</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>1</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>5</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>STLink\\ST-LINKIII-KEIL_SWO.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L0xx_64 -FS08000000 -FL010000 -FP0($$Device:STM32L053R8Tx$CMSIS\\Flash\\STM32L0xx_64.FLM))</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ST-LINKIII-KEIL_SWO</Key>\n          <Name>-U066CFF484951775087074312 -O8431 -SF4000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P2 -N00(\"ARM CoreSight SW-DP\") -D00(0BC11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32L0xx_64.FLM -FS08000000 -FL010000 -FP0($$Device:STM32L053R8Tx$CMSIS\\Flash\\STM32L0xx_64.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGUARM</Key>\n          <Name>(105=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n      <DebugDescription>\n        <Enable>1</Enable>\n        <EnableFlashSeq>0</EnableFlashSeq>\n        <EnableLog>0</EnableLog>\n        <Protocol>2</Protocol>\n        <DbgClock>10000000</DbgClock>\n      </DebugDescription>\n    </TargetOption>\n  </Target>\n\n  <Group>\n    <GroupName>Source Code</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>1</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\bsp.c</PathWithFileName>\n      <FilenameWithoutPath>bsp.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>2</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\bsp.h</PathWithFileName>\n      <FilenameWithoutPath>bsp.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>3</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\dpp.h</PathWithFileName>\n      <FilenameWithoutPath>dpp.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>4</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\main.c</PathWithFileName>\n      <FilenameWithoutPath>main.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>5</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\philo.c</PathWithFileName>\n      <FilenameWithoutPath>philo.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>6</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\table.c</PathWithFileName>\n      <FilenameWithoutPath>table.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>nucleo-l053r8</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>7</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\stm32l0xx.h</PathWithFileName>\n      <FilenameWithoutPath>stm32l0xx.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>8</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\stm32l053xx.h</PathWithFileName>\n      <FilenameWithoutPath>stm32l053xx.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>9</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\system_stm32l0xx.c</PathWithFileName>\n      <FilenameWithoutPath>system_stm32l0xx.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>10</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\system_stm32l0xx.h</PathWithFileName>\n      <FilenameWithoutPath>system_stm32l0xx.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>11</FileNumber>\n      <FileType>2</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\arm\\startup_stm32l053xx.s</PathWithFileName>\n      <FilenameWithoutPath>startup_stm32l053xx.s</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>12</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</PathWithFileName>\n      <FilenameWithoutPath>qepn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>13</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</PathWithFileName>\n      <FilenameWithoutPath>qfn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>14</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qkn\\qkn.c</PathWithFileName>\n      <FilenameWithoutPath>qkn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP_port</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>15</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qfn_port.h</PathWithFileName>\n      <FilenameWithoutPath>qfn_port.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>16</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qkn_port.c</PathWithFileName>\n      <FilenameWithoutPath>qkn_port.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n</ProjectOpt>\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/qk/armclang/dpp-qk.uvprojx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<Project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_projx.xsd\">\n\n  <SchemaVersion>2.1</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Targets>\n    <Target>\n      <TargetName>dpp-dbg</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6130001::V6.13.1::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>STM32L053R8Tx</Device>\n          <Vendor>STMicroelectronics</Vendor>\n          <PackID>Keil.STM32L0xx_DFP.2.0.0</PackID>\n          <PackURL>http://www.keil.com/pack/</PackURL>\n          <Cpu>IRAM(0x20000000,0x00002000) IROM(0x08000000,0x00010000) CPUTYPE(\"Cortex-M0+\") CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L0xx_64 -FS08000000 -FL010000 -FP0($$Device:STM32L053R8Tx$Flash\\STM32L0xx_64.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:STM32L053R8Tx$Device\\Include\\stm32l0xx.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:STM32L053R8Tx$SVD\\STM32L053x.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\dbg\\</OutputDirectory>\n          <OutputName>dpp-qk</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>1</DebugInformation>\n          <BrowseInformation>1</BrowseInformation>\n          <ListingPath>.\\dbg\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\dbg\\dpp-qk.bin .\\dbg\\dpp-qk.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>0</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments> -REMAP </SimDllArguments>\n          <SimDlgDll>DARMCM1.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM0+</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> </TargetDllArguments>\n          <TargetDlgDll>TARMCM1.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM0+</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4096</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3></Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M0+\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>0</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x2000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x8000000</StartAddress>\n                <Size>0x10000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x8000000</StartAddress>\n                <Size>0x10000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x2000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>0</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>1</vShortEn>\n            <vShortWch>1</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define></Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile></ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Source Code</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>bsp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\bsp.h</FilePath>\n            </File>\n            <File>\n              <FileName>dpp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\dpp.h</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>philo.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\philo.c</FilePath>\n            </File>\n            <File>\n              <FileName>table.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\table.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>nucleo-l053r8</GroupName>\n          <Files>\n            <File>\n              <FileName>stm32l0xx.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\stm32l0xx.h</FilePath>\n            </File>\n            <File>\n              <FileName>stm32l053xx.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\stm32l053xx.h</FilePath>\n            </File>\n            <File>\n              <FileName>system_stm32l0xx.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\system_stm32l0xx.c</FilePath>\n            </File>\n            <File>\n              <FileName>system_stm32l0xx.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\system_stm32l0xx.h</FilePath>\n            </File>\n            <File>\n              <FileName>startup_stm32l053xx.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\arm\\startup_stm32l053xx.s</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qkn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qkn\\qkn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qkn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qkn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n    <Target>\n      <TargetName>dpp-rel</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6130001::V6.13.1::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>STM32L053R8Tx</Device>\n          <Vendor>STMicroelectronics</Vendor>\n          <PackID>Keil.STM32L0xx_DFP.2.0.0</PackID>\n          <PackURL>http://www.keil.com/pack/</PackURL>\n          <Cpu>IRAM(0x20000000,0x00002000) IROM(0x08000000,0x00010000) CPUTYPE(\"Cortex-M0+\") CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L0xx_64 -FS08000000 -FL010000 -FP0($$Device:STM32L053R8Tx$Flash\\STM32L0xx_64.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:STM32L053R8Tx$Device\\Include\\stm32l0xx.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:STM32L053R8Tx$SVD\\STM32L053x.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\rel\\</OutputDirectory>\n          <OutputName>dpp-qk</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>0</DebugInformation>\n          <BrowseInformation>0</BrowseInformation>\n          <ListingPath>.\\rel\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\rel\\dpp-qk.bin .\\rel\\dpp-qk.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>0</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments> -REMAP </SimDllArguments>\n          <SimDlgDll>DARMCM1.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM0+</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> </TargetDllArguments>\n          <TargetDlgDll>TARMCM1.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM0+</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4097</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3></Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M0+\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>0</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x2000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x8000000</StartAddress>\n                <Size>0x10000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x8000000</StartAddress>\n                <Size>0x10000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x2000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>0</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>1</vShortEn>\n            <vShortWch>1</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>NDEBUG</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile>dpp-qk.sct</ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Source Code</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>bsp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\bsp.h</FilePath>\n            </File>\n            <File>\n              <FileName>dpp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\dpp.h</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>philo.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\philo.c</FilePath>\n            </File>\n            <File>\n              <FileName>table.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\table.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>nucleo-l053r8</GroupName>\n          <Files>\n            <File>\n              <FileName>stm32l0xx.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\stm32l0xx.h</FilePath>\n            </File>\n            <File>\n              <FileName>stm32l053xx.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\stm32l053xx.h</FilePath>\n            </File>\n            <File>\n              <FileName>system_stm32l0xx.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\system_stm32l0xx.c</FilePath>\n            </File>\n            <File>\n              <FileName>system_stm32l0xx.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\system_stm32l0xx.h</FilePath>\n            </File>\n            <File>\n              <FileName>startup_stm32l053xx.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\arm\\startup_stm32l053xx.s</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qkn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qkn\\qkn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qkn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qkn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n  </Targets>\n\n  <RTE>\n    <apis/>\n    <components/>\n    <files/>\n  </RTE>\n\n</Project>\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/qk/bsp.c",
    "content": "/*****************************************************************************\n* Product: DPP on STM32 NUCLEO-L053R8 board, preemptive QK kernel\n* Last Updated for Version: 6.1.1\n* Date of the Last Update:  2018-02-18\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"dpp.h\"\n#include \"bsp.h\"\n\n#include \"stm32l0xx.h\"  /* CMSIS-compliant header file for the MCU used */\n/* add other drivers if necessary... */\n\n//Q_DEFINE_THIS_FILE\n\n/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n* Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n* DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n*/\nenum KernelAwareISRs {\n    GPIOPORTA_PRIO = QF_AWARE_ISR_CMSIS_PRI, /* see NOTE00 */\n    SYSTICK_PRIO,\n    /* ... */\n    MAX_KERNEL_AWARE_CMSIS_PRI /* keep always last */\n};\n/* \"kernel-aware\" interrupts should not overlap the PendSV priority */\nQ_ASSERT_COMPILE(MAX_KERNEL_AWARE_CMSIS_PRI <= (0xFF >>(8-__NVIC_PRIO_BITS)));\n\n/* ISRs defined in this BSP ------------------------------------------------*/\nvoid SysTick_Handler(void);\n\n/* Local-scope objects -----------------------------------------------------*/\n/* LED pins available on the board (just one user LED LD2--Green on PA.5) */\n#define LED_LD2  (1U << 5)\n\n/* Button pins available on the board (just one user Button B1 on PC.13) */\n#define BTN_B1   (1U << 13)\n\n/* random seed */\nstatic uint32_t l_rnd;\n\n\n/* ISRs used in this project ===============================================*/\nvoid SysTick_Handler(void) {\n    /* state of the button debouncing, see below */\n    static struct ButtonsDebouncing {\n        uint32_t depressed;\n        uint32_t previous;\n    } buttons = { ~0U, ~0U };\n    uint32_t current;\n    uint32_t tmp;\n\n    QK_ISR_ENTRY();  /* inform QK about entering an ISR */\n\n    QF_tickXISR(0U); /* process time events for rate 0 */\n\n\n    /* Perform the debouncing of buttons. The algorithm for debouncing\n    * adapted from the book \"Embedded Systems Dictionary\" by Jack Ganssle\n    * and Michael Barr, page 71.\n    */\n    current = ~GPIOC->IDR; /* read Port C with the state of Button B1 */\n    tmp = buttons.depressed; /* save the debounced depressed buttons */\n    buttons.depressed |= (buttons.previous & current); /* set depressed */\n    buttons.depressed &= (buttons.previous | current); /* clear released */\n    buttons.previous   = current; /* update the history */\n    tmp ^= buttons.depressed;     /* changed debounced depressed */\n    if ((tmp & BTN_B1) != 0U) {  /* debounced B1 state changed? */\n        if ((buttons.depressed & BTN_B1) != 0U) { /* is B1 depressed? */\n            QACTIVE_POST_ISR(&AO_Table, PAUSE_SIG, 0U);\n        }\n        else {            /* the button is released */\n            QACTIVE_POST_ISR(&AO_Table, SERVE_SIG, 0U);\n        }\n    }\n\n    QK_ISR_EXIT();  /* inform QK about exiting an ISR */\n}\n\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    /* NOTE: SystemInit() has been already called from the startup code\n    *  but SystemCoreClock needs to be updated\n    */\n    SystemCoreClockUpdate();\n\n    /* enable GPIOA clock port for the LED LD2 */\n    RCC->IOPENR |= (1U << 0);\n\n    /* configure LED (PA.5) pin as push-pull output, no pull-up, pull-down */\n    GPIOA->MODER   &= ~((3U << 2*5));\n    GPIOA->MODER   |=  ((1U << 2*5));\n    GPIOA->OTYPER  &= ~((1U <<   5));\n    GPIOA->OSPEEDR &= ~((3U << 2*5));\n    GPIOA->OSPEEDR |=  ((1U << 2*5));\n    GPIOA->PUPDR   &= ~((3U << 2*5));\n\n    /* enable GPIOC clock port for the Button B1 */\n    RCC->IOPENR |=  (1U << 2);\n\n    /* configure Button (PC.13) pins as input, no pull-up, pull-down */\n    GPIOC->MODER   &= ~(3U << 2*13);\n    GPIOC->OSPEEDR &= ~(3U << 2*13);\n    GPIOC->OSPEEDR |=  (1U << 2*13);\n    GPIOC->PUPDR   &= ~(3U << 2*13);\n\n    BSP_randomSeed(1234U); /* seed the random number generator */\n}\n/*..........................................................................*/\nvoid BSP_displayPhilStat(uint8_t n, char const *stat) {\n    if (stat[0] == 'h') {\n        GPIOA->BSRR |= LED_LD2;  /* turn LED on  */\n    }\n    else {\n        GPIOA->BSRR |= (LED_LD2 << 16);  /* turn LED off */\n    }\n}\n/*..........................................................................*/\nvoid BSP_displayPaused(uint8_t paused) {\n    /* not enough LEDs to implement this feature */\n    if (paused != (uint8_t)0) {\n        //GPIOA->BSRR |= (LED_LD2);  /* turn LED[n] on  */\n    }\n    else {\n        //GPIOA->BSRR |= (LED_LD2 << 16);  /* turn LED[n] off */\n    }\n}\n/*..........................................................................*/\nuint32_t BSP_random(void) { /* a very cheap pseudo-random-number generator */\n    /* \"Super-Duper\" Linear Congruential Generator (LCG)\n    * LCG(2^32, 3*7*11*13*23, 0, seed)\n    */\n    l_rnd = l_rnd * (3U*7U*11U*13U*23U);\n\n    return l_rnd >> 8;\n}\n/*..........................................................................*/\nvoid BSP_randomSeed(uint32_t seed) {\n    l_rnd = seed;\n}\n/*..........................................................................*/\nvoid BSP_terminate(int16_t result) {\n    (void)result;\n}\n\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    /* set up the SysTick timer to fire at BSP_TICKS_PER_SEC rate */\n    SysTick_Config(SystemCoreClock / BSP_TICKS_PER_SEC);\n\n    /* set priorities of ALL ISRs used in the system, see NOTE00\n    *\n    * !!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n    * Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n    * DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n    */\n    NVIC_SetPriority(SysTick_IRQn,   SYSTICK_PRIO);\n    /* ... */\n\n    /* enable IRQs... */\n}\n\n/*..........................................................................*/\n#ifdef QK_ON_CONTEXT_SW\n/* NOTE: the context-switch callback is called with interrupts DISABLED */\nvoid QK_onContextSw(uint_fast8_t prev, uint_fast8_t next) {\n    (void)prev;\n    if (next != (uint_fast8_t)0) {\n        //_impure_ptr = &reentrant[next];\n    }\n}\n#endif /* QK_ON_CONTEXT_SW */\n/*..........................................................................*/\nvoid QK_onIdle(void) {\n\n    /* toggle an LED on and then off (not enough LEDs, see NOTE01) */\n    QF_INT_DISABLE();\n    //GPIOA->BSRR |= (LED_LD2);        /* turn LED[n] on  */\n    //GPIOA->BSRR |= (LED_LD2 << 16);  /* turn LED[n] off */\n    QF_INT_ENABLE();\n\n#ifdef NDEBUG\n    /* Put the CPU and peripherals to the low-power mode.\n    * you might need to customize the clock management for your application,\n    * see the datasheet for your particular Cortex-M3 MCU.\n    */\n    /* !!!CAUTION!!!\n    * The WFI instruction stops the CPU clock, which unfortunately disables\n    * the JTAG port, so the ST-Link debugger can no longer connect to the\n    * board. For that reason, the call to __WFI() has to be used with CAUTION.\n    *\n    * NOTE: If you find your board \"frozen\" like this, strap BOOT0 to VDD and\n    * reset the board, then connect with ST-Link Utilities and erase the part.\n    * The trick with BOOT(0) is it gets the part to run the System Loader\n    * instead of your broken code. When done disconnect BOOT0, and start over.\n    */\n    //__WFI(); /* Wait-For-Interrupt */\n#endif\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const module, int loc) {\n    /*\n    * NOTE: add here your application-specific error handling\n    */\n    (void)module;\n    (void)loc;\n\n#ifndef NDEBUG\n    GPIOA->BSRR |= LED_LD2;  /* turn LED on  */\n    for (;;) {\n    }\n#endif\n\n    NVIC_SystemReset();\n}\n\n/*****************************************************************************\n* NOTE01:\n* One of the LEDs is used to visualize the idle loop activity. The brightness\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/qk/gnu/.cproject",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<?fileVersion 4.0.0?><cproject storage_type_id=\"org.eclipse.cdt.core.XmlProjectDescriptionStorage\">\n\t<storageModule moduleId=\"org.eclipse.cdt.core.settings\">\n\t\t<cconfiguration id=\"com.atollic.truestudio.exe.debug.815149385\">\n\t\t\t<storageModule buildSystemId=\"org.eclipse.cdt.managedbuilder.core.configurationDataProvider\" id=\"com.atollic.truestudio.exe.debug.815149385\" moduleId=\"org.eclipse.cdt.core.settings\" name=\"Debug\">\n\t\t\t\t<externalSettings/>\n\t\t\t\t<extensions>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.ELF\" point=\"org.eclipse.cdt.core.BinaryParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GASErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GLDErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GCCErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t</extensions>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t\t\t<configuration artifactExtension=\"elf\" artifactName=\"${ProjName}\" buildArtefactType=\"org.eclipse.cdt.build.core.buildArtefactType.exe\" buildProperties=\"org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe\" cleanCommand=\"rm -rf\" description=\"\" id=\"com.atollic.truestudio.exe.debug.815149385\" name=\"Debug\" parent=\"com.atollic.truestudio.exe.debug\">\n\t\t\t\t\t<folderInfo id=\"com.atollic.truestudio.exe.debug.815149385.\" name=\"/\" resourcePath=\"\">\n\t\t\t\t\t\t<toolChain id=\"com.atollic.truestudio.exe.debug.toolchain.1533945543\" name=\"Atollic ARM Tools\" superClass=\"com.atollic.truestudio.exe.debug.toolchain\">\n\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.general.runtimelib.2089069586\" name=\"Runtime Library\" superClass=\"com.atollic.truestudio.general.runtimelib\" value=\"com.atollic.truestudio.ld.general.clib.small\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.toolchain_options.mcu.146570087\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.toolchain_options.mcu\" value=\"STM32L053R8\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.toolchain_options.vendor.1308202603\" name=\"Vendor name\" superClass=\"com.atollic.truestudio.toolchain_options.vendor\" value=\"STMicroelectronics\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<targetPlatform archList=\"all\" binaryParser=\"org.eclipse.cdt.core.ELF\" id=\"com.atollic.truestudio.exe.debug.toolchain.platform.366246759\" isAbstract=\"false\" name=\"Debug platform\" osList=\"all\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.platform\"/>\n\t\t\t\t\t\t\t<builder buildPath=\"${workspace_loc:/dpp-qk_nucleo-l053r8}/Debug\" customBuilderProperties=\"toolChainpathType=1|toolChainpathString=C:\\\\tools\\\\TrueSTUDIO for STM32 9.0.0\\\\ARMTools\\\\bin|\" id=\"com.atollic.truestudio.mbs.builder1.170232415\" keepEnvironmentInBuildfile=\"false\" managedBuildOn=\"true\" name=\"CDT Internal Builder\" superClass=\"com.atollic.truestudio.mbs.builder1\"/>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.as.1155455192\" name=\"Assembler\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.as\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.2110783168\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.1770290367\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" value=\"STM32L053R8\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.1978801964\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.708678436\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.1422844880\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.as.symbols.defined.239543374\" name=\"Defined symbols\" superClass=\"com.atollic.truestudio.as.symbols.defined\" useByScannerDiscovery=\"false\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"STM32L053xx\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.as.general.incpath.894761879\" name=\"Include path\" superClass=\"com.atollic.truestudio.as.general.incpath\" useByScannerDiscovery=\"false\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.atollic.truestudio.as.input.197871264\" name=\"Input\" superClass=\"com.atollic.truestudio.as.input\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.gcc.1253749158\" name=\"C Compiler\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.gcc\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gcc.symbols.defined.800354571\" name=\"Defined symbols\" superClass=\"com.atollic.truestudio.gcc.symbols.defined\" useByScannerDiscovery=\"false\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"STM32L053xx\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gcc.directories.select.1806557545\" name=\"Include path\" superClass=\"com.atollic.truestudio.gcc.directories.select\" useByScannerDiscovery=\"false\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../..\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../src\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../ports/arm-cm/qk/gnu\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../3rd_party/CMSIS/Include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../3rd_party/nucleo-l053r8\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.127698610\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.1730452428\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" value=\"STM32L053R8\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.355110564\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.821891330\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.838888141\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gcc.optimization.prep_garbage.1509346129\" name=\"Prepare dead code removal \" superClass=\"com.atollic.truestudio.gcc.optimization.prep_garbage\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gcc.optimization.prep_data.1011159027\" name=\"Prepare dead data removal\" superClass=\"com.atollic.truestudio.gcc.optimization.prep_data\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.atollic.truestudio.gcc.input.1411502879\" superClass=\"com.atollic.truestudio.gcc.input\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.ld.2085406913\" name=\"C Linker\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.ld\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.283175063\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.360440816\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" value=\"STM32L053R8\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.1096923076\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.1327140594\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.1393817166\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ld.general.scriptfile.261412983\" name=\"Linker script\" superClass=\"com.atollic.truestudio.ld.general.scriptfile\" useByScannerDiscovery=\"false\" value=\"../dpp-qk.ld\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ld.optimization.do_garbage.1344039190\" name=\"Dead code removal \" superClass=\"com.atollic.truestudio.ld.optimization.do_garbage\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.atollic.truestudio.ld.input.1976863455\" name=\"Input\" superClass=\"com.atollic.truestudio.ld.input\">\n\t\t\t\t\t\t\t\t\t<additionalInput kind=\"additionalinputdependency\" paths=\"$(USER_OBJS)\"/>\n\t\t\t\t\t\t\t\t\t<additionalInput kind=\"additionalinput\" paths=\"$(LIBS)\"/>\n\t\t\t\t\t\t\t\t</inputType>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.gpp.607892597\" name=\"C++ Compiler\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.gpp\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.symbols.defined.262882878\" name=\"Defined symbols\" superClass=\"com.atollic.truestudio.gpp.symbols.defined\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"STM32L053xx\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"USE_STDPERIPH_DRIVER\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"USE_NUCLEO_L053R8\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.directories.select.1849833584\" name=\"Include path\" superClass=\"com.atollic.truestudio.gpp.directories.select\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../src\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Drivers/CMSIS/Include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Drivers/CMSIS/Device/ST/STM32L0xx/Include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Drivers/STM32L0xx_HAL_Driver/Inc\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Utilities/STM32L053_Nucleo\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.2099713572\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.598406825\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" value=\"STM32L053R8\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.1556215233\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.1364051921\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.1056457937\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.optimization.prep_garbage.1607399314\" name=\"Prepare dead code removal\" superClass=\"com.atollic.truestudio.gpp.optimization.prep_garbage\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.optimization.prep_data.320194178\" name=\"Prepare dead data removal\" superClass=\"com.atollic.truestudio.gpp.optimization.prep_data\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.optimization.fno_rtti.1060152115\" name=\"Disable RTTI\" superClass=\"com.atollic.truestudio.gpp.optimization.fno_rtti\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.optimization.fno_exceptions.989138708\" name=\"Disable exception handling\" superClass=\"com.atollic.truestudio.gpp.optimization.fno_exceptions\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.ldcc.504480610\" name=\"C++ Linker\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.ldcc\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.453162557\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.375354234\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" value=\"STM32L053R8\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.1028171780\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.819063926\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.2095578161\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ldcc.optimization.do_garbage.1043078870\" name=\"Dead code removal\" superClass=\"com.atollic.truestudio.ldcc.optimization.do_garbage\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ldcc.general.scriptfile.1615201579\" name=\"Linker script\" superClass=\"com.atollic.truestudio.ldcc.general.scriptfile\" value=\"../stm32_flash.ld\" valueType=\"string\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.ar.base.1405127044\" name=\"Archiver\" superClass=\"com.atollic.truestudio.ar.base\"/>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.secoutput.998063695\" name=\"Other\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.secoutput\"/>\n\t\t\t\t\t\t</toolChain>\n\t\t\t\t\t</folderInfo>\n\t\t\t\t\t<sourceEntries>\n\t\t\t\t\t\t<entry excluding=\"QS|nucleo-l053r8/arm|nucleo-l053r8/iar|nucleo-l053r8/llvm\" flags=\"VALUE_WORKSPACE_PATH|RESOLVED\" kind=\"sourcePath\" name=\"\"/>\n\t\t\t\t\t</sourceEntries>\n\t\t\t\t</configuration>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"org.eclipse.cdt.core.externalSettings\"/>\n\t\t</cconfiguration>\n\t\t<cconfiguration id=\"com.atollic.truestudio.exe.debug.815149385.971412587\">\n\t\t\t<storageModule buildSystemId=\"org.eclipse.cdt.managedbuilder.core.configurationDataProvider\" id=\"com.atollic.truestudio.exe.debug.815149385.971412587\" moduleId=\"org.eclipse.cdt.core.settings\" name=\"Release\">\n\t\t\t\t<externalSettings/>\n\t\t\t\t<extensions>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.ELF\" point=\"org.eclipse.cdt.core.BinaryParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GASErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GLDErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GCCErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t</extensions>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t\t\t<configuration artifactExtension=\"elf\" artifactName=\"${ProjName}\" buildArtefactType=\"org.eclipse.cdt.build.core.buildArtefactType.exe\" buildProperties=\"org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe\" cleanCommand=\"rm -rf\" description=\"\" id=\"com.atollic.truestudio.exe.debug.815149385.971412587\" name=\"Release\" parent=\"com.atollic.truestudio.exe.debug\">\n\t\t\t\t\t<folderInfo id=\"com.atollic.truestudio.exe.debug.815149385.971412587.\" name=\"/\" resourcePath=\"\">\n\t\t\t\t\t\t<toolChain id=\"com.atollic.truestudio.exe.debug.toolchain.928909347\" name=\"Atollic ARM Tools\" superClass=\"com.atollic.truestudio.exe.debug.toolchain\">\n\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.general.runtimelib.1657085553\" name=\"Runtime Library\" superClass=\"com.atollic.truestudio.general.runtimelib\" value=\"com.atollic.truestudio.ld.general.clib.small\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.toolchain_options.mcu.1146924267\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.toolchain_options.mcu\" value=\"STM32L053R8\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.toolchain_options.vendor.1035245192\" name=\"Vendor name\" superClass=\"com.atollic.truestudio.toolchain_options.vendor\" value=\"STMicroelectronics\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<targetPlatform archList=\"all\" binaryParser=\"org.eclipse.cdt.core.ELF\" id=\"com.atollic.truestudio.exe.debug.toolchain.platform.1400435653\" isAbstract=\"false\" name=\"Debug platform\" osList=\"all\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.platform\"/>\n\t\t\t\t\t\t\t<builder buildPath=\"${workspace_loc:/dpp-qk_nucleo-l053r8}/Debug\" customBuilderProperties=\"toolChainpathType=1|toolChainpathString=C:\\\\tools\\\\TrueSTUDIO for STM32 9.0.0\\\\ARMTools\\\\bin|\" id=\"com.atollic.truestudio.mbs.builder1.1041652769\" keepEnvironmentInBuildfile=\"false\" managedBuildOn=\"true\" name=\"CDT Internal Builder\" superClass=\"com.atollic.truestudio.mbs.builder1\"/>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.as.1332619227\" name=\"Assembler\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.as\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.1394014600\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.1432507755\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" value=\"STM32L053R8\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.3307277\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.1248418305\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.490793049\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.as.symbols.defined.1403754697\" name=\"Defined symbols\" superClass=\"com.atollic.truestudio.as.symbols.defined\" useByScannerDiscovery=\"false\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"STM32L053xx\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.as.general.incpath.404754648\" name=\"Include path\" superClass=\"com.atollic.truestudio.as.general.incpath\" useByScannerDiscovery=\"false\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.atollic.truestudio.as.input.1883403423\" name=\"Input\" superClass=\"com.atollic.truestudio.as.input\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.gcc.1056600934\" name=\"C Compiler\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.gcc\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gcc.symbols.defined.1380524234\" name=\"Defined symbols\" superClass=\"com.atollic.truestudio.gcc.symbols.defined\" useByScannerDiscovery=\"false\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"NDEBUG\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"STM32L053xx\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gcc.directories.select.443562969\" name=\"Include path\" superClass=\"com.atollic.truestudio.gcc.directories.select\" useByScannerDiscovery=\"false\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../..\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../src\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../ports/arm-cm/qk/gnu\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../3rd_party/CMSIS/Include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../3rd_party/nucleo-l053r8\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.1183681350\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.70441626\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" value=\"STM32L053R8\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.1294969820\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.1371614503\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.1168869059\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gcc.optimization.prep_garbage.1074654281\" name=\"Prepare dead code removal \" superClass=\"com.atollic.truestudio.gcc.optimization.prep_garbage\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gcc.optimization.prep_data.690338714\" name=\"Prepare dead data removal\" superClass=\"com.atollic.truestudio.gcc.optimization.prep_data\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.exe.debug.toolchain.gcc.optimization.level.1619239104\" name=\"Optimization Level\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.gcc.optimization.level\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.gcc.optimization.level.0fast\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.atollic.truestudio.gcc.input.1551496391\" superClass=\"com.atollic.truestudio.gcc.input\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.ld.567839203\" name=\"C Linker\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.ld\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.1591771923\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.1106399579\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" value=\"STM32L053R8\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.1479054867\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.490233771\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.249030619\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ld.general.scriptfile.1150855097\" name=\"Linker script\" superClass=\"com.atollic.truestudio.ld.general.scriptfile\" useByScannerDiscovery=\"false\" value=\"../dpp-qk.ld\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ld.optimization.do_garbage.24662843\" name=\"Dead code removal \" superClass=\"com.atollic.truestudio.ld.optimization.do_garbage\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.atollic.truestudio.ld.input.1718528990\" name=\"Input\" superClass=\"com.atollic.truestudio.ld.input\">\n\t\t\t\t\t\t\t\t\t<additionalInput kind=\"additionalinputdependency\" paths=\"$(USER_OBJS)\"/>\n\t\t\t\t\t\t\t\t\t<additionalInput kind=\"additionalinput\" paths=\"$(LIBS)\"/>\n\t\t\t\t\t\t\t\t</inputType>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.gpp.1477387987\" name=\"C++ Compiler\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.gpp\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.symbols.defined.1248451127\" name=\"Defined symbols\" superClass=\"com.atollic.truestudio.gpp.symbols.defined\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"STM32L053xx\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"USE_STDPERIPH_DRIVER\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"USE_NUCLEO_L053R8\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.directories.select.1203939163\" name=\"Include path\" superClass=\"com.atollic.truestudio.gpp.directories.select\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../src\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Drivers/CMSIS/Include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Drivers/CMSIS/Device/ST/STM32L0xx/Include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Drivers/STM32L0xx_HAL_Driver/Inc\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Utilities/STM32L053_Nucleo\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.343909405\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.252442247\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" value=\"STM32L053R8\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.1831156113\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.1310166097\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.302634688\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.optimization.prep_garbage.1087023176\" name=\"Prepare dead code removal\" superClass=\"com.atollic.truestudio.gpp.optimization.prep_garbage\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.optimization.prep_data.1638305995\" name=\"Prepare dead data removal\" superClass=\"com.atollic.truestudio.gpp.optimization.prep_data\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.optimization.fno_rtti.1163615996\" name=\"Disable RTTI\" superClass=\"com.atollic.truestudio.gpp.optimization.fno_rtti\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.optimization.fno_exceptions.1943793952\" name=\"Disable exception handling\" superClass=\"com.atollic.truestudio.gpp.optimization.fno_exceptions\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.ldcc.1610400251\" name=\"C++ Linker\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.ldcc\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.328012291\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.2104579023\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" value=\"STM32L053R8\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.1495110634\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.1965866515\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.1440967047\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ldcc.optimization.do_garbage.1676757897\" name=\"Dead code removal\" superClass=\"com.atollic.truestudio.ldcc.optimization.do_garbage\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ldcc.general.scriptfile.1328992737\" name=\"Linker script\" superClass=\"com.atollic.truestudio.ldcc.general.scriptfile\" value=\"../stm32_flash.ld\" valueType=\"string\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.ar.base.537362647\" name=\"Archiver\" superClass=\"com.atollic.truestudio.ar.base\"/>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.secoutput.990302074\" name=\"Other\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.secoutput\"/>\n\t\t\t\t\t\t</toolChain>\n\t\t\t\t\t</folderInfo>\n\t\t\t\t\t<sourceEntries>\n\t\t\t\t\t\t<entry excluding=\"QS|nucleo-l053r8/arm|nucleo-l053r8/iar|nucleo-l053r8/llvm\" flags=\"VALUE_WORKSPACE_PATH|RESOLVED\" kind=\"sourcePath\" name=\"\"/>\n\t\t\t\t\t</sourceEntries>\n\t\t\t\t</configuration>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"org.eclipse.cdt.core.externalSettings\"/>\n\t\t</cconfiguration>\n\t</storageModule>\n\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t<project id=\"dpp-qk_nucleo-l053r8.com.atollic.truestudio.exe.1942299401\" name=\"Executable\" projectType=\"com.atollic.truestudio.exe\"/>\n\t</storageModule>\n\t<storageModule moduleId=\"scannerConfiguration\">\n\t\t<autodiscovery enabled=\"true\" problemReportingEnabled=\"true\" selectedProfileId=\"\"/>\n\t</storageModule>\n\t<storageModule moduleId=\"org.eclipse.cdt.core.LanguageSettingsProviders\"/>\n\t<storageModule moduleId=\"refreshScope\"/>\n\t<storageModule moduleId=\"org.eclipse.cdt.make.core.buildtargets\"/>\n</cproject>\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/qk/gnu/.project",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<projectDescription>\n\t<name>dpp-qk_nucleo-l053r8</name>\n\t<comment></comment>\n\t<projects>\n\t</projects>\n\t<buildSpec>\n\t\t<buildCommand>\n\t\t\t<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>\n\t\t\t<triggers>clean,full,incremental,</triggers>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t\t<buildCommand>\n\t\t\t<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>\n\t\t\t<triggers>full,incremental,</triggers>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t</buildSpec>\n\t<natures>\n\t\t<nature>org.eclipse.cdt.core.cnature</nature>\n\t\t<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>\n\t\t<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>\n\t</natures>\n\t<linkedResources>\n\t\t<link>\n\t\t\t<name>QK-nano</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>$%7BPARENT-5-PROJECT_LOC%7D/src/qkn</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>QP-nano</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>$%7BPARENT-5-PROJECT_LOC%7D/src/qfn</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>QP_port</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>$%7BPARENT-5-PROJECT_LOC%7D/ports/arm-cm/qk/gnu</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>bsp.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>$%7BPARENT-1-PROJECT_LOC%7D/bsp.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>bsp.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>$%7BPARENT-2-PROJECT_LOC%7D/bsp.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>dpp.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>$%7BPARENT-2-PROJECT_LOC%7D/dpp.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>main.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>$%7BPARENT-2-PROJECT_LOC%7D/main.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>nucleo-l053r8</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>$%7BPARENT-5-PROJECT_LOC%7D/3rd_party/nucleo-l053r8</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>philo.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>$%7BPARENT-2-PROJECT_LOC%7D/philo.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>qstamp.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>$%7BPARENT-5-PROJECT_LOC%7D/include/qstamp.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>table.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>$%7BPARENT-2-PROJECT_LOC%7D/table.c</locationURI>\n\t\t</link>\n\t</linkedResources>\n</projectDescription>\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/qk/gnu/Makefile",
    "content": "##############################################################################\n# Product: Makefile for QP-nano on NUCLEO-L053R8, QK-nano kernel, GNU-ARM\n# Last Updated for Version: 6.5.0\n# Date of the Last Update:  2019-04-15\n#\n#                    Q u a n t u m  L e a P s\n#                    ------------------------\n#                    Modern Embedded Software\n#\n# Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# https://www.state-machine.com\n# mailto:info@state-machine.com\n##############################################################################\n# examples of invoking this Makefile:\n# building configurations: Debug (default), Release, and Spy\n# make\n# make CONF=rel\n#\n# cleaning configurations: Debug (default), Release, and Spy\n# make clean\n# make CONF=rel clean\n#\n# NOTE:\n# To use this Makefile on Windows, you will need the GNU make utility, which\n# is included in the Qtools collection for Windows, see:\n#    http://sourceforge.net/projects/qpc/files/Qtools/\n#\n\n#-----------------------------------------------------------------------------\n# project name\n#\nPROJECT     := dpp-qk\n\n#-----------------------------------------------------------------------------\n# project directories\n#\n\n# location of the QP-nano framework (if not provided in an environemnt var.)\nifeq ($(QPN),)\nQPN := ../../../../..\nendif\n\n# QP port used in this project\nQP_PORT_DIR := $(QPN)/ports/arm-cm/qk/gnu\n\n# list of all source directories used by this project\nVPATH = \\\n\t.. \\\n\t../.. \\\n\t$(QPN)/src/qfn \\\n\t$(QPN)/src/qkn \\\n\t$(QP_PORT_DIR) \\\n\t$(QPN)/3rd_party/nucleo-l053r8 \\\n\t$(QPN)/3rd_party/nucleo-l053r8/gnu\n\n# list of all include directories needed by this project\nINCLUDES  = \\\n\t-I../.. \\\n\t-I$(QPN)/include \\\n\t-I$(QP_PORT_DIR) \\\n\t-I$(QPN)/3rd_party/CMSIS/Include \\\n\t-I$(QPN)/3rd_party/nucleo-l053r8\n\n#-----------------------------------------------------------------------------\n# files\n#\n\n# assembler source files\nASM_SRCS :=\n\n# C source files\nC_SRCS := \\\n\tbsp.c \\\n\tmain.c \\\n\tphilo.c \\\n\ttable.c \\\n\tsystem_stm32l0xx.c \\\n\tstartup_stm32l053xx.c\n\n# C++ source files\nCPP_SRCS :=\n\nOUTPUT    := $(PROJECT)\nLD_SCRIPT := $(PROJECT).ld\n\nQP_SRCS := \\\n\tqepn.c \\\n\tqfn.c \\\n\tqkn.c \\\n\tqkn_port.c\n\nQP_ASMS :=\n\nLIB_DIRS  :=\nLIBS      :=\n\n# defines\nDEFINES   :=\n\n# ARM CPU, ARCH, FPU, and Float-ABI types...\n# ARM_CPU:   [cortex-m0 | cortex-m0plus | cortex-m1 | cortex-m3 | cortex-m4]\n# ARM_ARCH:  [6 | 7] (NOTE: must match ARM_CPU!)\n# ARM_FPU:   [ | vfp]\n# FLOAT_ABI: [ | soft | softfp | hard]\n#\nARM_CPU   := -mcpu=cortex-m0plus\nARM_ARCH  := 6   # NOTE: must match the ARM_CPU!\nARM_FPU   :=\nFLOAT_ABI :=\n\n#-----------------------------------------------------------------------------\n# GNU-ARM toolset (NOTE: You need to adjust to your machine)\n# see https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads\n#\nifeq ($(GNU_ARM),)\nGNU_ARM := $(QTOOLS)/gnu_arm-none-eabi\nendif\n\n# make sure that the GNU-ARM toolset exists...\nifeq (\"$(wildcard $(GNU_ARM))\",\"\")\n$(error GNU_ARM toolset not found. Please adjust the Makefile)\nendif\n\nCC    := $(GNU_ARM)/bin/arm-none-eabi-gcc\nCPP   := $(GNU_ARM)/bin/arm-none-eabi-g++\nAS    := $(GNU_ARM)/bin/arm-none-eabi-as\nLINK  := $(GNU_ARM)/bin/arm-none-eabi-g++\nBIN   := $(GNU_ARM)/bin/arm-none-eabi-objcopy\n\n\n##############################################################################\n# Typically, you should not need to change anything below this line\n\n# basic utilities (included in Qtools for Windows), see:\n#    http://sourceforge.net/projects/qpc/files/Qtools\n\nMKDIR := mkdir\nRM    := rm\n\n#-----------------------------------------------------------------------------\n# build options for various configurations for ARM Cortex-M\n#\n\n# combine all the soruces...\nC_SRCS += $(QP_SRCS)\nASM_SRCS += $(QP_ASMS)\n\nifeq (rel, $(CONF)) # Release configuration ..................................\n\nBIN_DIR := rel\n\nASFLAGS = $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O2 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nCPPFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O2 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nelse # default Debug configuration ..........................................\n\nBIN_DIR := dbg\n\nASFLAGS = -g $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O2 $(INCLUDES) $(DEFINES)\n\nCPPFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O2 $(INCLUDES) $(DEFINES)\n\nendif # ......................................................................\n\n\nLINKFLAGS = -T$(LD_SCRIPT) $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb \\\n\t-specs=nosys.specs -specs=nano.specs \\\n\t-Wl,-Map,$(BIN_DIR)/$(OUTPUT).map,--cref,--gc-sections $(LIB_DIRS)\n\n\nASM_OBJS     := $(patsubst %.s,%.o,  $(notdir $(ASM_SRCS)))\nC_OBJS       := $(patsubst %.c,%.o,  $(notdir $(C_SRCS)))\nCPP_OBJS     := $(patsubst %.cpp,%.o,$(notdir $(CPP_SRCS)))\n\nTARGET_BIN   := $(BIN_DIR)/$(OUTPUT).bin\nTARGET_ELF   := $(BIN_DIR)/$(OUTPUT).elf\nASM_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(ASM_OBJS))\nC_OBJS_EXT   := $(addprefix $(BIN_DIR)/, $(C_OBJS))\nC_DEPS_EXT   := $(patsubst %.o, %.d, $(C_OBJS_EXT))\nCPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))\nCPP_DEPS_EXT := $(patsubst %.o, %.d, $(CPP_OBJS_EXT))\n\n# create $(BIN_DIR) if it does not exist\nifeq (\"$(wildcard $(BIN_DIR))\",\"\")\n$(shell $(MKDIR) $(BIN_DIR))\nendif\n\n#-----------------------------------------------------------------------------\n# rules\n#\n\nall: $(TARGET_BIN)\n#all: $(TARGET_ELF)\n\n$(TARGET_BIN): $(TARGET_ELF)\n\t$(BIN) -O binary $< $@\n\n$(TARGET_ELF) : $(ASM_OBJS_EXT) $(C_OBJS_EXT) $(CPP_OBJS_EXT)\n\t$(CC) $(CFLAGS) $(QPN)/include/qstamp.c -o $(BIN_DIR)/qstamp.o\n\t$(LINK) $(LINKFLAGS) -o $@ $^ $(BIN_DIR)/qstamp.o $(LIBS)\n\n$(BIN_DIR)/%.d : %.c\n\t$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@\n\n$(BIN_DIR)/%.d : %.cpp\n\t$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@\n\n$(BIN_DIR)/%.o : %.s\n\t$(AS) $(ASFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.c\n\t$(CC) $(CFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.cpp\n\t$(CPP) $(CPPFLAGS) $< -o $@\n\n# include dependency files only if our goal depends on their existence\nifneq ($(MAKECMDGOALS),clean)\n  ifneq ($(MAKECMDGOALS),show)\n-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)\n  endif\nendif\n\n\n.PHONY : clean\nclean:\n\t-$(RM) $(BIN_DIR)/*.o \\\n\t$(BIN_DIR)/*.d \\\n\t$(BIN_DIR)/*.bin \\\n\t$(BIN_DIR)/*.elf \\\n\t$(BIN_DIR)/*.map\n\t\nshow:\n\t@echo PROJECT = $(PROJECT)\n\t@echo CONF = $(CONF)\n\t@echo DEFINES = $(DEFINES)\n\t@echo ASM_FPU = $(ASM_FPU)\n\t@echo ASM_SRCS = $(ASM_SRCS)\n\t@echo C_SRCS = $(C_SRCS)\n\t@echo CPP_SRCS = $(CPP_SRCS)\n\t@echo ASM_OBJS_EXT = $(ASM_OBJS_EXT)\n\t@echo C_OBJS_EXT = $(C_OBJS_EXT)\n\t@echo C_DEPS_EXT = $(C_DEPS_EXT)\n\t@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)\n\t@echo TARGET_ELF = $(TARGET_ELF)\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/qk/gnu/dpp-qk.ld",
    "content": "/*****************************************************************************\n* Product: Linker script for for STM32L053R8, GNU-ARM linker\n* Last Updated for Version: 5.9.8\n* Date of the Last Update:  2017-09-13\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <http://www.gnu.org/licenses/>.\n*\n* Contact information:\n* https://state-machine.com\n* mailto:info@state-machine.com\n*****************************************************************************/\nOUTPUT_FORMAT(\"elf32-littlearm\", \"elf32-bigarm\", \"elf32-littlearm\")\nOUTPUT_ARCH(arm)\nENTRY(Reset_Handler) /* entry Point */\n\nMEMORY { /* memory map of STM32L053R8 */\n    ROM (rx)  : ORIGIN = 0x08000000, LENGTH = 64K\n    RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 8K\n}\n\n/* The size of the stack used by the application. NOTE: you need to adjust  */\nSTACK_SIZE = 1024;\n\n/* The size of the heap used by the application. NOTE: you need to adjust   */\nHEAP_SIZE = 0;\n\nSECTIONS {\n\n    .isr_vector : {        /* the vector table goes FIRST into ROM */\n        KEEP(*(.isr_vector)) /* vector table */\n        . = ALIGN(4);\n    } >ROM\n\n    .text : {              /* code and constants */\n        . = ALIGN(4);\n        *(.text)           /* .text sections (code) */\n        *(.text*)          /* .text* sections (code) */\n        *(.rodata)         /* .rodata sections (constants, strings, etc.) */\n        *(.rodata*)        /* .rodata* sections (constants, strings, etc.) */\n\n        KEEP (*(.init))\n        KEEP (*(.fini))\n\n        . = ALIGN(4);\n    } >ROM\n\n    .preinit_array : {\n        PROVIDE_HIDDEN (__preinit_array_start = .);\n        KEEP (*(.preinit_array*))\n        PROVIDE_HIDDEN (__preinit_array_end = .);\n    } >ROM\n\n    .init_array : {\n        PROVIDE_HIDDEN (__init_array_start = .);\n        KEEP (*(SORT(.init_array.*)))\n        KEEP (*(.init_array*))\n        PROVIDE_HIDDEN (__init_array_end = .);\n    } >ROM\n\n    .fini_array : {\n        PROVIDE_HIDDEN (__fini_array_start = .);\n        KEEP (*(.fini_array*))\n        KEEP (*(SORT(.fini_array.*)))\n        PROVIDE_HIDDEN (__fini_array_end = .);\n    } >ROM\n\n    _etext = .;            /* global symbols at end of code */\n\n    .stack : {\n        __stack_start__ = .;\n        . = . + STACK_SIZE;\n        . = ALIGN(4);\n        __stack_end__ = .;\n    } >RAM\n\n    .data :  AT (_etext) {\n        __data_load = LOADADDR (.data);\n        __data_start = .;\n        *(.data)           /* .data sections */\n        *(.data*)          /* .data* sections */\n        . = ALIGN(4);\n        __data_end__ = .;\n        _edata = __data_end__;\n    } >RAM\n\n    .bss : {\n        __bss_start__ = .;\n        *(.bss)\n        *(.bss*)\n        *(COMMON)\n        . = ALIGN(4);\n        _ebss = .;         /* define a global symbol at bss end */\n        __bss_end__ = .;\n    } >RAM\n\n    __exidx_start = .;\n    .ARM.exidx   : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } >RAM\n    __exidx_end = .;\n\n    PROVIDE ( end = _ebss );\n    PROVIDE ( _end = _ebss );\n    PROVIDE ( __end__ = _ebss );\n\n    .heap : {\n        __heap_start__ = .;\n        . = . + HEAP_SIZE;\n        . = ALIGN(4);\n        __heap_end__ = .;\n    } >RAM\n\n    /* Remove information from the standard libraries */\n    /DISCARD/ : {\n        libc.a ( * )\n        libm.a ( * )\n        libgcc.a ( * )\n    }\n}\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/qk/gnu/dpp-qk_nucleo-l053r8.elf.launch",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<launchConfiguration type=\"com.atollic.hardwaredebug.launch.launchConfigurationType\">\n<intAttribute key=\"com.atollic.hardwaredebug.launch.formatVersion\" value=\"2\"/>\n<stringAttribute key=\"com.atollic.hardwaredebug.launch.hwinitCommands\" value=\"# Initialize your hardware here&#10;\"/>\n<stringAttribute key=\"com.atollic.hardwaredebug.launch.initCommands\" value=\"\"/>\n<stringAttribute key=\"com.atollic.hardwaredebug.launch.ipAddress\" value=\"localhost\"/>\n<stringAttribute key=\"com.atollic.hardwaredebug.launch.jtagDevice\" value=\"ST-LINK\"/>\n<intAttribute key=\"com.atollic.hardwaredebug.launch.portNumber\" value=\"61234\"/>\n<stringAttribute key=\"com.atollic.hardwaredebug.launch.remoteCommand\" value=\"target extended-remote\"/>\n<stringAttribute key=\"com.atollic.hardwaredebug.launch.runCommands\" value=\"# Set flash parallelism mode to 32, 16, or 8 bit when using STM32 F2/F4 microcontrollers&#10;# Uncomment next line, 2=32 bit, 1=16 bit and 0=8 bit parallelism mode&#10;#monitor flash set_parallelism_mode 2&#10;&#10;# Set character encoding&#10;set host-charset CP1252&#10;set target-charset CP1252&#10;&#10;# Reset to known state&#10;monitor reset&#10;&#10;# Load the program executable&#10;load&#9;&#9;&#10;&#10;# Reset the chip to get to a known state. Remove &quot;monitor reset&quot; command &#10;#  if the code is not located at default address and does not run by reset. &#10;monitor reset&#10;&#10;# Enable Debug connection in low power modes (DBGMCU-&gt;CR)&#10;set *0xE0042004 = (*0xE0042004) | 0x7&#10;&#10;# Set a breakpoint at main().&#10;tbreak main&#10;&#10;# Run to the breakpoint.&#10;continue\"/>\n<stringAttribute key=\"com.atollic.hardwaredebug.launch.serverParam\" value=\"-p 61234 -l 1 -d -s\"/>\n<booleanAttribute key=\"com.atollic.hardwaredebug.launch.startServer\" value=\"true\"/>\n<booleanAttribute key=\"com.atollic.hardwaredebug.launch.swd_mode\" value=\"true\"/>\n<stringAttribute key=\"com.atollic.hardwaredebug.launch.swv_port\" value=\"61235\"/>\n<stringAttribute key=\"com.atollic.hardwaredebug.launch.swv_trace_div\" value=\"32\"/>\n<stringAttribute key=\"com.atollic.hardwaredebug.launch.swv_trace_hclk\" value=\"32000000\"/>\n<booleanAttribute key=\"com.atollic.hardwaredebug.launch.swv_wait_for_sync\" value=\"true\"/>\n<intAttribute key=\"com.atollic.hardwaredebug.launch.trace_system\" value=\"0\"/>\n<booleanAttribute key=\"com.atollic.hardwaredebug.launch.useRemoteTarget\" value=\"true\"/>\n<booleanAttribute key=\"com.atollic.hardwaredebug.launch.verify_flash_download\" value=\"true\"/>\n<booleanAttribute key=\"com.atollic.hardwaredebug.stlink.enable_logging\" value=\"false\"/>\n<stringAttribute key=\"com.atollic.hardwaredebug.stlink.log_file\" value=\"C:\\qp_lab\\qpn\\examples\\arm-cm\\dpp_nucleo-l053r8\\qk\\gnu\\Debug\\st-link_gdbserver_log.txt\"/>\n<booleanAttribute key=\"com.atollic.hardwaredebug.stlink.stlink_check_serial_number\" value=\"false\"/>\n<stringAttribute key=\"com.atollic.hardwaredebug.stlink.stlink_txt_serial_number\" value=\"\"/>\n<stringAttribute key=\"org.eclipse.cdt.dsf.gdb.DEBUG_NAME\" value=\"${TOOLCHAIN_PATH}/arm-atollic-eabi-gdb\"/>\n<intAttribute key=\"org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR\" value=\"2\"/>\n<stringAttribute key=\"org.eclipse.cdt.launch.DEBUGGER_REGISTER_GROUPS\" value=\"\"/>\n<stringAttribute key=\"org.eclipse.cdt.launch.PROGRAM_NAME\" value=\"Release/dpp-qk_nucleo-l053r8.elf\"/>\n<stringAttribute key=\"org.eclipse.cdt.launch.PROJECT_ATTR\" value=\"dpp-qk_nucleo-l053r8\"/>\n<booleanAttribute key=\"org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR\" value=\"false\"/>\n<stringAttribute key=\"org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR\" value=\"\"/>\n<listAttribute key=\"org.eclipse.debug.core.MAPPED_RESOURCE_PATHS\">\n<listEntry value=\"/dpp-qk_nucleo-l053r8\"/>\n</listAttribute>\n<listAttribute key=\"org.eclipse.debug.core.MAPPED_RESOURCE_TYPES\">\n<listEntry value=\"4\"/>\n</listAttribute>\n<stringAttribute key=\"org.eclipse.dsf.launch.MEMORY_BLOCKS\" value=\"&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;memoryBlockExpressionList context=&quot;reserved-for-future-use&quot;/&gt;&#13;&#10;\"/>\n<stringAttribute key=\"process_factory_id\" value=\"org.eclipse.cdt.dsf.gdb.GdbProcessFactory\"/>\n</launchConfiguration>\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/qk/gnu/stm32_flash.ld",
    "content": "/*\n******************************************************************************\nFile:     stm32_flash.ld\nInfo:     Generated by Atollic TrueSTUDIO(R) 9.0.0   2018-02-14\n\nAbstract: Linker script for STM32L053R8 device\n          Set heap size, stack size, stack location, memory areas and\n          sections according to application requirements.\n\nThe MIT License (MIT)\nCopyright (c) 2018 STMicroelectronics\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n******************************************************************************\n*/\n\n/* Entry Point */\nENTRY(Reset_Handler)\n\n/* Highest address of the user mode stack */\n_estack = 0x20002000;    /* end of 8K RAM */\n\n/* Generate a link error if heap and stack don't fit into RAM */\n_Min_Heap_Size = 0;      /* required amount of heap  */\n_Min_Stack_Size = 0x80; /* required amount of stack */\n\n/* Specify the memory areas */\nMEMORY\n{\n  FLASH (rx)      : ORIGIN = 0x08000000, LENGTH = 64K\n  RAM (xrw)       : ORIGIN = 0x20000000, LENGTH = 8K\n  MEMORY_B1 (rx)  : ORIGIN = 0x60000000, LENGTH = 0K\n}\n\n/* Define output sections */\nSECTIONS\n{\n  /* The startup code goes first into FLASH */\n  .isr_vector :\n  {\n    . = ALIGN(4);\n    KEEP(*(.isr_vector)) /* Startup code */\n    . = ALIGN(4);\n  } >FLASH\n\n  /* The program code and other data goes into FLASH */\n  .text :\n  {\n    . = ALIGN(4);\n    *(.text)           /* .text sections (code) */\n    *(.text*)          /* .text* sections (code) */\n    *(.glue_7)         /* glue arm to thumb code */\n    *(.glue_7t)        /* glue thumb to arm code */\n    *(.eh_frame)\n\n    KEEP (*(.init))\n    KEEP (*(.fini))\n\n    . = ALIGN(4);\n    _etext = .;        /* define a global symbols at end of code */\n  } >FLASH\n\n  /* Constant data goes into FLASH */\n  .rodata :\n  {\n    . = ALIGN(4);\n    *(.rodata)         /* .rodata sections (constants, strings, etc.) */\n    *(.rodata*)        /* .rodata* sections (constants, strings, etc.) */\n    . = ALIGN(4);\n  } >FLASH\n\n  .ARM.extab   : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH\n  .ARM : {\n    __exidx_start = .;\n    *(.ARM.exidx*)\n    __exidx_end = .;\n  } >FLASH\n\n  .preinit_array     :\n  {\n    PROVIDE_HIDDEN (__preinit_array_start = .);\n    KEEP (*(.preinit_array*))\n    PROVIDE_HIDDEN (__preinit_array_end = .);\n  } >FLASH\n  .init_array :\n  {\n    PROVIDE_HIDDEN (__init_array_start = .);\n    KEEP (*(SORT(.init_array.*)))\n    KEEP (*(.init_array*))\n    PROVIDE_HIDDEN (__init_array_end = .);\n  } >FLASH\n  .fini_array :\n  {\n    PROVIDE_HIDDEN (__fini_array_start = .);\n    KEEP (*(SORT(.fini_array.*)))\n    KEEP (*(.fini_array*))\n    PROVIDE_HIDDEN (__fini_array_end = .);\n  } >FLASH\n\n  /* used by the startup to initialize data */\n  _sidata = LOADADDR(.data);\n\n  /* Initialized data sections goes into RAM, load LMA copy after code */\n  .data :\n  {\n    . = ALIGN(4);\n    _sdata = .;        /* create a global symbol at data start */\n    *(.data)           /* .data sections */\n    *(.data*)          /* .data* sections */\n\n    . = ALIGN(4);\n    _edata = .;        /* define a global symbol at data end */\n  } >RAM AT> FLASH\n\n  /* Uninitialized data section */\n  . = ALIGN(4);\n  .bss :\n  {\n    /* This is used by the startup in order to initialize the .bss secion */\n    _sbss = .;         /* define a global symbol at bss start */\n    __bss_start__ = _sbss;\n    *(.bss)\n    *(.bss*)\n    *(COMMON)\n\n    . = ALIGN(4);\n    _ebss = .;         /* define a global symbol at bss end */\n    __bss_end__ = _ebss;\n  } >RAM\n\n  /* User_heap_stack section, used to check that there is enough RAM left */\n  ._user_heap_stack :\n  {\n    . = ALIGN(4);\n    PROVIDE ( end = . );\n    PROVIDE ( _end = . );\n    . = . + _Min_Heap_Size;\n    . = . + _Min_Stack_Size;\n    . = ALIGN(4);\n  } >RAM\n\n  /* MEMORY_bank1 section, code must be located here explicitly            */\n  /* Example: extern int foo(void) __attribute__ ((section (\".mb1text\"))); */\n  .memory_b1_text :\n  {\n    *(.mb1text)        /* .mb1text sections (code) */\n    *(.mb1text*)       /* .mb1text* sections (code)  */\n    *(.mb1rodata)      /* read-only data (constants) */\n    *(.mb1rodata*)\n  } >MEMORY_B1\n\n  /* Remove information from the standard libraries */\n  /DISCARD/ :\n  {\n    libc.a ( * )\n    libm.a ( * )\n    libgcc.a ( * )\n  }\n\n  .ARM.attributes 0 : { *(.ARM.attributes) }\n}\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/qk/iar/dpp-qk.ewd",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project>\n    <fileVersion>3</fileVersion>\n    <configuration>\n        <name>Debug</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>1</debug>\n        <settings>\n            <name>C-SPY</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCVariant</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>MemOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MemFile</name>\n                    <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\ST\\STM32L053R8.ddf</state>\n                </option>\n                <option>\n                    <name>RunToEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RunToName</name>\n                    <state>main</state>\n                </option>\n                <option>\n                    <name>CExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDDFArgumentProducer</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadSuppressDownload</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDownloadVerifyAll</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCProductVersion</name>\n                    <state>7.40.2.8567</state>\n                </option>\n                <option>\n                    <name>OCDynDriverList</name>\n                    <state>STLINK_ID</state>\n                </option>\n                <option>\n                    <name>OCLastSavedByProductVersion</name>\n                    <state>8.11.1.13270</state>\n                </option>\n                <option>\n                    <name>UseFlashLoader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CLowLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CDevice</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>FlashLoadersV3</name>\n                    <state>$TOOLKIT_DIR$\\config\\flashloader\\ST\\FlashSTM32L0xxx8.board</state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OverrideDefFlashBoard</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesOffset1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesUse1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDeviceConfigMacroFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDebuggerExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAllMTBOptions</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreNrOfCores</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreMaster</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCMulticorePort</name>\n                    <state>53461</state>\n                </option>\n                <option>\n                    <name>OCMulticoreWorkspace</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveProject</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveConfiguration</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadExtraImage</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAttachSlave</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ARMSIM_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCSimDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCSimEnablePSP</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspOverrideConfig</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspConfigFile</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CADI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCadiMemory</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Fast Model</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCADILogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCADILogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CMSISDAP_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CMSISDAPResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>CMSISDAPDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CMSISDAPProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>GDBSERVER_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJTagBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IJET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>8</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>IjetPowerFromProbe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPowerRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetProtocolRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPin</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPrescalerList</name>\n                    <version>1</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IjetProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPreferETB</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetTraceSettingsList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetTraceSizeList</name>\n                    <version>0</version>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>FlashBoardPathSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>JLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>16</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>JLinkSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJLinkHWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>JLinkInitialSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCDoJlinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkCommRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>CCJLinkSpeedRadioV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCUSBDevice</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkResetList</name>\n                    <version>6</version>\n                    <state>5</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCTcpIpAlt</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTcpIpSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSourceDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkDeviceName</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>LMIFTDI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>2</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>LmiftdiSpeed</name>\n                    <state>500</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>PEMICRO_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>3</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJPEMicroShowSettings</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>STLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceRadio</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkResetList</name>\n                    <version>3</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDAPNumber</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkDebugAccessPortRadio</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>THIRDPARTY_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CThirdPartyDriverDll</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>TIFET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVccTypeDefault</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVoltage</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CCMSPFetVCCDefault</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetSettlingtime</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioJtagSpeedType</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetConnection</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetUsbComPort</name>\n                    <state>Automatic</state>\n                </option>\n                <option>\n                    <name>CCMSPFetAllowAccessToBSL</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioEraseFlash</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>XDS100_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>6</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCXds100CatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TIPackageOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TIPackage</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>BoardFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCXds100BreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100DoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockEdit</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCXds100HWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100JtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ProbeList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPortRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPort</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <debuggerPlugins>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n                <loadFlag>1</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n        </debuggerPlugins>\n    </configuration>\n    <configuration>\n        <name>Release</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>0</debug>\n        <settings>\n            <name>C-SPY</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCVariant</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>MemOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MemFile</name>\n                    <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\ST\\STM32L053x8.ddf</state>\n                </option>\n                <option>\n                    <name>RunToEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RunToName</name>\n                    <state>main</state>\n                </option>\n                <option>\n                    <name>CExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDDFArgumentProducer</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadSuppressDownload</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDownloadVerifyAll</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCProductVersion</name>\n                    <state>7.40.2.8567</state>\n                </option>\n                <option>\n                    <name>OCDynDriverList</name>\n                    <state>STLINK_ID</state>\n                </option>\n                <option>\n                    <name>OCLastSavedByProductVersion</name>\n                    <state>7.40.2.8567</state>\n                </option>\n                <option>\n                    <name>UseFlashLoader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CLowLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CDevice</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>FlashLoadersV3</name>\n                    <state>$TOOLKIT_DIR$\\config\\flashloader\\ST\\FlashSTM32L0xxx8.board</state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OverrideDefFlashBoard</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesOffset1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesUse1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDeviceConfigMacroFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDebuggerExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAllMTBOptions</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreNrOfCores</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreMaster</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCMulticorePort</name>\n                    <state>53461</state>\n                </option>\n                <option>\n                    <name>OCMulticoreWorkspace</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveProject</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveConfiguration</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadExtraImage</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAttachSlave</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ARMSIM_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCSimDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCSimEnablePSP</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspOverrideConfig</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspConfigFile</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CADI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCadiMemory</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Fast Model</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCADILogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCADILogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CMSISDAP_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CMSISDAPResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>CMSISDAPDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CMSISDAPProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>GDBSERVER_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJTagBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IJET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>8</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>IjetPowerFromProbe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPowerRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetProtocolRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPin</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPrescalerList</name>\n                    <version>1</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IjetProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPreferETB</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetTraceSettingsList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetTraceSizeList</name>\n                    <version>0</version>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>FlashBoardPathSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>JLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>16</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>JLinkSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJLinkHWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>JLinkInitialSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCDoJlinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkCommRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>CCJLinkSpeedRadioV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCUSBDevice</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkResetList</name>\n                    <version>6</version>\n                    <state>5</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCTcpIpAlt</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTcpIpSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSourceDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkDeviceName</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>LMIFTDI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>2</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>LmiftdiSpeed</name>\n                    <state>500</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>PEMICRO_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>3</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJPEMicroShowSettings</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>STLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceRadio</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkResetList</name>\n                    <version>3</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDAPNumber</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkDebugAccessPortRadio</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>THIRDPARTY_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CThirdPartyDriverDll</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>TIFET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVccTypeDefault</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVoltage</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CCMSPFetVCCDefault</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetSettlingtime</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioJtagSpeedType</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetConnection</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetUsbComPort</name>\n                    <state>Automatic</state>\n                </option>\n                <option>\n                    <name>CCMSPFetAllowAccessToBSL</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioEraseFlash</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>XDS100_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>6</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCXds100CatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TIPackageOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TIPackage</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>BoardFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCXds100BreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100DoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockEdit</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCXds100HWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100JtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ProbeList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPortRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPort</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <debuggerPlugins>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n                <loadFlag>1</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n        </debuggerPlugins>\n    </configuration>\n</project>\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/qk/iar/dpp-qk.ewp",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project>\n    <fileVersion>3</fileVersion>\n    <configuration>\n        <name>Debug</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>1</debug>\n        <settings>\n            <name>General</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>ExePath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>ObjPath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>ListPath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>GEndianMode</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>Input description</name>\n                    <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n                </option>\n                <option>\n                    <name>Output description</name>\n                    <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n                </option>\n                <option>\n                    <name>GOutputBinary</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCoreOrChip</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelect</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelectSlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RTDescription</name>\n                    <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n                </option>\n                <option>\n                    <name>OGProductVersion</name>\n                    <state>5.11.0.50579</state>\n                </option>\n                <option>\n                    <name>OGLastSavedByProductVersion</name>\n                    <state>8.11.1.13270</state>\n                </option>\n                <option>\n                    <name>GeneralEnableMisra</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVerbose</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGChipSelectEditMenu</name>\n                    <state>STM32L053R8\tST STM32L053R8</state>\n                </option>\n                <option>\n                    <name>GenLowLevelInterface</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GEndianModeBE</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OGBufferedTerminalOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenStdoutInterface</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>RTConfigPath2</name>\n                    <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n                </option>\n                <option>\n                    <name>GBECoreSlave</name>\n                    <version>25</version>\n                    <state>35</state>\n                </option>\n                <option>\n                    <name>OGUseCmsis</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsisDspLib</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibThreads</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CoreVariant</name>\n                    <version>25</version>\n                    <state>35</state>\n                </option>\n                <option>\n                    <name>GFPUDeviceSlave</name>\n                    <state>STM32L053R8\tST STM32L053R8</state>\n                </option>\n                <option>\n                    <name>FPU2</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>NrRegs</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>NEON</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUCoreSlave2</name>\n                    <version>25</version>\n                    <state>35</state>\n                </option>\n                <option>\n                    <name>OGCMSISPackSelectDevice</name>\n                </option>\n                <option>\n                    <name>OgLibHeap</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGLibAdditionalLocale</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGPrintfVariant</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>OGPrintfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGScanfVariant</name>\n                    <version>0</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OGScanfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenLocaleTags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>GenLocaleDisplayOnly</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ICCARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>34</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCOptimizationNoSizeConstraints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCPreprocFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocComments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMnemonics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMessages</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDiagSuppress</name>\n                    <state>Pa050</state>\n                </option>\n                <option>\n                    <name>CCDiagRemark</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagWarning</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagError</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCAllowList</name>\n                    <version>1</version>\n                    <state>00000000</state>\n                </option>\n                <option>\n                    <name>CCDebugInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IEndianMode</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCLangConformance</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSignedPlainChar</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRequirePrototypes</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCDiagWarnAreErr</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCompilerRuntimeInfo</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>CCLibConfigHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>PreInclude</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CompilerMisraOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIncludePath2</name>\n                    <state>$PROJ_DIR$\\..\\..</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\iar</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8</state>\n                </option>\n                <option>\n                    <name>CCStdIncCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCodeSection</name>\n                    <state>.text</state>\n                </option>\n                <option>\n                    <name>IProcessorMode2</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptStrategy</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevelSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>CCPosIndRopi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndRwpi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndNoDynInit</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccLang</name>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>IccCDialect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccAllowVLA</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccStaticDestr</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCppInlineSemantics</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccFloatSemantics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCOptStrategySlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCGuardCalls</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccExceptions2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccRTTI2</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>AARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>10</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>AObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>ACaseSensitivity</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacroChars</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnWhat</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnOne</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>ADebug</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AltRegisterNames</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ADefines</name>\n                    <state>ewarm</state>\n                </option>\n                <option>\n                    <name>AList</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AListHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AListing</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Includes</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacDefs</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacExps</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacExec</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OnlyAssed</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MultiLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLengthCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLength</name>\n                    <state>80</state>\n                </option>\n                <option>\n                    <name>TabSpacing</name>\n                    <state>8</state>\n                </option>\n                <option>\n                    <name>AXRef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDefines</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefInternal</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDual</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AOutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsEdit</name>\n                    <state>100</state>\n                </option>\n                <option>\n                    <name>AIgnoreStdInclude</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AUserIncludes</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AExtraOptionsCheckV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AExtraOptionsV2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AsmNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>OBJCOPY</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OOCOutputFormat</name>\n                    <version>3</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OCOutputOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OOCOutputFile</name>\n                    <state>dpp-qk.bin</state>\n                </option>\n                <option>\n                    <name>OOCCommandLineProducer</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OOCObjCopyEnable</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CUSTOM</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <extensions></extensions>\n                <cmdline></cmdline>\n                <hasPrio>0</hasPrio>\n            </data>\n        </settings>\n        <settings>\n            <name>BICOMP</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>BUILDACTION</name>\n            <archiveVersion>1</archiveVersion>\n            <data>\n                <prebuild></prebuild>\n                <postbuild></postbuild>\n            </data>\n        </settings>\n        <settings>\n            <name>ILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>20</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>IlinkLibIOConfig</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>XLinkMisraHandler</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkInputFileSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOutputFile</name>\n                    <state>dpp-qk.out</state>\n                </option>\n                <option>\n                    <name>IlinkDebugInfoEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkKeepSymbols</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkConfigDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkMapFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogInitialization</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogModule</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogSection</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogVeneer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfOverride</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile</name>\n                    <state>$PROJ_DIR$\\dpp-qk.icf</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFileSlave</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkSuppressDiags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsRem</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsWarn</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsErr</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkWarningsAreErrors</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkUseExtraOptions</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkLowLevelInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAutoLibEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAdditionalLibs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkOverrideProgramEntryLabel</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabelSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabel</name>\n                    <state>__iar_program_start</state>\n                </option>\n                <option>\n                    <name>DoFill</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>FillerByte</name>\n                    <state>0xFF</state>\n                </option>\n                <option>\n                    <name>FillerStart</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>FillerEnd</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>CrcSize</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcAlign</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcPoly</name>\n                    <state>0x11021</state>\n                </option>\n                <option>\n                    <name>CrcCompl</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcBitOrder</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcInitialValue</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>DoCrc</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkBufferedTerminalOutput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkStdoutInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcFullSize</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIElfToolPostProcess</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogAutoLibSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogRedirSymbols</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogUnusedFragments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcReverseByteOrder</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcUseAsInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptInline</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsAllow</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsForce</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptMergeDuplSections</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptUseVfe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptForceVfe</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackAnalysisEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackControlFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkStackCallGraphFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CrcAlgorithm</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcUnitSize</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkThreadsSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogCallGraph</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile_AltDefault</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkHeapSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLocaleSelect</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IARCHIVE</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>IarchiveInputs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IarchiveOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IarchiveOutput</name>\n                    <state>###Unitialized###</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>BILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>Coder</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n    </configuration>\n    <configuration>\n        <name>Release</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>0</debug>\n        <settings>\n            <name>General</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>ExePath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>ObjPath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>ListPath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>GEndianMode</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>Input description</name>\n                    <state>No specifier n, no float nor long long, no scan set, no assignment suppressing, without multibyte support.</state>\n                </option>\n                <option>\n                    <name>Output description</name>\n                    <state>No specifier a, A, no specifier n, no float nor long long, no flags, without multibyte support.</state>\n                </option>\n                <option>\n                    <name>GOutputBinary</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCoreOrChip</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelect</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelectSlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RTDescription</name>\n                    <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n                </option>\n                <option>\n                    <name>OGProductVersion</name>\n                    <state>5.11.0.50579</state>\n                </option>\n                <option>\n                    <name>OGLastSavedByProductVersion</name>\n                    <state>8.11.1.13270</state>\n                </option>\n                <option>\n                    <name>GeneralEnableMisra</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVerbose</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGChipSelectEditMenu</name>\n                    <state>STM32L053R8\tST STM32L053R8</state>\n                </option>\n                <option>\n                    <name>GenLowLevelInterface</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GEndianModeBE</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OGBufferedTerminalOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenStdoutInterface</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>RTConfigPath2</name>\n                    <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n                </option>\n                <option>\n                    <name>GBECoreSlave</name>\n                    <version>25</version>\n                    <state>35</state>\n                </option>\n                <option>\n                    <name>OGUseCmsis</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsisDspLib</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibThreads</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CoreVariant</name>\n                    <version>25</version>\n                    <state>35</state>\n                </option>\n                <option>\n                    <name>GFPUDeviceSlave</name>\n                    <state>STM32L053R8\tST STM32L053R8</state>\n                </option>\n                <option>\n                    <name>FPU2</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>NrRegs</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>NEON</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUCoreSlave2</name>\n                    <version>25</version>\n                    <state>35</state>\n                </option>\n                <option>\n                    <name>OGCMSISPackSelectDevice</name>\n                </option>\n                <option>\n                    <name>OgLibHeap</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGLibAdditionalLocale</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGPrintfVariant</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>OGPrintfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGScanfVariant</name>\n                    <version>0</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OGScanfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenLocaleTags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>GenLocaleDisplayOnly</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ICCARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>34</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCOptimizationNoSizeConstraints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDefines</name>\n                    <state>NDEBUG</state>\n                </option>\n                <option>\n                    <name>CCPreprocFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocComments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMnemonics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMessages</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDiagSuppress</name>\n                    <state>Pa050</state>\n                </option>\n                <option>\n                    <name>CCDiagRemark</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagWarning</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagError</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCAllowList</name>\n                    <version>1</version>\n                    <state>11111110</state>\n                </option>\n                <option>\n                    <name>CCDebugInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IEndianMode</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCLangConformance</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSignedPlainChar</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRequirePrototypes</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCDiagWarnAreErr</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCompilerRuntimeInfo</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>CCLibConfigHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>PreInclude</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CompilerMisraOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIncludePath2</name>\n                    <state>$PROJ_DIR$\\..\\..</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\iar</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8</state>\n                </option>\n                <option>\n                    <name>CCStdIncCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCodeSection</name>\n                    <state>.text</state>\n                </option>\n                <option>\n                    <name>IProcessorMode2</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevel</name>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>CCOptStrategy</name>\n                    <version>0</version>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>CCOptLevelSlave</name>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>CCPosIndRopi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndRwpi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndNoDynInit</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccLang</name>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>IccCDialect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccAllowVLA</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccStaticDestr</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCppInlineSemantics</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccFloatSemantics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCOptStrategySlave</name>\n                    <version>0</version>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>CCGuardCalls</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccExceptions2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccRTTI2</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>AARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>10</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>AObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>ACaseSensitivity</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacroChars</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnWhat</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnOne</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>ADebug</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AltRegisterNames</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ADefines</name>\n                    <state>ewarm</state>\n                </option>\n                <option>\n                    <name>AList</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AListHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AListing</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Includes</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacDefs</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacExps</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacExec</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OnlyAssed</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MultiLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLengthCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLength</name>\n                    <state>80</state>\n                </option>\n                <option>\n                    <name>TabSpacing</name>\n                    <state>8</state>\n                </option>\n                <option>\n                    <name>AXRef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDefines</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefInternal</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDual</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AOutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsEdit</name>\n                    <state>100</state>\n                </option>\n                <option>\n                    <name>AIgnoreStdInclude</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AUserIncludes</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AExtraOptionsCheckV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AExtraOptionsV2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AsmNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>OBJCOPY</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OOCOutputFormat</name>\n                    <version>3</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OCOutputOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OOCOutputFile</name>\n                    <state>dpp-qk.bin</state>\n                </option>\n                <option>\n                    <name>OOCCommandLineProducer</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OOCObjCopyEnable</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CUSTOM</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <extensions></extensions>\n                <cmdline></cmdline>\n                <hasPrio>0</hasPrio>\n            </data>\n        </settings>\n        <settings>\n            <name>BICOMP</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>BUILDACTION</name>\n            <archiveVersion>1</archiveVersion>\n            <data>\n                <prebuild></prebuild>\n                <postbuild></postbuild>\n            </data>\n        </settings>\n        <settings>\n            <name>ILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>20</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>IlinkLibIOConfig</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>XLinkMisraHandler</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkInputFileSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOutputFile</name>\n                    <state>dpp-qk.out</state>\n                </option>\n                <option>\n                    <name>IlinkDebugInfoEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkKeepSymbols</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkConfigDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkMapFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogInitialization</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogModule</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogSection</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogVeneer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfOverride</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile</name>\n                    <state>$PROJ_DIR$\\dpp-qk.icf</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFileSlave</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkSuppressDiags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsRem</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsWarn</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsErr</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkWarningsAreErrors</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkUseExtraOptions</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkLowLevelInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAutoLibEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAdditionalLibs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkOverrideProgramEntryLabel</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabelSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabel</name>\n                    <state>__iar_program_start</state>\n                </option>\n                <option>\n                    <name>DoFill</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>FillerByte</name>\n                    <state>0xFF</state>\n                </option>\n                <option>\n                    <name>FillerStart</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>FillerEnd</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>CrcSize</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcAlign</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcPoly</name>\n                    <state>0x11021</state>\n                </option>\n                <option>\n                    <name>CrcCompl</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcBitOrder</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcInitialValue</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>DoCrc</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkBufferedTerminalOutput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkStdoutInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcFullSize</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIElfToolPostProcess</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogAutoLibSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogRedirSymbols</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogUnusedFragments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcReverseByteOrder</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcUseAsInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptInline</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsAllow</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsForce</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptMergeDuplSections</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptUseVfe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptForceVfe</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackAnalysisEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackControlFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkStackCallGraphFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CrcAlgorithm</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcUnitSize</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkThreadsSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogCallGraph</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile_AltDefault</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkHeapSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLocaleSelect</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IARCHIVE</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>IarchiveInputs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IarchiveOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IarchiveOutput</name>\n                    <state>###Unitialized###</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>BILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>Coder</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n    </configuration>\n    <group>\n        <name>Application</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\bsp.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\bsp.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\dpp.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\main.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\philo.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\table.c</name>\n        </file>\n    </group>\n    <group>\n        <name>nucleo-l053r8</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\iar\\startup_stm32l053xx.s</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\stm32l053xx.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\stm32l0xx.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\system_stm32l0xx.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\system_stm32l0xx.h</name>\n        </file>\n    </group>\n    <group>\n        <name>QP</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qepn.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qfn.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qkn\\qkn.c</name>\n        </file>\n    </group>\n    <group>\n        <name>QP_port</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\iar\\qfn_port.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\iar\\qkn_port.c</name>\n        </file>\n    </group>\n</project>\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/qk/iar/dpp-qk.eww",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<workspace>\n  <project>\n    <path>$WS_DIR$\\dpp-qk.ewp</path>\n  </project>\n  <batchBuild/>\n</workspace>\n\n\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/qk/iar/dpp-qk.icf",
    "content": "/*###ICF### Section handled by ICF editor, don't touch! ****/\n/*-Editor annotation file-*/\n/* IcfEditorFile=\"$TOOLKIT_DIR$\\config\\ide\\IcfEditor\\cortex_v1_0.xml\" */\n/*-Specials-*/\ndefine symbol __ICFEDIT_intvec_start__ = 0x08000000;\n/*-Memory Regions-*/\ndefine symbol __ICFEDIT_region_ROM_start__ = 0x08000000;\ndefine symbol __ICFEDIT_region_ROM_end__   = 0x0800FFFF;\ndefine symbol __ICFEDIT_region_RAM_start__ = 0x20000000;\ndefine symbol __ICFEDIT_region_RAM_end__   = 0x20001FFF;\n/*-Sizes-*/\ndefine symbol __ICFEDIT_size_cstack__ = 1024;\ndefine symbol __ICFEDIT_size_heap__   = 0;\n/**** End of ICF editor section. ###ICF###*/\n\ndefine memory mem with size = 4G;\ndefine region ROM_region   = mem:[from __ICFEDIT_region_ROM_start__   to __ICFEDIT_region_ROM_end__];\ndefine region RAM_region   = mem:[from __ICFEDIT_region_RAM_start__   to __ICFEDIT_region_RAM_end__];\n\ndefine block CSTACK    with alignment = 8, size = __ICFEDIT_size_cstack__   { };\ndefine block HEAP      with alignment = 8, size = __ICFEDIT_size_heap__     { };\n\ninitialize by copy { readwrite };\ndo not initialize  { section .noinit };\n\nplace at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };\n\nplace in ROM_region   { readonly };\nplace in RAM_region   { readwrite,\n                        block CSTACK, block HEAP };\n\ndefine symbol __region_EEPROM_start__ = 0x08080000;\ndefine symbol __region_EEPROM_end__   = 0x080807FF;\ndefine region EEPROM_region = mem:[from __region_EEPROM_start__   to __region_EEPROM_end__];\n\nplace in EEPROM_region  { section .eeprom };\n                        "
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/qpn_conf.h",
    "content": "/*****************************************************************************\n* Product: QP-nano configuration for the Blinky example\n* Last Updated for Version: 6.1.1\n* Date of the Last Update:  2018-02-18\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef QPN_CONF_H\n#define QPN_CONF_H\n\n#define Q_PARAM_SIZE            4U\n#define QF_MAX_TICK_RATE        1U\n#define QF_TIMEEVT_CTR_SIZE     2U\n#define QF_TIMEEVT_PERIODIC\n#define QK_ON_CONTEXT_SW\n\n#endif  /* QPN_CONF_H */\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/qv/armclang/README.txt",
    "content": "About this Example\n==================\nThis example demonstrates how to use the uVision IDE together with\nthe MDK-ARM toolchain.\n\n***\nNOTE: This example requires installing the following Software Pack\nin the Keil uVision: Keil::STM32L0xx_DFP.\n***\n\n\nuVision Project File\n====================\nThe MDK-ARM uVision project file provided with this example uses\nrelative paths to the QP/C framework location (includes, port, and\nlibraries. These relative paths must be modified when the project\nis moved to different relative location.\n\n\nAdjusting Stack and Heap Sizes\n==============================\nThe stack and heap sizes are determined in this project by the\ncommand-line options for the ARM assembler (see the Asm tab in\nthe \"Options for Target\" dialog box in uVision). Specifically,\nyou should define symbols: Stack_Size=xxx Heap_Size=yyy, where\nxxx represents a numerical value of stack size and yyy the\nnumberical value of the heap size.\n\n\nStartup Code\n============\nThe startup code for the STM32L1xx MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\nucleo-l053r8\\arm\\startup_stm32l053xx.s\n\nThe file startup_stm32l053xx.s provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n\n\nAdjusting the CPU Clock Speed\n=============================\nThe current setting is to run at 2MHz from the MSI (internal oscillator),\nbut the CPU clock speed can be modified by editing the file\nsystem_stm32l1xx.c. Ther file system_stm32l0xx.c.pll provides an example\nof clock setting using the PLL driven from the MSE.\n\n***\nNOTE:\nThe NUCLEO boards have a wide range of possible clock selections, depending\non the solder bridge configuration. Please see Chapter 5.7 \"OSC clock\" in\nthe STM32 NUCLEO Boards User Manual (ST document UM1724) for more information.\n***\n\n  "
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/qv/armclang/dpp-qv.uvoptx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<ProjectOpt xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_optx.xsd\">\n\n  <SchemaVersion>1.0</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Extensions>\n    <cExt>*.c</cExt>\n    <aExt>*.s*; *.src; *.a*</aExt>\n    <oExt>*.obj; *.o</oExt>\n    <lExt>*.lib</lExt>\n    <tExt>*.txt; *.h; *.inc</tExt>\n    <pExt>*.plm</pExt>\n    <CppX>*.cpp</CppX>\n    <nMigrate>0</nMigrate>\n  </Extensions>\n\n  <DaveTm>\n    <dwLowDateTime>0</dwLowDateTime>\n    <dwHighDateTime>0</dwHighDateTime>\n  </DaveTm>\n\n  <Target>\n    <TargetName>dpp-dbg</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>0</RunSim>\n        <RunTarget>1</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\dbg\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>1</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>18</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>1</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>5</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>STLink\\ST-LINKIII-KEIL_SWO.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L0xx_64 -FS08000000 -FL010000 -FP0($$Device:STM32L053R8Tx$CMSIS\\Flash\\STM32L0xx_64.FLM))</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ST-LINKIII-KEIL_SWO</Key>\n          <Name>-U066CFF484951775087074312 -O8431 -SF480 -C0 -A0 -I0 -HNlocalhost -HP7184 -P2 -N00(\"ARM CoreSight SW-DP\") -D00(0BC11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC800 -FN1 -FF0STM32L0xx_64.FLM -FS08000000 -FL010000 -FP0($$Device:STM32L053R8Tx$CMSIS\\Flash\\STM32L0xx_64.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGUARM</Key>\n          <Name>(105=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n      <DebugDescription>\n        <Enable>1</Enable>\n        <EnableFlashSeq>0</EnableFlashSeq>\n        <EnableLog>0</EnableLog>\n        <Protocol>2</Protocol>\n        <DbgClock>10000000</DbgClock>\n      </DebugDescription>\n    </TargetOption>\n  </Target>\n\n  <Target>\n    <TargetName>dpp-rel</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>0</RunSim>\n        <RunTarget>1</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\rel\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>0</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>18</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>1</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>5</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>STLink\\ST-LINKIII-KEIL_SWO.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L0xx_64 -FS08000000 -FL010000 -FP0($$Device:STM32L053R8Tx$CMSIS\\Flash\\STM32L0xx_64.FLM))</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ST-LINKIII-KEIL_SWO</Key>\n          <Name>-U066CFF484951775087074312 -O8431 -SF4000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P2 -N00(\"ARM CoreSight SW-DP\") -D00(0BC11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32L0xx_64.FLM -FS08000000 -FL010000 -FP0($$Device:STM32L053R8Tx$CMSIS\\Flash\\STM32L0xx_64.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGUARM</Key>\n          <Name>(105=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n      <DebugDescription>\n        <Enable>1</Enable>\n        <EnableFlashSeq>0</EnableFlashSeq>\n        <EnableLog>0</EnableLog>\n        <Protocol>2</Protocol>\n        <DbgClock>10000000</DbgClock>\n      </DebugDescription>\n    </TargetOption>\n  </Target>\n\n  <Group>\n    <GroupName>Source Code</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>1</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\bsp.c</PathWithFileName>\n      <FilenameWithoutPath>bsp.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>2</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\bsp.h</PathWithFileName>\n      <FilenameWithoutPath>bsp.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>3</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\dpp.h</PathWithFileName>\n      <FilenameWithoutPath>dpp.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>4</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\main.c</PathWithFileName>\n      <FilenameWithoutPath>main.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>5</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\philo.c</PathWithFileName>\n      <FilenameWithoutPath>philo.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>6</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\table.c</PathWithFileName>\n      <FilenameWithoutPath>table.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>nucleo-l053r8</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>7</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\stm32l0xx.h</PathWithFileName>\n      <FilenameWithoutPath>stm32l0xx.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>8</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\stm32l053xx.h</PathWithFileName>\n      <FilenameWithoutPath>stm32l053xx.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>9</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\system_stm32l0xx.c</PathWithFileName>\n      <FilenameWithoutPath>system_stm32l0xx.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>10</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\system_stm32l0xx.h</PathWithFileName>\n      <FilenameWithoutPath>system_stm32l0xx.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>11</FileNumber>\n      <FileType>2</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\arm\\startup_stm32l053xx.s</PathWithFileName>\n      <FilenameWithoutPath>startup_stm32l053xx.s</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>12</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</PathWithFileName>\n      <FilenameWithoutPath>qepn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>13</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</PathWithFileName>\n      <FilenameWithoutPath>qfn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>14</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qvn\\qvn.c</PathWithFileName>\n      <FilenameWithoutPath>qvn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP_port</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>15</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qfn_port.h</PathWithFileName>\n      <FilenameWithoutPath>qfn_port.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>16</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qvn_port.c</PathWithFileName>\n      <FilenameWithoutPath>qvn_port.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n</ProjectOpt>\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/qv/armclang/dpp-qv.uvprojx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<Project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_projx.xsd\">\n\n  <SchemaVersion>2.1</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Targets>\n    <Target>\n      <TargetName>dpp-dbg</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6130001::V6.13.1::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>STM32L053R8Tx</Device>\n          <Vendor>STMicroelectronics</Vendor>\n          <PackID>Keil.STM32L0xx_DFP.2.0.0</PackID>\n          <PackURL>http://www.keil.com/pack/</PackURL>\n          <Cpu>IRAM(0x20000000,0x00002000) IROM(0x08000000,0x00010000) CPUTYPE(\"Cortex-M0+\") CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L0xx_64 -FS08000000 -FL010000 -FP0($$Device:STM32L053R8Tx$Flash\\STM32L0xx_64.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:STM32L053R8Tx$Device\\Include\\stm32l0xx.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:STM32L053R8Tx$SVD\\STM32L053x.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\dbg\\</OutputDirectory>\n          <OutputName>dpp-qv</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>1</DebugInformation>\n          <BrowseInformation>1</BrowseInformation>\n          <ListingPath>.\\dbg\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\dbg\\dpp-qv.bin .\\dbg\\dpp-qv.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>0</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments> -REMAP </SimDllArguments>\n          <SimDlgDll>DARMCM1.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM0+</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> </TargetDllArguments>\n          <TargetDlgDll>TARMCM1.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM0+</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4096</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3></Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M0+\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>0</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x2000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x8000000</StartAddress>\n                <Size>0x10000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x8000000</StartAddress>\n                <Size>0x10000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x2000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>0</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>1</vShortEn>\n            <vShortWch>1</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define></Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile></ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Source Code</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>bsp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\bsp.h</FilePath>\n            </File>\n            <File>\n              <FileName>dpp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\dpp.h</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>philo.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\philo.c</FilePath>\n            </File>\n            <File>\n              <FileName>table.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\table.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>nucleo-l053r8</GroupName>\n          <Files>\n            <File>\n              <FileName>stm32l0xx.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\stm32l0xx.h</FilePath>\n            </File>\n            <File>\n              <FileName>stm32l053xx.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\stm32l053xx.h</FilePath>\n            </File>\n            <File>\n              <FileName>system_stm32l0xx.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\system_stm32l0xx.c</FilePath>\n            </File>\n            <File>\n              <FileName>system_stm32l0xx.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\system_stm32l0xx.h</FilePath>\n            </File>\n            <File>\n              <FileName>startup_stm32l053xx.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\arm\\startup_stm32l053xx.s</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qvn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qvn\\qvn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qvn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qvn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n    <Target>\n      <TargetName>dpp-rel</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6130001::V6.13.1::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>STM32L053R8Tx</Device>\n          <Vendor>STMicroelectronics</Vendor>\n          <PackID>Keil.STM32L0xx_DFP.2.0.0</PackID>\n          <PackURL>http://www.keil.com/pack/</PackURL>\n          <Cpu>IRAM(0x20000000,0x00002000) IROM(0x08000000,0x00010000) CPUTYPE(\"Cortex-M0+\") CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L0xx_64 -FS08000000 -FL010000 -FP0($$Device:STM32L053R8Tx$Flash\\STM32L0xx_64.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:STM32L053R8Tx$Device\\Include\\stm32l0xx.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:STM32L053R8Tx$SVD\\STM32L053x.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\rel\\</OutputDirectory>\n          <OutputName>dpp-qv</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>0</DebugInformation>\n          <BrowseInformation>0</BrowseInformation>\n          <ListingPath>.\\rel\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\rel\\dpp-qv.bin .\\rel\\dpp-qv.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>0</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments> -REMAP </SimDllArguments>\n          <SimDlgDll>DARMCM1.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM0+</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> </TargetDllArguments>\n          <TargetDlgDll>TARMCM1.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM0+</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4097</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3></Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M0+\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>0</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x2000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x8000000</StartAddress>\n                <Size>0x10000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x8000000</StartAddress>\n                <Size>0x10000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x2000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>0</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>1</vShortEn>\n            <vShortWch>1</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>NDEBUG</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile>dpp-qv.sct</ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Source Code</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>bsp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\bsp.h</FilePath>\n            </File>\n            <File>\n              <FileName>dpp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\dpp.h</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>philo.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\philo.c</FilePath>\n            </File>\n            <File>\n              <FileName>table.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\table.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>nucleo-l053r8</GroupName>\n          <Files>\n            <File>\n              <FileName>stm32l0xx.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\stm32l0xx.h</FilePath>\n            </File>\n            <File>\n              <FileName>stm32l053xx.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\stm32l053xx.h</FilePath>\n            </File>\n            <File>\n              <FileName>system_stm32l0xx.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\system_stm32l0xx.c</FilePath>\n            </File>\n            <File>\n              <FileName>system_stm32l0xx.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\system_stm32l0xx.h</FilePath>\n            </File>\n            <File>\n              <FileName>startup_stm32l053xx.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\arm\\startup_stm32l053xx.s</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qvn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qvn\\qvn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qvn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qvn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n  </Targets>\n\n  <RTE>\n    <apis/>\n    <components/>\n    <files/>\n  </RTE>\n\n</Project>\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/qv/bsp.c",
    "content": "/*****************************************************************************\n* Product: DPP on STM32 NUCLEO-L053R8 board, cooperative QV kernel\n** Last Updated for Version: 5.5.1\n* Date of the Last Update:  2015-10-05\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"dpp.h\"\n#include \"bsp.h\"\n\n#include \"stm32l0xx.h\"  /* CMSIS-compliant header file for the MCU used */\n/* add other drivers if necessary... */\n\n//Q_DEFINE_THIS_FILE\n\n/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n* Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n* DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n*/\nenum KernelAwareISRs {\n    GPIOPORTA_PRIO = QF_AWARE_ISR_CMSIS_PRI, /* see NOTE00 */\n    SYSTICK_PRIO,\n    /* ... */\n    MAX_KERNEL_AWARE_CMSIS_PRI /* keep always last */\n};\n/* \"kernel-aware\" interrupts should not overlap the PendSV priority */\nQ_ASSERT_COMPILE(MAX_KERNEL_AWARE_CMSIS_PRI <= (0xFF >>(8-__NVIC_PRIO_BITS)));\n\n/* ISRs defined in this BSP ------------------------------------------------*/\nvoid SysTick_Handler(void);\n\n/* Local-scope objects -----------------------------------------------------*/\n/* LED pins available on the board (just one user LED LD2--Green on PA.5) */\n#define LED_LD2  (1U << 5)\n\n/* Button pins available on the board (just one user Button B1 on PC.13) */\n#define BTN_B1   (1U << 13)\n\n/* random seed */\nstatic uint32_t l_rnd;\n\n\n/* ISRs used in this project ===============================================*/\nvoid SysTick_Handler(void) {\n    /* state of the button debouncing, see below */\n    static struct ButtonsDebouncing {\n        uint32_t depressed;\n        uint32_t previous;\n    } buttons = { ~0U, ~0U };\n    uint32_t current;\n    uint32_t tmp;\n\n    QF_tickXISR(0U); /* process time events for rate 0 */\n\n\n    /* Perform the debouncing of buttons. The algorithm for debouncing\n    * adapted from the book \"Embedded Systems Dictionary\" by Jack Ganssle\n    * and Michael Barr, page 71.\n    */\n    current = ~GPIOC->IDR; /* read Port C with the state of Button B1 */\n    tmp = buttons.depressed; /* save the debounced depressed buttons */\n    buttons.depressed |= (buttons.previous & current); /* set depressed */\n    buttons.depressed &= (buttons.previous | current); /* clear released */\n    buttons.previous   = current; /* update the history */\n    tmp ^= buttons.depressed;     /* changed debounced depressed */\n    if ((tmp & BTN_B1) != 0U) {  /* debounced B1 state changed? */\n        if ((buttons.depressed & BTN_B1) != 0U) { /* is B1 depressed? */\n            QACTIVE_POST_ISR(&AO_Table, PAUSE_SIG, 0U);\n        }\n        else {            /* the button is released */\n            QACTIVE_POST_ISR(&AO_Table, SERVE_SIG, 0U);\n        }\n    }\n}\n\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    /* NOTE: SystemInit() has been already called from the startup code\n    *  but SystemCoreClock needs to be updated\n    */\n    SystemCoreClockUpdate();\n\n    /* enable GPIOA clock port for the LED LD2 */\n    RCC->IOPENR |= (1U << 0);\n\n    /* configure LED (PA.5) pin as push-pull output, no pull-up, pull-down */\n    GPIOA->MODER   &= ~((3U << 2*5));\n    GPIOA->MODER   |=  ((1U << 2*5));\n    GPIOA->OTYPER  &= ~((1U <<   5));\n    GPIOA->OSPEEDR &= ~((3U << 2*5));\n    GPIOA->OSPEEDR |=  ((1U << 2*5));\n    GPIOA->PUPDR   &= ~((3U << 2*5));\n\n    /* enable GPIOC clock port for the Button B1 */\n    RCC->IOPENR |=  (1U << 2);\n\n    /* configure Button (PC.13) pins as input, no pull-up, pull-down */\n    GPIOC->MODER   &= ~(3U << 2*13);\n    GPIOC->OSPEEDR &= ~(3U << 2*13);\n    GPIOC->OSPEEDR |=  (1U << 2*13);\n    GPIOC->PUPDR   &= ~(3U << 2*13);\n\n    BSP_randomSeed(1234U); /* seed the random number generator */\n}\n/*..........................................................................*/\nvoid BSP_displayPhilStat(uint8_t n, char const *stat) {\n    if (stat[0] == 'h') {\n        GPIOA->BSRR |= LED_LD2;  /* turn LED on  */\n    }\n    else {\n        GPIOA->BSRR |= (LED_LD2 << 16);  /* turn LED off */\n    }\n}\n/*..........................................................................*/\nvoid BSP_displayPaused(uint8_t paused) {\n    /* not enough LEDs to implement this feature */\n    if (paused != (uint8_t)0) {\n        //GPIOA->BSRR |= (LED_LD2);  /* turn LED[n] on  */\n    }\n    else {\n        //GPIOA->BSRR |= (LED_LD2 << 16);  /* turn LED[n] off */\n    }\n}\n/*..........................................................................*/\nuint32_t BSP_random(void) { /* a very cheap pseudo-random-number generator */\n    /* \"Super-Duper\" Linear Congruential Generator (LCG)\n    * LCG(2^32, 3*7*11*13*23, 0, seed)\n    */\n    l_rnd = l_rnd * (3U*7U*11U*13U*23U);\n\n    return l_rnd >> 8;\n}\n/*..........................................................................*/\nvoid BSP_randomSeed(uint32_t seed) {\n    l_rnd = seed;\n}\n/*..........................................................................*/\nvoid BSP_terminate(int16_t result) {\n    (void)result;\n}\n\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    /* set up the SysTick timer to fire at BSP_TICKS_PER_SEC rate */\n    SysTick_Config(SystemCoreClock / BSP_TICKS_PER_SEC);\n\n    /* set priorities of ALL ISRs used in the system, see NOTE00\n    *\n    * !!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n    * Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n    * DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n    */\n    NVIC_SetPriority(SysTick_IRQn,   SYSTICK_PRIO);\n    /* ... */\n\n    /* enable IRQs... */\n}\n/*..........................................................................*/\nvoid QV_onIdle(void) {  /* called with interrupts disabled, see NOTE1 */\n\n\n    /* toggle an LED on and then off (not enough LEDs, see NOTE2) */\n    //GPIOA->BSRR |= (LED_LD2);        /* turn LED[n] on  */\n    //GPIOA->BSRR |= (LED_LD2 << 16);  /* turn LED[n] off */\n\n#ifdef NDEBUG\n    /* Put the CPU and peripherals to the low-power mode.\n    * you might need to customize the clock management for your application,\n    * see the datasheet for your particular Cortex-M3 MCU.\n    */\n    /* !!!CAUTION!!!\n    * The WFI instruction stops the CPU clock, which unfortunately disables\n    * the JTAG port, so the ST-Link debugger can no longer connect to the\n    * board. For that reason, the call to __WFI() has to be used with CAUTION.\n    *\n    * NOTE: If you find your board \"frozen\" like this, strap BOOT0 to VDD and\n    * reset the board, then connect with ST-Link Utilities and erase the part.\n    * The trick with BOOT(0) is it gets the part to run the System Loader\n    * instead of your broken code. When done disconnect BOOT0, and start over.\n    */\n    //QV_CPU_SLEEP();  /* atomically go to sleep and enable interrupts */\n    QF_INT_ENABLE(); /* for now, just enable interrupts */\n#else\n    QF_INT_ENABLE(); /* just enable interrupts */\n#endif\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const module, int loc) {\n    /*\n    * NOTE: add here your application-specific error handling\n    */\n    (void)module;\n    (void)loc;\n\n    NVIC_SystemReset();\n}\n\n/*****************************************************************************\n* NOTE1:\n* The QV_onIdle() callback is called with interrupts disabled, because the\n* determination of the idle condition might change by any interrupt posting\n* an event. QV_onIdle() must internally enable interrupts, ideally\n* atomically with putting the CPU to the power-saving mode.\n*\n* NOTE2:\n* One of the LEDs is used to visualize the idle loop activity. The brightness\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/qv/gnu/.cproject",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<?fileVersion 4.0.0?><cproject storage_type_id=\"org.eclipse.cdt.core.XmlProjectDescriptionStorage\">\n\t<storageModule moduleId=\"org.eclipse.cdt.core.settings\">\n\t\t<cconfiguration id=\"com.atollic.truestudio.exe.debug.815149385\">\n\t\t\t<storageModule buildSystemId=\"org.eclipse.cdt.managedbuilder.core.configurationDataProvider\" id=\"com.atollic.truestudio.exe.debug.815149385\" moduleId=\"org.eclipse.cdt.core.settings\" name=\"Debug\">\n\t\t\t\t<externalSettings/>\n\t\t\t\t<extensions>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.ELF\" point=\"org.eclipse.cdt.core.BinaryParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GASErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GLDErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GCCErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t</extensions>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t\t\t<configuration artifactExtension=\"elf\" artifactName=\"${ProjName}\" buildArtefactType=\"org.eclipse.cdt.build.core.buildArtefactType.exe\" buildProperties=\"org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe\" cleanCommand=\"rm -rf\" description=\"\" id=\"com.atollic.truestudio.exe.debug.815149385\" name=\"Debug\" parent=\"com.atollic.truestudio.exe.debug\">\n\t\t\t\t\t<folderInfo id=\"com.atollic.truestudio.exe.debug.815149385.\" name=\"/\" resourcePath=\"\">\n\t\t\t\t\t\t<toolChain id=\"com.atollic.truestudio.exe.debug.toolchain.1533945543\" name=\"Atollic ARM Tools\" superClass=\"com.atollic.truestudio.exe.debug.toolchain\">\n\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.general.runtimelib.2089069586\" name=\"Runtime Library\" superClass=\"com.atollic.truestudio.general.runtimelib\" value=\"com.atollic.truestudio.ld.general.clib.small\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.toolchain_options.mcu.146570087\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.toolchain_options.mcu\" value=\"STM32L053R8\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.toolchain_options.vendor.1308202603\" name=\"Vendor name\" superClass=\"com.atollic.truestudio.toolchain_options.vendor\" value=\"STMicroelectronics\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<targetPlatform archList=\"all\" binaryParser=\"org.eclipse.cdt.core.ELF\" id=\"com.atollic.truestudio.exe.debug.toolchain.platform.366246759\" isAbstract=\"false\" name=\"Debug platform\" osList=\"all\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.platform\"/>\n\t\t\t\t\t\t\t<builder buildPath=\"${workspace_loc:/dpp-qv_nucleo-l053r8}/Debug\" customBuilderProperties=\"toolChainpathType=1|toolChainpathString=C:\\\\tools\\\\TrueSTUDIO for STM32 9.0.0\\\\ARMTools\\\\bin|\" id=\"com.atollic.truestudio.mbs.builder1.170232415\" keepEnvironmentInBuildfile=\"false\" managedBuildOn=\"true\" name=\"CDT Internal Builder\" superClass=\"com.atollic.truestudio.mbs.builder1\"/>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.as.1155455192\" name=\"Assembler\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.as\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.2110783168\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.1770290367\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" value=\"STM32L053R8\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.1978801964\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.708678436\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.1422844880\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.as.symbols.defined.239543374\" name=\"Defined symbols\" superClass=\"com.atollic.truestudio.as.symbols.defined\" useByScannerDiscovery=\"false\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"STM32L053xx\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.as.general.incpath.894761879\" name=\"Include path\" superClass=\"com.atollic.truestudio.as.general.incpath\" useByScannerDiscovery=\"false\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.atollic.truestudio.as.input.197871264\" name=\"Input\" superClass=\"com.atollic.truestudio.as.input\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.gcc.1253749158\" name=\"C Compiler\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.gcc\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gcc.symbols.defined.800354571\" name=\"Defined symbols\" superClass=\"com.atollic.truestudio.gcc.symbols.defined\" useByScannerDiscovery=\"false\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"STM32L053xx\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gcc.directories.select.1806557545\" name=\"Include path\" superClass=\"com.atollic.truestudio.gcc.directories.select\" useByScannerDiscovery=\"false\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../..\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../src\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../ports/arm-cm/qv/gnu\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../3rd_party/CMSIS/Include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../3rd_party/nucleo-l053r8\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.127698610\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.1730452428\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" value=\"STM32L053R8\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.355110564\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.821891330\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.838888141\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gcc.optimization.prep_garbage.1509346129\" name=\"Prepare dead code removal \" superClass=\"com.atollic.truestudio.gcc.optimization.prep_garbage\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gcc.optimization.prep_data.1011159027\" name=\"Prepare dead data removal\" superClass=\"com.atollic.truestudio.gcc.optimization.prep_data\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.atollic.truestudio.gcc.input.1411502879\" superClass=\"com.atollic.truestudio.gcc.input\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.ld.2085406913\" name=\"C Linker\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.ld\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.283175063\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.360440816\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" value=\"STM32L053R8\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.1096923076\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.1327140594\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.1393817166\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ld.general.scriptfile.261412983\" name=\"Linker script\" superClass=\"com.atollic.truestudio.ld.general.scriptfile\" useByScannerDiscovery=\"false\" value=\"../dpp-qv.ld\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ld.optimization.do_garbage.1344039190\" name=\"Dead code removal \" superClass=\"com.atollic.truestudio.ld.optimization.do_garbage\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.atollic.truestudio.ld.input.1976863455\" name=\"Input\" superClass=\"com.atollic.truestudio.ld.input\">\n\t\t\t\t\t\t\t\t\t<additionalInput kind=\"additionalinputdependency\" paths=\"$(USER_OBJS)\"/>\n\t\t\t\t\t\t\t\t\t<additionalInput kind=\"additionalinput\" paths=\"$(LIBS)\"/>\n\t\t\t\t\t\t\t\t</inputType>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.gpp.607892597\" name=\"C++ Compiler\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.gpp\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.symbols.defined.262882878\" name=\"Defined symbols\" superClass=\"com.atollic.truestudio.gpp.symbols.defined\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"STM32L053xx\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"USE_STDPERIPH_DRIVER\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"USE_NUCLEO_L053R8\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.directories.select.1849833584\" name=\"Include path\" superClass=\"com.atollic.truestudio.gpp.directories.select\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../src\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Drivers/CMSIS/Include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Drivers/CMSIS/Device/ST/STM32L0xx/Include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Drivers/STM32L0xx_HAL_Driver/Inc\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Utilities/STM32L053_Nucleo\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.2099713572\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.598406825\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" value=\"STM32L053R8\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.1556215233\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.1364051921\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.1056457937\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.optimization.prep_garbage.1607399314\" name=\"Prepare dead code removal\" superClass=\"com.atollic.truestudio.gpp.optimization.prep_garbage\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.optimization.prep_data.320194178\" name=\"Prepare dead data removal\" superClass=\"com.atollic.truestudio.gpp.optimization.prep_data\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.optimization.fno_rtti.1060152115\" name=\"Disable RTTI\" superClass=\"com.atollic.truestudio.gpp.optimization.fno_rtti\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.optimization.fno_exceptions.989138708\" name=\"Disable exception handling\" superClass=\"com.atollic.truestudio.gpp.optimization.fno_exceptions\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.ldcc.504480610\" name=\"C++ Linker\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.ldcc\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.453162557\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.375354234\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" value=\"STM32L053R8\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.1028171780\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.819063926\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.2095578161\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ldcc.optimization.do_garbage.1043078870\" name=\"Dead code removal\" superClass=\"com.atollic.truestudio.ldcc.optimization.do_garbage\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ldcc.general.scriptfile.1615201579\" name=\"Linker script\" superClass=\"com.atollic.truestudio.ldcc.general.scriptfile\" value=\"../stm32_flash.ld\" valueType=\"string\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.ar.base.1405127044\" name=\"Archiver\" superClass=\"com.atollic.truestudio.ar.base\"/>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.secoutput.998063695\" name=\"Other\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.secoutput\"/>\n\t\t\t\t\t\t</toolChain>\n\t\t\t\t\t</folderInfo>\n\t\t\t\t\t<sourceEntries>\n\t\t\t\t\t\t<entry excluding=\"QS|nucleo-l053r8/arm|nucleo-l053r8/iar|nucleo-l053r8/llvm\" flags=\"VALUE_WORKSPACE_PATH|RESOLVED\" kind=\"sourcePath\" name=\"\"/>\n\t\t\t\t\t</sourceEntries>\n\t\t\t\t</configuration>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"org.eclipse.cdt.core.externalSettings\"/>\n\t\t</cconfiguration>\n\t\t<cconfiguration id=\"com.atollic.truestudio.exe.debug.815149385.971412587\">\n\t\t\t<storageModule buildSystemId=\"org.eclipse.cdt.managedbuilder.core.configurationDataProvider\" id=\"com.atollic.truestudio.exe.debug.815149385.971412587\" moduleId=\"org.eclipse.cdt.core.settings\" name=\"Release\">\n\t\t\t\t<externalSettings/>\n\t\t\t\t<extensions>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.ELF\" point=\"org.eclipse.cdt.core.BinaryParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GASErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GLDErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GCCErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t</extensions>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t\t\t<configuration artifactExtension=\"elf\" artifactName=\"${ProjName}\" buildArtefactType=\"org.eclipse.cdt.build.core.buildArtefactType.exe\" buildProperties=\"org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe\" cleanCommand=\"rm -rf\" description=\"\" id=\"com.atollic.truestudio.exe.debug.815149385.971412587\" name=\"Release\" parent=\"com.atollic.truestudio.exe.debug\">\n\t\t\t\t\t<folderInfo id=\"com.atollic.truestudio.exe.debug.815149385.971412587.\" name=\"/\" resourcePath=\"\">\n\t\t\t\t\t\t<toolChain id=\"com.atollic.truestudio.exe.debug.toolchain.928909347\" name=\"Atollic ARM Tools\" superClass=\"com.atollic.truestudio.exe.debug.toolchain\">\n\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.general.runtimelib.1657085553\" name=\"Runtime Library\" superClass=\"com.atollic.truestudio.general.runtimelib\" value=\"com.atollic.truestudio.ld.general.clib.small\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.toolchain_options.mcu.1146924267\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.toolchain_options.mcu\" value=\"STM32L053R8\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.toolchain_options.vendor.1035245192\" name=\"Vendor name\" superClass=\"com.atollic.truestudio.toolchain_options.vendor\" value=\"STMicroelectronics\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<targetPlatform archList=\"all\" binaryParser=\"org.eclipse.cdt.core.ELF\" id=\"com.atollic.truestudio.exe.debug.toolchain.platform.1400435653\" isAbstract=\"false\" name=\"Debug platform\" osList=\"all\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.platform\"/>\n\t\t\t\t\t\t\t<builder buildPath=\"${workspace_loc:/dpp-qv_nucleo-l053r8}/Debug\" customBuilderProperties=\"toolChainpathType=1|toolChainpathString=C:\\\\tools\\\\TrueSTUDIO for STM32 9.0.0\\\\ARMTools\\\\bin|\" id=\"com.atollic.truestudio.mbs.builder1.1041652769\" keepEnvironmentInBuildfile=\"false\" managedBuildOn=\"true\" name=\"CDT Internal Builder\" superClass=\"com.atollic.truestudio.mbs.builder1\"/>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.as.1332619227\" name=\"Assembler\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.as\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.1394014600\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.1432507755\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" value=\"STM32L053R8\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.3307277\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.1248418305\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.490793049\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.as.symbols.defined.1403754697\" name=\"Defined symbols\" superClass=\"com.atollic.truestudio.as.symbols.defined\" useByScannerDiscovery=\"false\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"STM32L053xx\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.as.general.incpath.404754648\" name=\"Include path\" superClass=\"com.atollic.truestudio.as.general.incpath\" useByScannerDiscovery=\"false\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.atollic.truestudio.as.input.1883403423\" name=\"Input\" superClass=\"com.atollic.truestudio.as.input\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.gcc.1056600934\" name=\"C Compiler\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.gcc\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gcc.symbols.defined.1380524234\" name=\"Defined symbols\" superClass=\"com.atollic.truestudio.gcc.symbols.defined\" useByScannerDiscovery=\"false\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"NDEBUG\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"STM32L053xx\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gcc.directories.select.443562969\" name=\"Include path\" superClass=\"com.atollic.truestudio.gcc.directories.select\" useByScannerDiscovery=\"false\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../..\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../src\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../ports/arm-cm/qv/gnu\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../3rd_party/CMSIS/Include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../3rd_party/nucleo-l053r8\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.1183681350\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.70441626\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" value=\"STM32L053R8\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.1294969820\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.1371614503\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.1168869059\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gcc.optimization.prep_garbage.1074654281\" name=\"Prepare dead code removal \" superClass=\"com.atollic.truestudio.gcc.optimization.prep_garbage\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gcc.optimization.prep_data.690338714\" name=\"Prepare dead data removal\" superClass=\"com.atollic.truestudio.gcc.optimization.prep_data\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.exe.debug.toolchain.gcc.optimization.level.1619239104\" name=\"Optimization Level\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.gcc.optimization.level\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.gcc.optimization.level.0fast\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.atollic.truestudio.gcc.input.1551496391\" superClass=\"com.atollic.truestudio.gcc.input\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.ld.567839203\" name=\"C Linker\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.ld\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.1591771923\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.1106399579\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" value=\"STM32L053R8\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.1479054867\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.490233771\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.249030619\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ld.general.scriptfile.1150855097\" name=\"Linker script\" superClass=\"com.atollic.truestudio.ld.general.scriptfile\" useByScannerDiscovery=\"false\" value=\"../dpp-qv.ld\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ld.optimization.do_garbage.24662843\" name=\"Dead code removal \" superClass=\"com.atollic.truestudio.ld.optimization.do_garbage\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.atollic.truestudio.ld.input.1718528990\" name=\"Input\" superClass=\"com.atollic.truestudio.ld.input\">\n\t\t\t\t\t\t\t\t\t<additionalInput kind=\"additionalinputdependency\" paths=\"$(USER_OBJS)\"/>\n\t\t\t\t\t\t\t\t\t<additionalInput kind=\"additionalinput\" paths=\"$(LIBS)\"/>\n\t\t\t\t\t\t\t\t</inputType>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.gpp.1477387987\" name=\"C++ Compiler\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.gpp\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.symbols.defined.1248451127\" name=\"Defined symbols\" superClass=\"com.atollic.truestudio.gpp.symbols.defined\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"STM32L053xx\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"USE_STDPERIPH_DRIVER\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"USE_NUCLEO_L053R8\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.directories.select.1203939163\" name=\"Include path\" superClass=\"com.atollic.truestudio.gpp.directories.select\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../src\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Drivers/CMSIS/Include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Drivers/CMSIS/Device/ST/STM32L0xx/Include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Drivers/STM32L0xx_HAL_Driver/Inc\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Utilities/STM32L053_Nucleo\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.343909405\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.252442247\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" value=\"STM32L053R8\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.1831156113\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.1310166097\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.302634688\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.optimization.prep_garbage.1087023176\" name=\"Prepare dead code removal\" superClass=\"com.atollic.truestudio.gpp.optimization.prep_garbage\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.optimization.prep_data.1638305995\" name=\"Prepare dead data removal\" superClass=\"com.atollic.truestudio.gpp.optimization.prep_data\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.optimization.fno_rtti.1163615996\" name=\"Disable RTTI\" superClass=\"com.atollic.truestudio.gpp.optimization.fno_rtti\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.optimization.fno_exceptions.1943793952\" name=\"Disable exception handling\" superClass=\"com.atollic.truestudio.gpp.optimization.fno_exceptions\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.ldcc.1610400251\" name=\"C++ Linker\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.ldcc\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.328012291\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.2104579023\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" value=\"STM32L053R8\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.1495110634\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.1965866515\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.1440967047\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ldcc.optimization.do_garbage.1676757897\" name=\"Dead code removal\" superClass=\"com.atollic.truestudio.ldcc.optimization.do_garbage\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ldcc.general.scriptfile.1328992737\" name=\"Linker script\" superClass=\"com.atollic.truestudio.ldcc.general.scriptfile\" value=\"../stm32_flash.ld\" valueType=\"string\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.ar.base.537362647\" name=\"Archiver\" superClass=\"com.atollic.truestudio.ar.base\"/>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.secoutput.990302074\" name=\"Other\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.secoutput\"/>\n\t\t\t\t\t\t</toolChain>\n\t\t\t\t\t</folderInfo>\n\t\t\t\t\t<sourceEntries>\n\t\t\t\t\t\t<entry excluding=\"QS|nucleo-l053r8/arm|nucleo-l053r8/iar|nucleo-l053r8/llvm\" flags=\"VALUE_WORKSPACE_PATH|RESOLVED\" kind=\"sourcePath\" name=\"\"/>\n\t\t\t\t\t</sourceEntries>\n\t\t\t\t</configuration>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"org.eclipse.cdt.core.externalSettings\"/>\n\t\t</cconfiguration>\n\t</storageModule>\n\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t<project id=\"dpp-qv_nucleo-l053r8.com.atollic.truestudio.exe.1942299401\" name=\"Executable\" projectType=\"com.atollic.truestudio.exe\"/>\n\t</storageModule>\n\t<storageModule moduleId=\"scannerConfiguration\">\n\t\t<autodiscovery enabled=\"true\" problemReportingEnabled=\"true\" selectedProfileId=\"\"/>\n\t</storageModule>\n\t<storageModule moduleId=\"org.eclipse.cdt.core.LanguageSettingsProviders\"/>\n\t<storageModule moduleId=\"refreshScope\"/>\n\t<storageModule moduleId=\"org.eclipse.cdt.make.core.buildtargets\"/>\n</cproject>\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/qv/gnu/.project",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<projectDescription>\n\t<name>dpp-qv_nucleo-l053r8</name>\n\t<comment></comment>\n\t<projects>\n\t</projects>\n\t<buildSpec>\n\t\t<buildCommand>\n\t\t\t<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>\n\t\t\t<triggers>clean,full,incremental,</triggers>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t\t<buildCommand>\n\t\t\t<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>\n\t\t\t<triggers>full,incremental,</triggers>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t</buildSpec>\n\t<natures>\n\t\t<nature>org.eclipse.cdt.core.cnature</nature>\n\t\t<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>\n\t\t<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>\n\t</natures>\n\t<linkedResources>\n\t\t<link>\n\t\t\t<name>QP-nano</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>$%7BPARENT-5-PROJECT_LOC%7D/src/qfn</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>QP_port</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>$%7BPARENT-5-PROJECT_LOC%7D/ports/arm-cm/qv/gnu</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>QV-nano</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>$%7BPARENT-5-PROJECT_LOC%7D/src/qvn</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>bsp.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>$%7BPARENT-1-PROJECT_LOC%7D/bsp.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>bsp.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>$%7BPARENT-2-PROJECT_LOC%7D/bsp.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>dpp.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>$%7BPARENT-2-PROJECT_LOC%7D/dpp.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>main.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>$%7BPARENT-2-PROJECT_LOC%7D/main.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>nucleo-l053r8</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>$%7BPARENT-5-PROJECT_LOC%7D/3rd_party/nucleo-l053r8</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>philo.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>$%7BPARENT-2-PROJECT_LOC%7D/philo.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>qstamp.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>$%7BPARENT-5-PROJECT_LOC%7D/include/qstamp.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>table.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>$%7BPARENT-2-PROJECT_LOC%7D/table.c</locationURI>\n\t\t</link>\n\t</linkedResources>\n</projectDescription>\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/qv/gnu/Makefile",
    "content": "##############################################################################\n# Product: Makefile for QP-nano on NUCLEO-L053R8, QV-nano kernel, GNU-ARM\n# Last Updated for Version: 6.5.0\n# Date of the Last Update:  2019-04-15\n#\n#                    Q u a n t u m  L e a P s\n#                    ------------------------\n#                    Modern Embedded Software\n#\n# Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# https://www.state-machine.com\n# mailto:info@state-machine.com\n##############################################################################\n# examples of invoking this Makefile:\n# building configurations: Debug (default), Release, and Spy\n# make\n# make CONF=rel\n#\n# cleaning configurations: Debug (default), Release, and Spy\n# make clean\n# make CONF=rel clean\n#\n# NOTE:\n# To use this Makefile on Windows, you will need the GNU make utility, which\n# is included in the Qtools collection for Windows, see:\n#    http://sourceforge.net/projects/qpc/files/Qtools/\n#\n\n#-----------------------------------------------------------------------------\n# project name\n#\nPROJECT     := dpp-qv\n\n#-----------------------------------------------------------------------------\n# project directories\n#\n\n# location of the QP-nano framework (if not provided in an environemnt var.)\nifeq ($(QPN),)\nQPN := ../../../../..\nendif\n\n# QP port used in this project\nQP_PORT_DIR := $(QPN)/ports/arm-cm/qv/gnu\n\n# list of all source directories used by this project\nVPATH = \\\n\t.. \\\n\t../.. \\\n\t$(QPN)/src/qfn \\\n\t$(QPN)/src/qvn \\\n\t$(QP_PORT_DIR) \\\n\t$(QPN)/3rd_party/nucleo-l053r8 \\\n\t$(QPN)/3rd_party/nucleo-l053r8/gnu\n\n# list of all include directories needed by this project\nINCLUDES  = \\\n\t-I../.. \\\n\t-I$(QPN)/include \\\n\t-I$(QP_PORT_DIR) \\\n\t-I$(QPN)/3rd_party/CMSIS/Include \\\n\t-I$(QPN)/3rd_party/nucleo-l053r8\n\n#-----------------------------------------------------------------------------\n# files\n#\n\n# assembler source files\nASM_SRCS :=\n\n# C source files\nC_SRCS := \\\n\tbsp.c \\\n\tmain.c \\\n\tphilo.c \\\n\ttable.c \\\n\tsystem_stm32l0xx.c \\\n\tstartup_stm32l053xx.c\n\n# C++ source files\nCPP_SRCS :=\n\nOUTPUT    := $(PROJECT)\nLD_SCRIPT := $(PROJECT).ld\n\nQP_SRCS := \\\n\tqepn.c \\\n\tqfn.c \\\n\tqvn.c\n\nQP_ASMS :=\n\nLIB_DIRS  :=\nLIBS      :=\n\n# defines\nDEFINES   :=\n\n# ARM CPU, ARCH, FPU, and Float-ABI types...\n# ARM_CPU:   [cortex-m0 | cortex-m0plus | cortex-m1 | cortex-m3 | cortex-m4]\n# ARM_ARCH:  [6 | 7] (NOTE: must match ARM_CPU!)\n# ARM_FPU:   [ | vfp]\n# FLOAT_ABI: [ | soft | softfp | hard]\n#\nARM_CPU   := -mcpu=cortex-m0plus\nARM_ARCH  := 6   # NOTE: must match the ARM_CPU!\nARM_FPU   :=\nFLOAT_ABI :=\n\n#-----------------------------------------------------------------------------\n# GNU-ARM toolset (NOTE: You need to adjust to your machine)\n# see https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads\n#\nifeq ($(GNU_ARM),)\nGNU_ARM := $(QTOOLS)/gnu_arm-none-eabi\nendif\n\n# make sure that the GNU-ARM toolset exists...\nifeq (\"$(wildcard $(GNU_ARM))\",\"\")\n$(error GNU_ARM toolset not found. Please adjust the Makefile)\nendif\n\nCC    := $(GNU_ARM)/bin/arm-none-eabi-gcc\nCPP   := $(GNU_ARM)/bin/arm-none-eabi-g++\nAS    := $(GNU_ARM)/bin/arm-none-eabi-as\nLINK  := $(GNU_ARM)/bin/arm-none-eabi-g++\nBIN   := $(GNU_ARM)/bin/arm-none-eabi-objcopy\n\n\n##############################################################################\n# Typically, you should not need to change anything below this line\n\n# basic utilities (included in Qtools for Windows), see:\n#    http://sourceforge.net/projects/qpc/files/Qtools\n\nMKDIR := mkdir\nRM    := rm\n\n#-----------------------------------------------------------------------------\n# build options for various configurations for ARM Cortex-M\n#\n\n# combine all the soruces...\nC_SRCS += $(QP_SRCS)\nASM_SRCS += $(QP_ASMS)\n\nifeq (rel, $(CONF)) # Release configuration ..................................\n\nBIN_DIR := rel\n\nASFLAGS = $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O2 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nCPPFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O2 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nelse # default Debug configuration ..........................................\n\nBIN_DIR := dbg\n\nASFLAGS = -g $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O2 $(INCLUDES) $(DEFINES)\n\nCPPFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O2 $(INCLUDES) $(DEFINES)\n\nendif # ......................................................................\n\n\nLINKFLAGS = -T$(LD_SCRIPT) $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb \\\n\t-specs=nosys.specs -specs=nano.specs \\\n\t-Wl,-Map,$(BIN_DIR)/$(OUTPUT).map,--cref,--gc-sections $(LIB_DIRS)\n\n\nASM_OBJS     := $(patsubst %.s,%.o,  $(notdir $(ASM_SRCS)))\nC_OBJS       := $(patsubst %.c,%.o,  $(notdir $(C_SRCS)))\nCPP_OBJS     := $(patsubst %.cpp,%.o,$(notdir $(CPP_SRCS)))\n\nTARGET_BIN   := $(BIN_DIR)/$(OUTPUT).bin\nTARGET_ELF   := $(BIN_DIR)/$(OUTPUT).elf\nASM_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(ASM_OBJS))\nC_OBJS_EXT   := $(addprefix $(BIN_DIR)/, $(C_OBJS))\nC_DEPS_EXT   := $(patsubst %.o, %.d, $(C_OBJS_EXT))\nCPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))\nCPP_DEPS_EXT := $(patsubst %.o, %.d, $(CPP_OBJS_EXT))\n\n# create $(BIN_DIR) if it does not exist\nifeq (\"$(wildcard $(BIN_DIR))\",\"\")\n$(shell $(MKDIR) $(BIN_DIR))\nendif\n\n#-----------------------------------------------------------------------------\n# rules\n#\n\nall: $(TARGET_BIN)\n#all: $(TARGET_ELF)\n\n$(TARGET_BIN): $(TARGET_ELF)\n\t$(BIN) -O binary $< $@\n\n$(TARGET_ELF) : $(ASM_OBJS_EXT) $(C_OBJS_EXT) $(CPP_OBJS_EXT)\n\t$(CC) $(CFLAGS) $(QPN)/include/qstamp.c -o $(BIN_DIR)/qstamp.o\n\t$(LINK) $(LINKFLAGS) -o $@ $^ $(BIN_DIR)/qstamp.o $(LIBS)\n\n$(BIN_DIR)/%.d : %.c\n\t$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@\n\n$(BIN_DIR)/%.d : %.cpp\n\t$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@\n\n$(BIN_DIR)/%.o : %.s\n\t$(AS) $(ASFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.c\n\t$(CC) $(CFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.cpp\n\t$(CPP) $(CPPFLAGS) $< -o $@\n\n# include dependency files only if our goal depends on their existence\nifneq ($(MAKECMDGOALS),clean)\n  ifneq ($(MAKECMDGOALS),show)\n-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)\n  endif\nendif\n\n\n.PHONY : clean\nclean:\n\t-$(RM) $(BIN_DIR)/*.o \\\n\t$(BIN_DIR)/*.d \\\n\t$(BIN_DIR)/*.bin \\\n\t$(BIN_DIR)/*.elf \\\n\t$(BIN_DIR)/*.map\n\t\nshow:\n\t@echo PROJECT = $(PROJECT)\n\t@echo CONF = $(CONF)\n\t@echo DEFINES = $(DEFINES)\n\t@echo ASM_FPU = $(ASM_FPU)\n\t@echo ASM_SRCS = $(ASM_SRCS)\n\t@echo C_SRCS = $(C_SRCS)\n\t@echo CPP_SRCS = $(CPP_SRCS)\n\t@echo ASM_OBJS_EXT = $(ASM_OBJS_EXT)\n\t@echo C_OBJS_EXT = $(C_OBJS_EXT)\n\t@echo C_DEPS_EXT = $(C_DEPS_EXT)\n\t@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)\n\t@echo TARGET_ELF = $(TARGET_ELF)\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/qv/gnu/dpp-qv.ld",
    "content": "/*****************************************************************************\n* Product: Linker script for for STM32L053R8, GNU-ARM linker\n* Last Updated for Version: 5.9.8\n* Date of the Last Update:  2017-09-13\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <http://www.gnu.org/licenses/>.\n*\n* Contact information:\n* https://state-machine.com\n* mailto:info@state-machine.com\n*****************************************************************************/\nOUTPUT_FORMAT(\"elf32-littlearm\", \"elf32-bigarm\", \"elf32-littlearm\")\nOUTPUT_ARCH(arm)\nENTRY(Reset_Handler) /* entry Point */\n\nMEMORY { /* memory map of STM32L053R8 */\n    ROM (rx)  : ORIGIN = 0x08000000, LENGTH = 64K\n    RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 8K\n}\n\n/* The size of the stack used by the application. NOTE: you need to adjust  */\nSTACK_SIZE = 1024;\n\n/* The size of the heap used by the application. NOTE: you need to adjust   */\nHEAP_SIZE = 0;\n\nSECTIONS {\n\n    .isr_vector : {        /* the vector table goes FIRST into ROM */\n        KEEP(*(.isr_vector)) /* vector table */\n        . = ALIGN(4);\n    } >ROM\n\n    .text : {              /* code and constants */\n        . = ALIGN(4);\n        *(.text)           /* .text sections (code) */\n        *(.text*)          /* .text* sections (code) */\n        *(.rodata)         /* .rodata sections (constants, strings, etc.) */\n        *(.rodata*)        /* .rodata* sections (constants, strings, etc.) */\n\n        KEEP (*(.init))\n        KEEP (*(.fini))\n\n        . = ALIGN(4);\n    } >ROM\n\n    .preinit_array : {\n        PROVIDE_HIDDEN (__preinit_array_start = .);\n        KEEP (*(.preinit_array*))\n        PROVIDE_HIDDEN (__preinit_array_end = .);\n    } >ROM\n\n    .init_array : {\n        PROVIDE_HIDDEN (__init_array_start = .);\n        KEEP (*(SORT(.init_array.*)))\n        KEEP (*(.init_array*))\n        PROVIDE_HIDDEN (__init_array_end = .);\n    } >ROM\n\n    .fini_array : {\n        PROVIDE_HIDDEN (__fini_array_start = .);\n        KEEP (*(.fini_array*))\n        KEEP (*(SORT(.fini_array.*)))\n        PROVIDE_HIDDEN (__fini_array_end = .);\n    } >ROM\n\n    _etext = .;            /* global symbols at end of code */\n\n    .stack : {\n        __stack_start__ = .;\n        . = . + STACK_SIZE;\n        . = ALIGN(4);\n        __stack_end__ = .;\n    } >RAM\n\n    .data :  AT (_etext) {\n        __data_load = LOADADDR (.data);\n        __data_start = .;\n        *(.data)           /* .data sections */\n        *(.data*)          /* .data* sections */\n        . = ALIGN(4);\n        __data_end__ = .;\n        _edata = __data_end__;\n    } >RAM\n\n    .bss : {\n        __bss_start__ = .;\n        *(.bss)\n        *(.bss*)\n        *(COMMON)\n        . = ALIGN(4);\n        _ebss = .;         /* define a global symbol at bss end */\n        __bss_end__ = .;\n    } >RAM\n\n    __exidx_start = .;\n    .ARM.exidx   : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } >RAM\n    __exidx_end = .;\n\n    PROVIDE ( end = _ebss );\n    PROVIDE ( _end = _ebss );\n    PROVIDE ( __end__ = _ebss );\n\n    .heap : {\n        __heap_start__ = .;\n        . = . + HEAP_SIZE;\n        . = ALIGN(4);\n        __heap_end__ = .;\n    } >RAM\n\n    /* Remove information from the standard libraries */\n    /DISCARD/ : {\n        libc.a ( * )\n        libm.a ( * )\n        libgcc.a ( * )\n    }\n}\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/qv/iar/dpp-qv.ewd",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project>\n    <fileVersion>3</fileVersion>\n    <configuration>\n        <name>Debug</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>1</debug>\n        <settings>\n            <name>C-SPY</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCVariant</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>MemOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MemFile</name>\n                    <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\ST\\STM32L053R8.ddf</state>\n                </option>\n                <option>\n                    <name>RunToEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RunToName</name>\n                    <state>main</state>\n                </option>\n                <option>\n                    <name>CExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDDFArgumentProducer</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadSuppressDownload</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDownloadVerifyAll</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCProductVersion</name>\n                    <state>7.40.2.8567</state>\n                </option>\n                <option>\n                    <name>OCDynDriverList</name>\n                    <state>STLINK_ID</state>\n                </option>\n                <option>\n                    <name>OCLastSavedByProductVersion</name>\n                    <state>8.11.1.13270</state>\n                </option>\n                <option>\n                    <name>UseFlashLoader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CLowLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CDevice</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>FlashLoadersV3</name>\n                    <state>$TOOLKIT_DIR$\\config\\flashloader\\ST\\FlashSTM32L0xxx8.board</state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OverrideDefFlashBoard</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesOffset1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesUse1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDeviceConfigMacroFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDebuggerExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAllMTBOptions</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreNrOfCores</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreMaster</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCMulticorePort</name>\n                    <state>53461</state>\n                </option>\n                <option>\n                    <name>OCMulticoreWorkspace</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveProject</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveConfiguration</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadExtraImage</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAttachSlave</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ARMSIM_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCSimDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCSimEnablePSP</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspOverrideConfig</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspConfigFile</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CADI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCadiMemory</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Fast Model</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCADILogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCADILogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CMSISDAP_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CMSISDAPResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>CMSISDAPDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CMSISDAPProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>GDBSERVER_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJTagBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IJET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>8</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>IjetPowerFromProbe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPowerRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetProtocolRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPin</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPrescalerList</name>\n                    <version>1</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IjetProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPreferETB</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetTraceSettingsList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetTraceSizeList</name>\n                    <version>0</version>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>FlashBoardPathSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>JLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>16</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>JLinkSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJLinkHWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>JLinkInitialSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCDoJlinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkCommRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>CCJLinkSpeedRadioV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCUSBDevice</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkResetList</name>\n                    <version>6</version>\n                    <state>5</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCTcpIpAlt</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTcpIpSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSourceDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkDeviceName</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>LMIFTDI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>2</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>LmiftdiSpeed</name>\n                    <state>500</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>PEMICRO_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>3</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJPEMicroShowSettings</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>STLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceRadio</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkResetList</name>\n                    <version>3</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDAPNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDebugAccessPortRadio</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>THIRDPARTY_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CThirdPartyDriverDll</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>TIFET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVccTypeDefault</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVoltage</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CCMSPFetVCCDefault</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetSettlingtime</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioJtagSpeedType</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetConnection</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetUsbComPort</name>\n                    <state>Automatic</state>\n                </option>\n                <option>\n                    <name>CCMSPFetAllowAccessToBSL</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioEraseFlash</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>XDS100_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>6</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TIPackageOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TIPackage</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>BoardFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCXds100BreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100DoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CpuClockEdit</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockEdit</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCXds100HWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100JtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ProbeList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPortRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPort</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <debuggerPlugins>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n                <loadFlag>1</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n        </debuggerPlugins>\n    </configuration>\n    <configuration>\n        <name>Release</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>0</debug>\n        <settings>\n            <name>C-SPY</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCVariant</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>MemOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MemFile</name>\n                    <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\ST\\STM32L053x8.ddf</state>\n                </option>\n                <option>\n                    <name>RunToEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RunToName</name>\n                    <state>main</state>\n                </option>\n                <option>\n                    <name>CExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDDFArgumentProducer</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadSuppressDownload</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDownloadVerifyAll</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCProductVersion</name>\n                    <state>7.40.2.8567</state>\n                </option>\n                <option>\n                    <name>OCDynDriverList</name>\n                    <state>STLINK_ID</state>\n                </option>\n                <option>\n                    <name>OCLastSavedByProductVersion</name>\n                    <state>7.40.2.8567</state>\n                </option>\n                <option>\n                    <name>UseFlashLoader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CLowLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CDevice</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>FlashLoadersV3</name>\n                    <state>$TOOLKIT_DIR$\\config\\flashloader\\ST\\FlashSTM32L0xxx8.board</state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OverrideDefFlashBoard</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesOffset1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesUse1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDeviceConfigMacroFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDebuggerExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAllMTBOptions</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreNrOfCores</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreMaster</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCMulticorePort</name>\n                    <state>53461</state>\n                </option>\n                <option>\n                    <name>OCMulticoreWorkspace</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveProject</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveConfiguration</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadExtraImage</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAttachSlave</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ARMSIM_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCSimDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCSimEnablePSP</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspOverrideConfig</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspConfigFile</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CADI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCadiMemory</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Fast Model</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCADILogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCADILogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CMSISDAP_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CMSISDAPResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>CMSISDAPDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CMSISDAPProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>GDBSERVER_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJTagBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IJET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>8</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>IjetPowerFromProbe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPowerRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetProtocolRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPin</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPrescalerList</name>\n                    <version>1</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IjetProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPreferETB</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetTraceSettingsList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetTraceSizeList</name>\n                    <version>0</version>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>FlashBoardPathSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>JLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>16</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>JLinkSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJLinkHWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>JLinkInitialSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCDoJlinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkCommRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>CCJLinkSpeedRadioV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCUSBDevice</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkResetList</name>\n                    <version>6</version>\n                    <state>5</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCTcpIpAlt</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTcpIpSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSourceDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkDeviceName</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>LMIFTDI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>2</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>LmiftdiSpeed</name>\n                    <state>500</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>PEMICRO_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>3</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJPEMicroShowSettings</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>STLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceRadio</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkResetList</name>\n                    <version>3</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDAPNumber</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkDebugAccessPortRadio</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>THIRDPARTY_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CThirdPartyDriverDll</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>TIFET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVccTypeDefault</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVoltage</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CCMSPFetVCCDefault</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetSettlingtime</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioJtagSpeedType</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetConnection</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetUsbComPort</name>\n                    <state>Automatic</state>\n                </option>\n                <option>\n                    <name>CCMSPFetAllowAccessToBSL</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioEraseFlash</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>XDS100_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>6</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TIPackageOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TIPackage</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>BoardFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCXds100BreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100DoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CpuClockEdit</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockEdit</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCXds100HWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100JtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ProbeList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPortRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPort</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <debuggerPlugins>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n                <loadFlag>1</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n        </debuggerPlugins>\n    </configuration>\n</project>\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/qv/iar/dpp-qv.ewp",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project>\n    <fileVersion>3</fileVersion>\n    <configuration>\n        <name>Debug</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>1</debug>\n        <settings>\n            <name>General</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>ExePath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>ObjPath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>ListPath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>GEndianMode</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>Input description</name>\n                    <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n                </option>\n                <option>\n                    <name>Output description</name>\n                    <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n                </option>\n                <option>\n                    <name>GOutputBinary</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCoreOrChip</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelect</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelectSlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RTDescription</name>\n                    <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n                </option>\n                <option>\n                    <name>OGProductVersion</name>\n                    <state>5.11.0.50579</state>\n                </option>\n                <option>\n                    <name>OGLastSavedByProductVersion</name>\n                    <state>8.11.1.13270</state>\n                </option>\n                <option>\n                    <name>GeneralEnableMisra</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVerbose</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGChipSelectEditMenu</name>\n                    <state>STM32L053R8\tST STM32L053R8</state>\n                </option>\n                <option>\n                    <name>GenLowLevelInterface</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GEndianModeBE</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OGBufferedTerminalOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenStdoutInterface</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>RTConfigPath2</name>\n                    <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n                </option>\n                <option>\n                    <name>GBECoreSlave</name>\n                    <version>25</version>\n                    <state>35</state>\n                </option>\n                <option>\n                    <name>OGUseCmsis</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsisDspLib</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibThreads</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CoreVariant</name>\n                    <version>25</version>\n                    <state>35</state>\n                </option>\n                <option>\n                    <name>GFPUDeviceSlave</name>\n                    <state>STM32L053R8\tST STM32L053R8</state>\n                </option>\n                <option>\n                    <name>FPU2</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>NrRegs</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>NEON</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUCoreSlave2</name>\n                    <version>25</version>\n                    <state>35</state>\n                </option>\n                <option>\n                    <name>OGCMSISPackSelectDevice</name>\n                </option>\n                <option>\n                    <name>OgLibHeap</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGLibAdditionalLocale</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGPrintfVariant</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>OGPrintfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGScanfVariant</name>\n                    <version>0</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OGScanfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenLocaleTags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>GenLocaleDisplayOnly</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ICCARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>34</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCOptimizationNoSizeConstraints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCPreprocFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocComments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMnemonics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMessages</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDiagSuppress</name>\n                    <state>Pa050</state>\n                </option>\n                <option>\n                    <name>CCDiagRemark</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagWarning</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagError</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCAllowList</name>\n                    <version>1</version>\n                    <state>00000000</state>\n                </option>\n                <option>\n                    <name>CCDebugInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IEndianMode</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCLangConformance</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSignedPlainChar</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRequirePrototypes</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCDiagWarnAreErr</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCompilerRuntimeInfo</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>CCLibConfigHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>PreInclude</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CompilerMisraOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIncludePath2</name>\n                    <state>$PROJ_DIR$\\..\\..</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8</state>\n                </option>\n                <option>\n                    <name>CCStdIncCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCodeSection</name>\n                    <state>.text</state>\n                </option>\n                <option>\n                    <name>IProcessorMode2</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptStrategy</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevelSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>CCPosIndRopi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndRwpi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndNoDynInit</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccLang</name>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>IccCDialect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccAllowVLA</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccStaticDestr</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCppInlineSemantics</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccFloatSemantics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCOptStrategySlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCGuardCalls</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccExceptions2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccRTTI2</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>AARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>10</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>AObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>ACaseSensitivity</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacroChars</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnWhat</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnOne</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>ADebug</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AltRegisterNames</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ADefines</name>\n                    <state>ewarm</state>\n                </option>\n                <option>\n                    <name>AList</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AListHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AListing</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Includes</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacDefs</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacExps</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacExec</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OnlyAssed</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MultiLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLengthCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLength</name>\n                    <state>80</state>\n                </option>\n                <option>\n                    <name>TabSpacing</name>\n                    <state>8</state>\n                </option>\n                <option>\n                    <name>AXRef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDefines</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefInternal</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDual</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AOutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsEdit</name>\n                    <state>100</state>\n                </option>\n                <option>\n                    <name>AIgnoreStdInclude</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AUserIncludes</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AExtraOptionsCheckV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AExtraOptionsV2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AsmNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>OBJCOPY</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OOCOutputFormat</name>\n                    <version>3</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OCOutputOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OOCOutputFile</name>\n                    <state>dpp-qv.bin</state>\n                </option>\n                <option>\n                    <name>OOCCommandLineProducer</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OOCObjCopyEnable</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CUSTOM</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <extensions></extensions>\n                <cmdline></cmdline>\n                <hasPrio>0</hasPrio>\n            </data>\n        </settings>\n        <settings>\n            <name>BICOMP</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>BUILDACTION</name>\n            <archiveVersion>1</archiveVersion>\n            <data>\n                <prebuild></prebuild>\n                <postbuild></postbuild>\n            </data>\n        </settings>\n        <settings>\n            <name>ILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>20</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>IlinkLibIOConfig</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>XLinkMisraHandler</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkInputFileSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOutputFile</name>\n                    <state>dpp-qv.out</state>\n                </option>\n                <option>\n                    <name>IlinkDebugInfoEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkKeepSymbols</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkConfigDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkMapFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogInitialization</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogModule</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogSection</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogVeneer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfOverride</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile</name>\n                    <state>$PROJ_DIR$\\dpp-qv.icf</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFileSlave</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkSuppressDiags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsRem</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsWarn</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsErr</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkWarningsAreErrors</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkUseExtraOptions</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkLowLevelInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAutoLibEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAdditionalLibs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkOverrideProgramEntryLabel</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabelSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabel</name>\n                    <state>__iar_program_start</state>\n                </option>\n                <option>\n                    <name>DoFill</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>FillerByte</name>\n                    <state>0xFF</state>\n                </option>\n                <option>\n                    <name>FillerStart</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>FillerEnd</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>CrcSize</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcAlign</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcPoly</name>\n                    <state>0x11021</state>\n                </option>\n                <option>\n                    <name>CrcCompl</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcBitOrder</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcInitialValue</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>DoCrc</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkBufferedTerminalOutput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkStdoutInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcFullSize</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIElfToolPostProcess</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogAutoLibSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogRedirSymbols</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogUnusedFragments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcReverseByteOrder</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcUseAsInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptInline</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsAllow</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsForce</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptMergeDuplSections</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptUseVfe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptForceVfe</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackAnalysisEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackControlFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkStackCallGraphFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CrcAlgorithm</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcUnitSize</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkThreadsSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogCallGraph</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile_AltDefault</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkHeapSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLocaleSelect</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IARCHIVE</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>IarchiveInputs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IarchiveOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IarchiveOutput</name>\n                    <state>###Unitialized###</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>BILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>Coder</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n    </configuration>\n    <configuration>\n        <name>Release</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>0</debug>\n        <settings>\n            <name>General</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>ExePath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>ObjPath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>ListPath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>GEndianMode</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>Input description</name>\n                    <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n                </option>\n                <option>\n                    <name>Output description</name>\n                    <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n                </option>\n                <option>\n                    <name>GOutputBinary</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCoreOrChip</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelect</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelectSlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RTDescription</name>\n                    <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n                </option>\n                <option>\n                    <name>OGProductVersion</name>\n                    <state>5.11.0.50579</state>\n                </option>\n                <option>\n                    <name>OGLastSavedByProductVersion</name>\n                    <state>7.70.1.11471</state>\n                </option>\n                <option>\n                    <name>GeneralEnableMisra</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVerbose</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGChipSelectEditMenu</name>\n                    <state>STM32L053R8\tST STM32L053R8</state>\n                </option>\n                <option>\n                    <name>GenLowLevelInterface</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GEndianModeBE</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OGBufferedTerminalOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenStdoutInterface</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>RTConfigPath2</name>\n                    <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n                </option>\n                <option>\n                    <name>GBECoreSlave</name>\n                    <version>25</version>\n                    <state>35</state>\n                </option>\n                <option>\n                    <name>OGUseCmsis</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsisDspLib</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibThreads</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CoreVariant</name>\n                    <version>25</version>\n                    <state>35</state>\n                </option>\n                <option>\n                    <name>GFPUDeviceSlave</name>\n                    <state>STM32L053R8\tST STM32L053R8</state>\n                </option>\n                <option>\n                    <name>FPU2</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>NrRegs</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>NEON</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUCoreSlave2</name>\n                    <version>25</version>\n                    <state>35</state>\n                </option>\n                <option>\n                    <name>OGCMSISPackSelectDevice</name>\n                </option>\n                <option>\n                    <name>OgLibHeap</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGLibAdditionalLocale</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGPrintfVariant</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>OGPrintfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGScanfVariant</name>\n                    <version>0</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OGScanfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenLocaleTags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>GenLocaleDisplayOnly</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ICCARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>34</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCOptimizationNoSizeConstraints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDefines</name>\n                    <state>NDEBUG</state>\n                </option>\n                <option>\n                    <name>CCPreprocFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocComments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMnemonics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMessages</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDiagSuppress</name>\n                    <state>Pa050</state>\n                </option>\n                <option>\n                    <name>CCDiagRemark</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagWarning</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagError</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCAllowList</name>\n                    <version>1</version>\n                    <state>11111110</state>\n                </option>\n                <option>\n                    <name>CCDebugInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IEndianMode</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCLangConformance</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSignedPlainChar</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRequirePrototypes</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCDiagWarnAreErr</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCompilerRuntimeInfo</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>CCLibConfigHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>PreInclude</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CompilerMisraOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIncludePath2</name>\n                    <state>$PROJ_DIR$\\..\\..</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8</state>\n                </option>\n                <option>\n                    <name>CCStdIncCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCodeSection</name>\n                    <state>.text</state>\n                </option>\n                <option>\n                    <name>IProcessorMode2</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevel</name>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>CCOptStrategy</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevelSlave</name>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>CCPosIndRopi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndRwpi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndNoDynInit</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccLang</name>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>IccCDialect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccAllowVLA</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccStaticDestr</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCppInlineSemantics</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccFloatSemantics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCOptStrategySlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCGuardCalls</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccExceptions2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccRTTI2</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>AARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>10</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>AObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>ACaseSensitivity</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacroChars</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnWhat</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnOne</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>ADebug</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AltRegisterNames</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ADefines</name>\n                    <state>ewarm</state>\n                </option>\n                <option>\n                    <name>AList</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AListHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AListing</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Includes</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacDefs</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacExps</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacExec</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OnlyAssed</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MultiLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLengthCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLength</name>\n                    <state>80</state>\n                </option>\n                <option>\n                    <name>TabSpacing</name>\n                    <state>8</state>\n                </option>\n                <option>\n                    <name>AXRef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDefines</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefInternal</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDual</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AOutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsEdit</name>\n                    <state>100</state>\n                </option>\n                <option>\n                    <name>AIgnoreStdInclude</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AUserIncludes</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AExtraOptionsCheckV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AExtraOptionsV2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AsmNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>OBJCOPY</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OOCOutputFormat</name>\n                    <version>3</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OCOutputOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OOCOutputFile</name>\n                    <state>dpp-qv.bin</state>\n                </option>\n                <option>\n                    <name>OOCCommandLineProducer</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OOCObjCopyEnable</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CUSTOM</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <extensions></extensions>\n                <cmdline></cmdline>\n                <hasPrio>0</hasPrio>\n            </data>\n        </settings>\n        <settings>\n            <name>BICOMP</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>BUILDACTION</name>\n            <archiveVersion>1</archiveVersion>\n            <data>\n                <prebuild></prebuild>\n                <postbuild></postbuild>\n            </data>\n        </settings>\n        <settings>\n            <name>ILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>20</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>IlinkLibIOConfig</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>XLinkMisraHandler</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkInputFileSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOutputFile</name>\n                    <state>dpp-qv.out</state>\n                </option>\n                <option>\n                    <name>IlinkDebugInfoEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkKeepSymbols</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkConfigDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkMapFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogInitialization</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogModule</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogSection</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogVeneer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfOverride</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile</name>\n                    <state>$PROJ_DIR$\\dpp-qv.icf</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFileSlave</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkSuppressDiags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsRem</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsWarn</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsErr</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkWarningsAreErrors</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkUseExtraOptions</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkLowLevelInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAutoLibEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAdditionalLibs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkOverrideProgramEntryLabel</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabelSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabel</name>\n                    <state>__iar_program_start</state>\n                </option>\n                <option>\n                    <name>DoFill</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>FillerByte</name>\n                    <state>0xFF</state>\n                </option>\n                <option>\n                    <name>FillerStart</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>FillerEnd</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>CrcSize</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcAlign</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcPoly</name>\n                    <state>0x11021</state>\n                </option>\n                <option>\n                    <name>CrcCompl</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcBitOrder</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcInitialValue</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>DoCrc</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkBufferedTerminalOutput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkStdoutInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcFullSize</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIElfToolPostProcess</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogAutoLibSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogRedirSymbols</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogUnusedFragments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcReverseByteOrder</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcUseAsInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptInline</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsAllow</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsForce</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptMergeDuplSections</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptUseVfe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptForceVfe</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackAnalysisEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackControlFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkStackCallGraphFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CrcAlgorithm</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcUnitSize</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkThreadsSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogCallGraph</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile_AltDefault</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkHeapSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLocaleSelect</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IARCHIVE</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>IarchiveInputs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IarchiveOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IarchiveOutput</name>\n                    <state>###Unitialized###</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>BILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>Coder</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n    </configuration>\n    <group>\n        <name>Application</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\bsp.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\bsp.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\dpp.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\main.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\philo.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\table.c</name>\n        </file>\n    </group>\n    <group>\n        <name>nucleo-l053r8</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\iar\\startup_stm32l053xx.s</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\stm32l053xx.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\stm32l0xx.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\system_stm32l0xx.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\nucleo-l053r8\\system_stm32l0xx.h</name>\n        </file>\n    </group>\n    <group>\n        <name>QP</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qepn.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qfn.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qvn\\qvn.c</name>\n        </file>\n    </group>\n    <group>\n        <name>QP_port</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar\\qfn_port.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar\\qvn_port.c</name>\n        </file>\n    </group>\n</project>\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/qv/iar/dpp-qv.eww",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<workspace>\n  <project>\n    <path>$WS_DIR$\\dpp-qv.ewp</path>\n  </project>\n  <batchBuild/>\n</workspace>\n\n\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/qv/iar/dpp-qv.icf",
    "content": "/*###ICF### Section handled by ICF editor, don't touch! ****/\n/*-Editor annotation file-*/\n/* IcfEditorFile=\"$TOOLKIT_DIR$\\config\\ide\\IcfEditor\\cortex_v1_0.xml\" */\n/*-Specials-*/\ndefine symbol __ICFEDIT_intvec_start__ = 0x08000000;\n/*-Memory Regions-*/\ndefine symbol __ICFEDIT_region_ROM_start__ = 0x08000000;\ndefine symbol __ICFEDIT_region_ROM_end__   = 0x0800FFFF;\ndefine symbol __ICFEDIT_region_RAM_start__ = 0x20000000;\ndefine symbol __ICFEDIT_region_RAM_end__   = 0x20001FFF;\n/*-Sizes-*/\ndefine symbol __ICFEDIT_size_cstack__ = 1024;\ndefine symbol __ICFEDIT_size_heap__   = 0;\n/**** End of ICF editor section. ###ICF###*/\n\ndefine memory mem with size = 4G;\ndefine region ROM_region   = mem:[from __ICFEDIT_region_ROM_start__   to __ICFEDIT_region_ROM_end__];\ndefine region RAM_region   = mem:[from __ICFEDIT_region_RAM_start__   to __ICFEDIT_region_RAM_end__];\n\ndefine block CSTACK    with alignment = 8, size = __ICFEDIT_size_cstack__   { };\ndefine block HEAP      with alignment = 8, size = __ICFEDIT_size_heap__     { };\n\ninitialize by copy { readwrite };\ndo not initialize  { section .noinit };\n\nplace at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };\n\nplace in ROM_region   { readonly };\nplace in RAM_region   { readwrite,\n                        block CSTACK, block HEAP };\n\ndefine symbol __region_EEPROM_start__ = 0x08080000;\ndefine symbol __region_EEPROM_end__   = 0x080807FF;\ndefine region EEPROM_region = mem:[from __region_EEPROM_start__   to __region_EEPROM_end__];\n\nplace in EEPROM_region  { section .eeprom };\n                        "
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l053r8/table.c",
    "content": "/*.$file${.::table.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: dpp.qm\n* File:  ${.::table.c}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::table.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"  /* QP-nano port */\n#include \"bsp.h\"  /* Board Support Package */\n#include \"dpp.h\"  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(\"table\")\n\n/* Active object class -----------------------------------------------------*/\n/*.$declare${AOs::Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table} ...........................................................*/\ntypedef struct Table {\n/* protected: */\n    QActive super;\n\n/* private: */\n    uint8_t fork[N_PHILO];\n    uint8_t isHungry[N_PHILO];\n} Table;\n\n/* protected: */\nstatic QState Table_initial(Table * const me);\nstatic QState Table_active(Table * const me);\nstatic QState Table_serving(Table * const me);\nstatic QState Table_paused(Table * const me);\n/*.$enddecl${AOs::Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Global objects ----------------------------------------------------------*/\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 650U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.5.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Table} ........................................................*/\nstruct Table AO_Table;\n/*.$enddef${AOs::AO_Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n#define RIGHT(n_) ((uint8_t)(((n_) + (N_PHILO - 1U)) % N_PHILO))\n#define LEFT(n_)  ((uint8_t)(((n_) + 1U) % N_PHILO))\n#define FREE      ((uint8_t)0)\n#define USED      ((uint8_t)1)\n\n/*..........................................................................*/\n/*.$define${AOs::Table_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table_ctor} ......................................................*/\nvoid Table_ctor(void) {\n    uint8_t n;\n    Table *me = &AO_Table;\n\n    QActive_ctor(&me->super, Q_STATE_CAST(&Table_initial));\n    for (n = 0U; n < N_PHILO; ++n) {\n        me->fork[n] = FREE;\n        me->isHungry[n] = 0U;\n    }\n}\n/*.$enddef${AOs::Table_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table} ...........................................................*/\n/*.${AOs::Table::SM} .......................................................*/\nstatic QState Table_initial(Table * const me) {\n    /*.${AOs::Table::SM::initial} */\n    uint8_t n;\n    for (n = 0U; n < N_PHILO; ++n) {\n        me->fork[n] = FREE;\n        me->isHungry[n] = 0U;\n        BSP_displayPhilStat(n, \"thinking\");\n    }\n    return Q_TRAN(&Table_serving);\n}\n/*.${AOs::Table::SM::active} ...............................................*/\nstatic QState Table_active(Table * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Table::SM::active::TERMINATE} */\n        case TERMINATE_SIG: {\n            BSP_terminate(0);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::EAT} */\n        case EAT_SIG: {\n            Q_ERROR();\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Table::SM::active::serving} ......................................*/\nstatic QState Table_serving(Table * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Table::SM::active::serving} */\n        case Q_ENTRY_SIG: {\n            uint8_t n;\n            for (n = 0U; n < N_PHILO; ++n) { /* give permissions to eat... */\n                if ((me->isHungry[n] != 0U)\n                    && (me->fork[LEFT(n)] == FREE)\n                    && (me->fork[n] == FREE))\n                {\n                    QActive *philo;\n\n                    me->fork[LEFT(n)] = USED;\n                    me->fork[n] = USED;\n                    philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\n                    QACTIVE_POST(philo, EAT_SIG, n);\n                    me->isHungry[n] = 0U;\n                    BSP_displayPhilStat(n, \"eating  \");\n                }\n            }\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::HUNGRY} */\n        case HUNGRY_SIG: {\n            uint8_t n, m;\n            QActive *philo;\n\n            n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* phil ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n\n            BSP_displayPhilStat(n, \"hungry  \");\n            m = LEFT(n);\n            /*.${AOs::Table::SM::active::serving::HUNGRY::[bothfree]} */\n            if ((me->fork[m] == FREE) && (me->fork[n] == FREE)) {\n                me->fork[m] = USED;\n                me->fork[n] = USED;\n                philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\n                QACTIVE_POST(philo, EAT_SIG, n);\n                BSP_displayPhilStat(n, \"eating  \");\n                status_ = Q_HANDLED();\n            }\n            /*.${AOs::Table::SM::active::serving::HUNGRY::[else]} */\n            else {\n                me->isHungry[n] = 1U;\n                status_ = Q_HANDLED();\n            }\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::DONE} */\n        case DONE_SIG: {\n            uint8_t n, m;\n            QActive *philo;\n\n            n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* phil ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n\n            BSP_displayPhilStat(n, \"thinking\");\n            m = LEFT(n);\n            /* both forks of Phil[n] must be used */\n            Q_ASSERT((me->fork[n] == USED) && (me->fork[m] == USED));\n\n            me->fork[m] = FREE;\n            me->fork[n] = FREE;\n            m = RIGHT(n); /* check the right neighbor */\n\n            if ((me->isHungry[m] != 0U) && (me->fork[m] == FREE)) {\n                me->fork[n] = USED;\n                me->fork[m] = USED;\n                me->isHungry[m] = 0U;\n                philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n                QACTIVE_POST(philo, EAT_SIG, m);\n                BSP_displayPhilStat(m, \"eating  \");\n            }\n            m = LEFT(n); /* check the left neighbor */\n            n = LEFT(m); /* left fork of the left neighbor */\n            if ((me->isHungry[m] != 0U) && (me->fork[n] == FREE)) {\n                me->fork[m] = USED;\n                me->fork[n] = USED;\n                me->isHungry[m] = 0U;\n                philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n                QACTIVE_POST(philo, EAT_SIG, m);\n                BSP_displayPhilStat(m, \"eating  \");\n            }\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::EAT} */\n        case EAT_SIG: {\n            Q_ERROR();\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::PAUSE} */\n        case PAUSE_SIG: {\n            status_ = Q_TRAN(&Table_paused);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Table_active);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Table::SM::active::paused} .......................................*/\nstatic QState Table_paused(Table * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Table::SM::active::paused} */\n        case Q_ENTRY_SIG: {\n            BSP_displayPaused(1U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused} */\n        case Q_EXIT_SIG: {\n            BSP_displayPaused(0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused::SERVE} */\n        case SERVE_SIG: {\n            status_ = Q_TRAN(&Table_serving);\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused::HUNGRY} */\n        case HUNGRY_SIG: {\n            uint8_t n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* philo ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n            me->isHungry[n] = 1U;\n            BSP_displayPhilStat(n, \"hungry  \");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused::DONE} */\n        case DONE_SIG: {\n            uint8_t n, m;\n\n            n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* phil ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n\n            BSP_displayPhilStat(n, \"thinking\");\n            m = LEFT(n);\n            /* both forks of Phil[n] must be used */\n            Q_ASSERT((me->fork[n] == USED) && (me->fork[m] == USED));\n\n            me->fork[m] = FREE;\n            me->fork[n] = FREE;\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Table_active);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${AOs::Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l152re/README.txt",
    "content": "About this Example\n==================\nThis directory contains the \"Dining Philosophers Problem\" (DPP) example\nfor CMSIS-RTOS RTX application running on the STM32 NUCLEO-L152RE board\n(ARM Cortex-M3). This directory contains portable code that should\ncompile with any C compiler for ARM Cortex-M.\n\nThe sub-directories contain code and project files, which are specific to\nthe particular ARM toolchains, such as ARM (MDK-ARM) and IAR.\n\nPlease refer to the README files in the sub-directories for specific\ninstructions how to use and customize the example to your needs.\n\n\nSupport Code for NUCLEO-L152RE Board\n====================================\nThe directory qpc\\3rd_party\\nucleo-l152re contains the CMSIS-compliant\ndevice code for the STM32L152xx MCUs (ARM Cortex-M3). Please see the\nREADME.txt file in this folder for more details.\n\n\nAdjusting the CPU Clock Speed\n=============================\nThe current setting is to run at 2MHz from the MSI (internal oscillator),\nbut the CPU clock speed can be modified by editing the file\nsystem_stm32l1xx.c. Ther file system_stm32l1xx_pll.c provides an example\nof clock setting using the PLL driven from the MSE.\n\n***\nNOTE:\nThe NUCLEO boards have a wide range of possible clock selections, depending\non the solder bridge configuration. Please see Chapter 5.7 \"OSC clock\" in\nthe STM32 NUCLEO Boards User Manual (ST document UM1724) for more information.\n***\n\n\nQS Software Tracing Instrumentation\n===================================\nThis example provides the \"Spy\" build configuration, which outputs the QS\n(Quantum Spy) software tracing data through UART2, which is connected to\nthe virtual COM port of the ST-Link debugger.\n\nThe output is generated at 115200 baud rate.\n\nHere is an example invocation of the QSPY host application to receive\nthe QS data from NUCLEO-L152RE:\n\nqspy -cCOM20\n\nThe actual COM port number might be different on your Windows machine.\nPlease check the Device Manager to find the COM port number.\n\n\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l152re/README.url",
    "content": "[InternetShortcut]\nURL=http://www.state-machine.com/qpn/arm-cm_dpp_nucleo-l152re.html\nIconFile=http://www.state-machine.com/qp.ico\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l152re/bsp.h",
    "content": "/*****************************************************************************\n* Product: DPP example\n* Last Updated for Version: 5.4.0\n* Date of the Last Update:  2015-03-07\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* Web  : www.state-machine.com\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BSP_H\n#define BSP_H\n\n#define BSP_TICKS_PER_SEC    100U\n\nvoid BSP_init(void);\nvoid BSP_displayPaused(uint8_t paused);\nvoid BSP_displayPhilStat(uint8_t n, char_t const *stat);\nvoid BSP_terminate(int16_t result);\n\nvoid BSP_randomSeed(uint32_t seed);   /* random seed */\nuint32_t BSP_random(void);            /* pseudo-random generator */\n\n#endif /* BSP_H */\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l152re/dpp.h",
    "content": "/*.$file${.::dpp.h} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: dpp.qm\n* File:  ${.::dpp.h}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::dpp.h} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#ifndef DPP_H\n#define DPP_H\n\nenum DPPSignals {\n    EAT_SIG = Q_USER_SIG, /* published by Table to let a philosopher eat */\n    DONE_SIG,             /* published by Philosopher when done eating */\n    PAUSE_SIG,            /* published by BSP to pause the application */\n    SERVE_SIG,            /* published by BSP to pause the application */\n    TERMINATE_SIG,        /* published by BSP to terminate the application */\n    HUNGRY_SIG,           /* posted direclty to Table from hungry Philo */\n    MAX_SIG               /* the last signal */\n};\n\n/* number of philosophers */\n#define N_PHILO ((uint8_t)5)\n#define PHILO_0_PRIO 1\n\n/*.$declare${AOs::AO_Philo0} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo0;\n/*.$enddecl${AOs::AO_Philo0} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo1} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo1;\n/*.$enddecl${AOs::AO_Philo1} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo2} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo2;\n/*.$enddecl${AOs::AO_Philo2} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo3} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo3;\n/*.$enddecl${AOs::AO_Philo3} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo4} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo4;\n/*.$enddecl${AOs::AO_Philo4} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Table AO_Table;\n/*.$enddecl${AOs::AO_Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/*.$declare${AOs::Philo_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo_ctor} ......................................................*/\nvoid Philo_ctor(void);\n/*.$enddecl${AOs::Philo_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::Table_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table_ctor} ......................................................*/\nvoid Table_ctor(void);\n/*.$enddecl${AOs::Table_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n#endif /* DPP_H */\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l152re/dpp.qm",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<model version=\"4.6.0\" links=\"1\">\n <documentation>Dining Philosopher Problem example with QActive</documentation>\n <!--${qpn}-->\n <framework name=\"qpn\"/>\n <!--${AOs}-->\n <package name=\"AOs\" stereotype=\"0x02\">\n  <!--${AOs::Philo}-->\n  <class name=\"Philo\" superclass=\"qpn::QActive\">\n   <!--${AOs::Philo::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${AOs::Philo::SM::initial}-->\n    <initial target=\"../1\">\n     <initial_glyph conn=\"2,3,5,1,20,5,-3\">\n      <action box=\"0,-2,6,2\"/>\n     </initial_glyph>\n    </initial>\n    <!--${AOs::Philo::SM::thinking}-->\n    <state name=\"thinking\">\n     <entry>QActive_armX(&amp;me-&gt;super, 0U, THINK_TIME, 0U);</entry>\n     <exit>QActive_disarmX(&amp;me-&gt;super, 0U);</exit>\n     <!--${AOs::Philo::SM::thinking::Q_TIMEOUT}-->\n     <tran trig=\"Q_TIMEOUT\" target=\"../../2\">\n      <tran_glyph conn=\"2,12,3,1,20,13,-3\">\n       <action box=\"0,-2,6,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Philo::SM::thinking::EAT, DONE}-->\n     <tran trig=\"EAT, DONE\">\n      <action>Q_ERROR(); /* these events should never arrive in this state */</action>\n      <tran_glyph conn=\"2,17,3,-1,13\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,5,17,16\">\n      <entry box=\"1,2,5,2\"/>\n      <exit box=\"1,4,6,2\"/>\n     </state_glyph>\n    </state>\n    <!--${AOs::Philo::SM::hungry}-->\n    <state name=\"hungry\">\n     <entry>QACTIVE_POST(&amp;AO_Table, HUNGRY_SIG, me-&gt;super.prio);</entry>\n     <!--${AOs::Philo::SM::hungry::EAT}-->\n     <tran trig=\"EAT\" target=\"../../3\">\n      <tran_glyph conn=\"2,30,3,1,20,13,-3\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Philo::SM::hungry::DONE}-->\n     <tran trig=\"DONE\">\n      <action>Q_ERROR(); /* this event should never arrive in this state */</action>\n      <tran_glyph conn=\"2,36,3,-1,14\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,23,17,16\">\n      <entry box=\"1,2,5,2\"/>\n     </state_glyph>\n    </state>\n    <!--${AOs::Philo::SM::eating}-->\n    <state name=\"eating\">\n     <entry>QActive_armX(&amp;me-&gt;super, 0U, EAT_TIME, 0U);</entry>\n     <exit>QActive_disarmX(&amp;me-&gt;super, 0U);\nQACTIVE_POST(QF_ACTIVE_CAST(&amp;AO_Table), DONE_SIG, me-&gt;super.prio);</exit>\n     <!--${AOs::Philo::SM::eating::Q_TIMEOUT}-->\n     <tran trig=\"Q_TIMEOUT\" target=\"../../1\">\n      <tran_glyph conn=\"2,51,3,1,22,-41,-5\">\n       <action box=\"0,-2,6,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Philo::SM::eating::EAT, DONE}-->\n     <tran trig=\"EAT, DONE\">\n      <action>Q_ERROR(); /* these events should never arrive in this state */</action>\n      <tran_glyph conn=\"2,55,3,-1,13\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,41,17,18\">\n      <entry box=\"1,2,5,2\"/>\n      <exit box=\"1,4,5,2\"/>\n     </state_glyph>\n    </state>\n    <state_diagram size=\"37,61\"/>\n   </statechart>\n  </class>\n  <!--${AOs::Table}-->\n  <class name=\"Table\" superclass=\"qpn::QActive\">\n   <!--${AOs::Table::fork[N_PHILO]}-->\n   <attribute name=\"fork[N_PHILO]\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Table::isHungry[N_PHILO]}-->\n   <attribute name=\"isHungry[N_PHILO]\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Table::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${AOs::Table::SM::initial}-->\n    <initial target=\"../1/2\">\n     <action>uint8_t n;\nfor (n = 0U; n &lt; N_PHILO; ++n) {\n    me-&gt;fork[n] = FREE;\n    me-&gt;isHungry[n] = 0U;\n    BSP_displayPhilStat(n, &quot;thinking&quot;);\n}</action>\n     <initial_glyph conn=\"3,3,5,1,44,18,-9\">\n      <action box=\"0,-2,6,2\"/>\n     </initial_glyph>\n    </initial>\n    <!--${AOs::Table::SM::active}-->\n    <state name=\"active\">\n     <!--${AOs::Table::SM::active::TERMINATE}-->\n     <tran trig=\"TERMINATE\">\n      <action>BSP_terminate(0);</action>\n      <tran_glyph conn=\"2,11,3,-1,14\">\n       <action box=\"0,-2,11,4\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Table::SM::active::EAT}-->\n     <tran trig=\"EAT\">\n      <action>Q_ERROR();</action>\n      <tran_glyph conn=\"2,15,3,-1,14\">\n       <action box=\"0,-2,10,4\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Table::SM::active::serving}-->\n     <state name=\"serving\">\n      <entry brief=\"give pending permitions to eat\">uint8_t n;\nfor (n = 0U; n &lt; N_PHILO; ++n) { /* give permissions to eat... */\n    if ((me-&gt;isHungry[n] != 0U)\n        &amp;&amp; (me-&gt;fork[LEFT(n)] == FREE)\n        &amp;&amp; (me-&gt;fork[n] == FREE))\n    {\n        QActive *philo;\n\n        me-&gt;fork[LEFT(n)] = USED;\n        me-&gt;fork[n] = USED;\n        philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\n        QACTIVE_POST(philo, EAT_SIG, n);\n        me-&gt;isHungry[n] = 0U;\n        BSP_displayPhilStat(n, &quot;eating  &quot;);\n    }\n}</entry>\n      <!--${AOs::Table::SM::active::serving::HUNGRY}-->\n      <tran trig=\"HUNGRY\">\n       <action>uint8_t n, m;\nQActive *philo;\n\nn = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* phil ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\n\nBSP_displayPhilStat(n, &quot;hungry  &quot;);\nm = LEFT(n);</action>\n       <!--${AOs::Table::SM::active::serving::HUNGRY::[bothfree]}-->\n       <choice>\n        <guard brief=\"both free\">(me-&gt;fork[m] == FREE) &amp;&amp; (me-&gt;fork[n] == FREE)</guard>\n        <action>me-&gt;fork[m] = USED;\nme-&gt;fork[n] = USED;\nphilo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\nQACTIVE_POST(philo, EAT_SIG, n);\nBSP_displayPhilStat(n, &quot;eating  &quot;);</action>\n        <choice_glyph conn=\"19,26,5,-1,10\">\n         <action box=\"1,0,10,2\"/>\n        </choice_glyph>\n       </choice>\n       <!--${AOs::Table::SM::active::serving::HUNGRY::[else]}-->\n       <choice>\n        <guard>else</guard>\n        <action>me-&gt;isHungry[n] = 1U;</action>\n        <choice_glyph conn=\"19,26,4,-1,5,10\">\n         <action box=\"1,5,6,2\"/>\n        </choice_glyph>\n       </choice>\n       <tran_glyph conn=\"4,26,3,-1,15\">\n        <action box=\"0,-2,8,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::serving::DONE}-->\n      <tran trig=\"DONE\">\n       <action>uint8_t n, m;\nQActive *philo;\n\nn = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* phil ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\n\nBSP_displayPhilStat(n, &quot;thinking&quot;);\nm = LEFT(n);\n/* both forks of Phil[n] must be used */\nQ_ASSERT((me-&gt;fork[n] == USED) &amp;&amp; (me-&gt;fork[m] == USED));\n\nme-&gt;fork[m] = FREE;\nme-&gt;fork[n] = FREE;\nm = RIGHT(n); /* check the right neighbor */\n\nif ((me-&gt;isHungry[m] != 0U) &amp;&amp; (me-&gt;fork[m] == FREE)) {\n    me-&gt;fork[n] = USED;\n    me-&gt;fork[m] = USED;\n    me-&gt;isHungry[m] = 0U;\n    philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n    QACTIVE_POST(philo, EAT_SIG, m);\n    BSP_displayPhilStat(m, &quot;eating  &quot;);\n}\nm = LEFT(n); /* check the left neighbor */\nn = LEFT(m); /* left fork of the left neighbor */\nif ((me-&gt;isHungry[m] != 0U) &amp;&amp; (me-&gt;fork[n] == FREE)) {\n    me-&gt;fork[m] = USED;\n    me-&gt;fork[n] = USED;\n    me-&gt;isHungry[m] = 0U;\n    philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n    QACTIVE_POST(philo, EAT_SIG, m);\n    BSP_displayPhilStat(m, &quot;eating  &quot;);\n}</action>\n       <tran_glyph conn=\"4,34,3,-1,15\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::serving::EAT}-->\n      <tran trig=\"EAT\">\n       <action>Q_ERROR();</action>\n       <tran_glyph conn=\"4,37,3,-1,15\">\n        <action box=\"0,-2,12,4\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::serving::PAUSE}-->\n      <tran trig=\"PAUSE\" target=\"../../3\">\n       <tran_glyph conn=\"4,41,3,1,37,6,-3\">\n        <action box=\"0,-2,7,2\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"4,19,34,24\">\n       <entry box=\"1,2,27,2\"/>\n      </state_glyph>\n     </state>\n     <!--${AOs::Table::SM::active::paused}-->\n     <state name=\"paused\">\n      <entry>BSP_displayPaused(1U);</entry>\n      <exit>BSP_displayPaused(0U);</exit>\n      <!--${AOs::Table::SM::active::paused::SERVE}-->\n      <tran trig=\"SERVE\" target=\"../../2\">\n       <tran_glyph conn=\"4,57,3,1,39,-20,-5\">\n        <action box=\"0,-2,7,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::paused::HUNGRY}-->\n      <tran trig=\"HUNGRY\">\n       <action>uint8_t n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* philo ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\nme-&gt;isHungry[n] = 1U;\nBSP_displayPhilStat(n, &quot;hungry  &quot;);</action>\n       <tran_glyph conn=\"4,60,3,-1,15\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::paused::DONE}-->\n      <tran trig=\"DONE\">\n       <action>uint8_t n, m;\n\nn = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* phil ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\n\nBSP_displayPhilStat(n, &quot;thinking&quot;);\nm = LEFT(n);\n/* both forks of Phil[n] must be used */\nQ_ASSERT((me-&gt;fork[n] == USED) &amp;&amp; (me-&gt;fork[m] == USED));\n\nme-&gt;fork[m] = FREE;\nme-&gt;fork[n] = FREE;</action>\n       <tran_glyph conn=\"4,63,3,-1,15\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"4,45,34,20\">\n       <entry box=\"1,2,18,4\"/>\n       <exit box=\"1,6,18,4\"/>\n      </state_glyph>\n     </state>\n     <state_glyph node=\"2,5,43,62\"/>\n    </state>\n    <state_diagram size=\"49,69\"/>\n   </statechart>\n  </class>\n  <!--${AOs::AO_Philo0}-->\n  <attribute name=\"AO_Philo0\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo1}-->\n  <attribute name=\"AO_Philo1\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo2}-->\n  <attribute name=\"AO_Philo2\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo3}-->\n  <attribute name=\"AO_Philo3\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo4}-->\n  <attribute name=\"AO_Philo4\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Table}-->\n  <attribute name=\"AO_Table\" type=\"struct Table\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::Philo_ctor}-->\n  <operation name=\"Philo_ctor\" type=\"void\" visibility=\"0x00\" properties=\"0x00\">\n   <code>QActive_ctor(&amp;AO_Philo0.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo1.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo2.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo3.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo4.super, Q_STATE_CAST(&amp;Philo_initial));\nBSP_randomSeed(123U);</code>\n  </operation>\n  <!--${AOs::Table_ctor}-->\n  <operation name=\"Table_ctor\" type=\"void\" visibility=\"0x00\" properties=\"0x00\">\n   <code>uint8_t n;\nTable *me = &amp;AO_Table;\n\nQActive_ctor(&amp;me-&gt;super, Q_STATE_CAST(&amp;Table_initial));\nfor (n = 0U; n &lt; N_PHILO; ++n) {\n    me-&gt;fork[n] = FREE;\n    me-&gt;isHungry[n] = 0U;\n}</code>\n  </operation>\n </package>\n <!--${.}-->\n <directory name=\".\">\n  <!--${.::dpp.h}-->\n  <file name=\"dpp.h\">\n   <text>#ifndef DPP_H\n#define DPP_H\n\nenum DPPSignals {\n    EAT_SIG = Q_USER_SIG, /* published by Table to let a philosopher eat */\n    DONE_SIG,             /* published by Philosopher when done eating */\n    PAUSE_SIG,            /* published by BSP to pause the application */\n    SERVE_SIG,            /* published by BSP to pause the application */\n    TERMINATE_SIG,        /* published by BSP to terminate the application */\n    HUNGRY_SIG,           /* posted direclty to Table from hungry Philo */\n    MAX_SIG               /* the last signal */\n};\n\n/* number of philosophers */\n#define N_PHILO ((uint8_t)5)\n#define PHILO_0_PRIO 1\n\n$declare${AOs::AO_Philo0}\n$declare${AOs::AO_Philo1}\n$declare${AOs::AO_Philo2}\n$declare${AOs::AO_Philo3}\n$declare${AOs::AO_Philo4}\n$declare${AOs::AO_Table}\n\n$declare${AOs::Philo_ctor}\n$declare${AOs::Table_ctor}\n\n#endif /* DPP_H */\n</text>\n  </file>\n  <!--${.::philo.c}-->\n  <file name=\"philo.c\">\n   <text>#include &quot;qpn.h&quot;  /* QP-nano port */\n#include &quot;bsp.h&quot;  /* Board Support Package */\n#include &quot;dpp.h&quot;  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(&quot;philo&quot;)\n\n/* Active object class -----------------------------------------------------*/\n$declare${AOs::Philo}\n\n/* Global objects ----------------------------------------------------------*/\n$define${AOs::AO_Philo0}\n$define${AOs::AO_Philo1}\n$define${AOs::AO_Philo2}\n$define${AOs::AO_Philo3}\n$define${AOs::AO_Philo4}\n\n/* Local objects -----------------------------------------------------------*/\n#define THINK_TIME  \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + (BSP_TICKS_PER_SEC/2U))\n#define EAT_TIME    \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + BSP_TICKS_PER_SEC)\n\n/* Philo definition --------------------------------------------------------*/\n$define${AOs::Philo_ctor}\n$define${AOs::Philo}</text>\n  </file>\n  <!--${.::table.c}-->\n  <file name=\"table.c\">\n   <text>#include &quot;qpn.h&quot;  /* QP-nano port */\n#include &quot;bsp.h&quot;  /* Board Support Package */\n#include &quot;dpp.h&quot;  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(&quot;table&quot;)\n\n/* Active object class -----------------------------------------------------*/\n$declare${AOs::Table}\n\n/* Global objects ----------------------------------------------------------*/\n$define${AOs::AO_Table}\n\n#define RIGHT(n_) ((uint8_t)(((n_) + (N_PHILO - 1U)) % N_PHILO))\n#define LEFT(n_)  ((uint8_t)(((n_) + 1U) % N_PHILO))\n#define FREE      ((uint8_t)0)\n#define USED      ((uint8_t)1)\n\n/*..........................................................................*/\n$define${AOs::Table_ctor}\n$define${AOs::Table}</text>\n  </file>\n </directory>\n</model>\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l152re/main.c",
    "content": "/*****************************************************************************\n* Product: DPP example\n* Last Updated for Version: 5.8.0\n* Date of the Last Update:  2016-11-06\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"  /* QP-nano */\n#include \"bsp.h\"  /* Board Support Package */\n#include \"dpp.h\"  /* Application interface */\n\n/*..........................................................................*/\nstatic QEvt l_philoQueue[N_PHILO][N_PHILO];\nstatic QEvt l_tableQueue[2];\n\n/* QF_active[] array defines all active object control blocks --------------*/\nQActiveCB const Q_ROM QF_active[] = {\n    { (QActive *)0,           (QEvt *)0,        0U                      },\n    { (QActive *)&AO_Philo0,  l_philoQueue[0],  Q_DIM(l_philoQueue[0])  },\n    { (QActive *)&AO_Philo1,  l_philoQueue[1],  Q_DIM(l_philoQueue[1])  },\n    { (QActive *)&AO_Philo2,  l_philoQueue[2],  Q_DIM(l_philoQueue[2])  },\n    { (QActive *)&AO_Philo3,  l_philoQueue[3],  Q_DIM(l_philoQueue[3])  },\n    { (QActive *)&AO_Philo4,  l_philoQueue[4],  Q_DIM(l_philoQueue[4])  },\n    { (QActive *)&AO_Table,   l_tableQueue,     Q_DIM(l_tableQueue)     }\n};\n\n/*..........................................................................*/\nint_t main() {\n    Philo_ctor();    /* instantiate all Philo AOs */\n    Table_ctor();    /* instantiate the Table AO */\n\n    QF_init(Q_DIM(QF_active)); /* initialize the QF-nano framework */\n    BSP_init();      /* initialize the Board Support Package */\n\n    return QF_run(); /* transfer control to QF-nano */\n}\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l152re/philo.c",
    "content": "/*.$file${.::philo.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: dpp.qm\n* File:  ${.::philo.c}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::philo.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"  /* QP-nano port */\n#include \"bsp.h\"  /* Board Support Package */\n#include \"dpp.h\"  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(\"philo\")\n\n/* Active object class -----------------------------------------------------*/\n/*.$declare${AOs::Philo} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo} ...........................................................*/\ntypedef struct Philo {\n/* protected: */\n    QActive super;\n} Philo;\n\n/* protected: */\nstatic QState Philo_initial(Philo * const me);\nstatic QState Philo_thinking(Philo * const me);\nstatic QState Philo_hungry(Philo * const me);\nstatic QState Philo_eating(Philo * const me);\n/*.$enddecl${AOs::Philo} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Global objects ----------------------------------------------------------*/\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 650U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.5.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo0} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo0} .......................................................*/\nstruct Philo AO_Philo0;\n/*.$enddef${AOs::AO_Philo0} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo1} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo1} .......................................................*/\nstruct Philo AO_Philo1;\n/*.$enddef${AOs::AO_Philo1} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo2} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo2} .......................................................*/\nstruct Philo AO_Philo2;\n/*.$enddef${AOs::AO_Philo2} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo3} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo3} .......................................................*/\nstruct Philo AO_Philo3;\n/*.$enddef${AOs::AO_Philo3} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo4} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo4} .......................................................*/\nstruct Philo AO_Philo4;\n/*.$enddef${AOs::AO_Philo4} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Local objects -----------------------------------------------------------*/\n#define THINK_TIME  \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + (BSP_TICKS_PER_SEC/2U))\n#define EAT_TIME    \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + BSP_TICKS_PER_SEC)\n\n/* Philo definition --------------------------------------------------------*/\n/*.$define${AOs::Philo_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo_ctor} ......................................................*/\nvoid Philo_ctor(void) {\n    QActive_ctor(&AO_Philo0.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo1.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo2.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo3.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo4.super, Q_STATE_CAST(&Philo_initial));\n    BSP_randomSeed(123U);\n}\n/*.$enddef${AOs::Philo_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Philo} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo} ...........................................................*/\n/*.${AOs::Philo::SM} .......................................................*/\nstatic QState Philo_initial(Philo * const me) {\n    /*.${AOs::Philo::SM::initial} */\n    return Q_TRAN(&Philo_thinking);\n}\n/*.${AOs::Philo::SM::thinking} .............................................*/\nstatic QState Philo_thinking(Philo * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Philo::SM::thinking} */\n        case Q_ENTRY_SIG: {\n            QActive_armX(&me->super, 0U, THINK_TIME, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::thinking} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::thinking::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Philo_hungry);\n            break;\n        }\n        /*.${AOs::Philo::SM::thinking::EAT, DONE} */\n        case EAT_SIG: /* intentionally fall through */\n        case DONE_SIG: {\n            Q_ERROR(); /* these events should never arrive in this state */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Philo::SM::hungry} ...............................................*/\nstatic QState Philo_hungry(Philo * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Philo::SM::hungry} */\n        case Q_ENTRY_SIG: {\n            QACTIVE_POST(&AO_Table, HUNGRY_SIG, me->super.prio);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::hungry::EAT} */\n        case EAT_SIG: {\n            status_ = Q_TRAN(&Philo_eating);\n            break;\n        }\n        /*.${AOs::Philo::SM::hungry::DONE} */\n        case DONE_SIG: {\n            Q_ERROR(); /* this event should never arrive in this state */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Philo::SM::eating} ...............................................*/\nstatic QState Philo_eating(Philo * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Philo::SM::eating} */\n        case Q_ENTRY_SIG: {\n            QActive_armX(&me->super, 0U, EAT_TIME, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::eating} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            QACTIVE_POST(QF_ACTIVE_CAST(&AO_Table), DONE_SIG, me->super.prio);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::eating::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Philo_thinking);\n            break;\n        }\n        /*.${AOs::Philo::SM::eating::EAT, DONE} */\n        case EAT_SIG: /* intentionally fall through */\n        case DONE_SIG: {\n            Q_ERROR(); /* these events should never arrive in this state */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${AOs::Philo} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l152re/qk/armclang/README.txt",
    "content": "About this Example\n==================\nThis example demonstrates how to use the uVision IDE together with\nthe MDK-ARM toolchain.\n\n***\nNOTE: This example requires installing the following Software Pack\nin the Keil uVision: Keil::STM32L152_DFP.\n***\n\n\nuVision Project File\n====================\nThe MDK-ARM uVision project file provided with this example uses\nrelative paths to the QP/C framework location (includes, port, and\nlibraries. These relative paths must be modified when the project\nis moved to different relative location.\n\n\nAdjusting Stack and Heap Sizes\n==============================\nThe stack and heap sizes are determined in this project by the\ncommand-line options for the ARM assembler (see the Asm tab in\nthe \"Options for Target\" dialog box in uVision). Specifically,\nyou should define symbols: Stack_Size=xxx Heap_Size=yyy, where\nxxx represents a numerical value of stack size and yyy the\nnumberical value of the heap size.\n\n\nStartup Code\n============\nThe startup code for the STM32L1xx MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\nucleo-l152re\\arm\\startup_stm32l1xx.s\n\nThe file startup_stm32l1xx.s provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n\n\nAdjusting the CPU Clock Speed\n=============================\nThe current setting is to run at 2MHz from the MSI (internal oscillator),\nbut the CPU clock speed can be modified by editing the file\nsystem_stm32l1xx.c. Ther file system_stm32l1xx_pll.c provides an example\nof clock setting using the PLL driven from the MSE.\n\n***\nNOTE:\nThe NUCLEO boards have a wide range of possible clock selections, depending\non the solder bridge configuration. Please see Chapter 5.7 \"OSC clock\" in\nthe STM32 NUCLEO Boards User Manual (ST document UM1724) for more information.\n***\n\n  "
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l152re/qk/armclang/dpp-qk.uvoptx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<ProjectOpt xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_optx.xsd\">\n\n  <SchemaVersion>1.0</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Extensions>\n    <cExt>*.c</cExt>\n    <aExt>*.s*; *.src; *.a*</aExt>\n    <oExt>*.obj; *.o</oExt>\n    <lExt>*.lib</lExt>\n    <tExt>*.txt; *.h; *.inc</tExt>\n    <pExt>*.plm</pExt>\n    <CppX>*.cpp</CppX>\n    <nMigrate>0</nMigrate>\n  </Extensions>\n\n  <DaveTm>\n    <dwLowDateTime>0</dwLowDateTime>\n    <dwHighDateTime>0</dwHighDateTime>\n  </DaveTm>\n\n  <Target>\n    <TargetName>dpp-dbg</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>0</RunSim>\n        <RunTarget>1</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\dbg\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>1</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>18</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>1</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>5</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>STLink\\ST-LINKIII-KEIL_SWO.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGUARM</Key>\n          <Name>(105=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ST-LINKIII-KEIL_SWO</Key>\n          <Name>-U066EFF495056805087184715 -I0 -O8398 -S1 -C0 -A0 -N00(\"ARM CoreSight SW-DP\") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32L152RE$Flash\\STM32L1xx_512.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_512 -FS08000000 -FL080000 -FP0($$Device:STM32L152RE$Flash\\STM32L1xx_512.FLM))</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint>\n        <Bp>\n          <Number>0</Number>\n          <Type>0</Type>\n          <LineNumber>214</LineNumber>\n          <EnabledFlag>1</EnabledFlag>\n          <Address>0</Address>\n          <ByteObject>0</ByteObject>\n          <HtxType>0</HtxType>\n          <ManyObjects>0</ManyObjects>\n          <SizeOfObject>0</SizeOfObject>\n          <BreakByAccess>0</BreakByAccess>\n          <BreakIfRCount>0</BreakIfRCount>\n          <Filename>..\\bsp.c</Filename>\n          <ExecCommand></ExecCommand>\n          <Expression></Expression>\n        </Bp>\n      </Breakpoint>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Target>\n    <TargetName>dpp-rel</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>0</RunSim>\n        <RunTarget>1</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\rel\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>0</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>18</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>1</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>5</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>STLink\\ST-LINKIII-KEIL_SWO.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGUARM</Key>\n          <Name>(105=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ST-LINKIII-KEIL_SWO</Key>\n          <Name>-U066EFF495056805087184715 -I0 -O8430 -S1 -C0 -A0 -N00(\"ARM CoreSight SW-DP\") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32L152RE$Flash\\STM32L1xx_512.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_512 -FS08000000 -FL080000 -FP0($$Device:STM32L152RE$Flash\\STM32L1xx_512.FLM))</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint>\n        <Bp>\n          <Number>0</Number>\n          <Type>0</Type>\n          <LineNumber>214</LineNumber>\n          <EnabledFlag>1</EnabledFlag>\n          <Address>0</Address>\n          <ByteObject>0</ByteObject>\n          <HtxType>0</HtxType>\n          <ManyObjects>0</ManyObjects>\n          <SizeOfObject>0</SizeOfObject>\n          <BreakByAccess>0</BreakByAccess>\n          <BreakIfRCount>0</BreakIfRCount>\n          <Filename>..\\bsp.c</Filename>\n          <ExecCommand></ExecCommand>\n          <Expression></Expression>\n        </Bp>\n      </Breakpoint>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Group>\n    <GroupName>Application</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>1</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\bsp.c</PathWithFileName>\n      <FilenameWithoutPath>bsp.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>2</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\bsp.h</PathWithFileName>\n      <FilenameWithoutPath>bsp.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>3</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\dpp.h</PathWithFileName>\n      <FilenameWithoutPath>dpp.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>4</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\main.c</PathWithFileName>\n      <FilenameWithoutPath>main.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>5</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\philo.c</PathWithFileName>\n      <FilenameWithoutPath>philo.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>6</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\README.txt</PathWithFileName>\n      <FilenameWithoutPath>README.txt</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>7</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\table.c</PathWithFileName>\n      <FilenameWithoutPath>table.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>nucleo-l152re</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>8</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\README.txt</PathWithFileName>\n      <FilenameWithoutPath>README.txt</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>9</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\stm32l1xx.h</PathWithFileName>\n      <FilenameWithoutPath>stm32l1xx.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>10</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\system_stm32l1xx.c</PathWithFileName>\n      <FilenameWithoutPath>system_stm32l1xx.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>11</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\system_stm32l1xx.h</PathWithFileName>\n      <FilenameWithoutPath>system_stm32l1xx.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>12</FileNumber>\n      <FileType>2</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\arm\\startup_stm32l1xx.s</PathWithFileName>\n      <FilenameWithoutPath>startup_stm32l1xx.s</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>13</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</PathWithFileName>\n      <FilenameWithoutPath>qepn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>14</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</PathWithFileName>\n      <FilenameWithoutPath>qfn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>15</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qkn\\qkn.c</PathWithFileName>\n      <FilenameWithoutPath>qkn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP_port</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>16</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qfn_port.h</PathWithFileName>\n      <FilenameWithoutPath>qfn_port.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>17</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qkn_port.c</PathWithFileName>\n      <FilenameWithoutPath>qkn_port.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n</ProjectOpt>\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l152re/qk/armclang/dpp-qk.uvprojx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<Project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_projx.xsd\">\n\n  <SchemaVersion>2.1</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Targets>\n    <Target>\n      <TargetName>dpp-dbg</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6130001::V6.13.1::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>STM32L152RE</Device>\n          <Vendor>STMicroelectronics</Vendor>\n          <PackID>Keil.STM32L1xx_DFP.1.0.2</PackID>\n          <PackURL>http://www.keil.com/pack/</PackURL>\n          <Cpu>IROM(0x08000000,0x80000) IRAM(0x20000000,0x14000) CPUTYPE(\"Cortex-M3\") CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_512 -FS08000000 -FL080000 -FP0($$Device:STM32L152RE$Flash\\STM32L1xx_512.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:STM32L152RE$Device\\Include\\STM32L1xx.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:STM32L152RE$SVD\\STM32L1xx.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\dbg\\</OutputDirectory>\n          <OutputName>dpp-qk</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>1</DebugInformation>\n          <BrowseInformation>1</BrowseInformation>\n          <ListingPath>.\\dbg\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\dbg\\dpp-qk.bin .\\dbg\\dpp-qk.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>0</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments> -REMAP -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM3</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM3</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4096</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3>\"\" ()</Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M3\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>0</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x14000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x8000000</StartAddress>\n                <Size>0x80000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x8000000</StartAddress>\n                <Size>0x80000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x14000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>0</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>1</vShortEn>\n            <vShortWch>1</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>HSE_VALUE=4000000</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include; ..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=512 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile></ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Application</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>bsp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\bsp.h</FilePath>\n            </File>\n            <File>\n              <FileName>dpp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\dpp.h</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>philo.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\philo.c</FilePath>\n            </File>\n            <File>\n              <FileName>README.txt</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\README.txt</FilePath>\n            </File>\n            <File>\n              <FileName>table.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\table.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>nucleo-l152re</GroupName>\n          <Files>\n            <File>\n              <FileName>README.txt</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\README.txt</FilePath>\n            </File>\n            <File>\n              <FileName>stm32l1xx.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\stm32l1xx.h</FilePath>\n            </File>\n            <File>\n              <FileName>system_stm32l1xx.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\system_stm32l1xx.c</FilePath>\n            </File>\n            <File>\n              <FileName>system_stm32l1xx.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\system_stm32l1xx.h</FilePath>\n            </File>\n            <File>\n              <FileName>startup_stm32l1xx.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\arm\\startup_stm32l1xx.s</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qkn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qkn\\qkn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qkn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qkn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n    <Target>\n      <TargetName>dpp-rel</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6130001::V6.13.1::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>STM32L152RE</Device>\n          <Vendor>STMicroelectronics</Vendor>\n          <PackID>Keil.STM32L1xx_DFP.1.0.2</PackID>\n          <PackURL>http://www.keil.com/pack/</PackURL>\n          <Cpu>IROM(0x08000000,0x80000) IRAM(0x20000000,0x14000) CPUTYPE(\"Cortex-M3\") CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_512 -FS08000000 -FL080000 -FP0($$Device:STM32L152RE$Flash\\STM32L1xx_512.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:STM32L152RE$Device\\Include\\STM32L1xx.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:STM32L152RE$SVD\\STM32L1xx.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\rel\\</OutputDirectory>\n          <OutputName>dpp-qk</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>0</DebugInformation>\n          <BrowseInformation>0</BrowseInformation>\n          <ListingPath>.\\rel\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\rel\\dpp-qk.bin .\\rel\\dpp-qk.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>0</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments> -REMAP -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM3</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM3</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4096</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3>\"\" ()</Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M3\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>0</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x14000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x8000000</StartAddress>\n                <Size>0x80000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x8000000</StartAddress>\n                <Size>0x80000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x14000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>0</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>1</vShortEn>\n            <vShortWch>1</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>NDEBUG</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include; ..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=512 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile>dpp-qk.sct</ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Application</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>bsp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\bsp.h</FilePath>\n            </File>\n            <File>\n              <FileName>dpp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\dpp.h</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>philo.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\philo.c</FilePath>\n            </File>\n            <File>\n              <FileName>README.txt</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\README.txt</FilePath>\n            </File>\n            <File>\n              <FileName>table.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\table.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>nucleo-l152re</GroupName>\n          <Files>\n            <File>\n              <FileName>README.txt</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\README.txt</FilePath>\n            </File>\n            <File>\n              <FileName>stm32l1xx.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\stm32l1xx.h</FilePath>\n            </File>\n            <File>\n              <FileName>system_stm32l1xx.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\system_stm32l1xx.c</FilePath>\n            </File>\n            <File>\n              <FileName>system_stm32l1xx.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\system_stm32l1xx.h</FilePath>\n            </File>\n            <File>\n              <FileName>startup_stm32l1xx.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\arm\\startup_stm32l1xx.s</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qkn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qkn\\qkn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qkn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qkn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n  </Targets>\n\n  <RTE>\n    <apis/>\n    <components/>\n    <files/>\n  </RTE>\n\n</Project>\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l152re/qk/bsp.c",
    "content": "/*****************************************************************************\n* Product: DPP on STM32 NUCLEO-L152RE board, preemptive QK kernel\n* Last Updated for Version: 6.1.0\n* Date of the Last Update:  2018-02-14\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"dpp.h\"\n#include \"bsp.h\"\n\n#include \"stm32l1xx.h\"  /* CMSIS-compliant header file for the MCU used */\n/* add other drivers if necessary... */\n\n//Q_DEFINE_THIS_FILE\n\n/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n* Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n* DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n*/\nenum KernelUnawareISRs { /* see NOTE00 */\n    /* ... */\n    MAX_KERNEL_UNAWARE_CMSIS_PRI  /* keep always last */\n};\n/* \"kernel-unaware\" interrupts can't overlap \"kernel-aware\" interrupts */\nQ_ASSERT_COMPILE(MAX_KERNEL_UNAWARE_CMSIS_PRI <= QF_AWARE_ISR_CMSIS_PRI);\n\nenum KernelAwareISRs {\n    GPIOPORTA_PRIO = QF_AWARE_ISR_CMSIS_PRI, /* see NOTE00 */\n    SYSTICK_PRIO,\n    /* ... */\n    MAX_KERNEL_AWARE_CMSIS_PRI /* keep always last */\n};\n/* \"kernel-aware\" interrupts should not overlap the PendSV priority */\nQ_ASSERT_COMPILE(MAX_KERNEL_AWARE_CMSIS_PRI <= (0xFF >>(8-__NVIC_PRIO_BITS)));\n\n/* ISRs defined in this BSP ------------------------------------------------*/\nvoid SysTick_Handler(void);\n\n/* Local-scope objects -----------------------------------------------------*/\n/* LED pins available on the board (just one user LED LD2--Green on PA.5) */\n#define LED_LD2  (1U << 5)\n\n/* Button pins available on the board (just one user Button B1 on PC.13) */\n#define BTN_B1   (1U << 13)\n\n/* random seed */\nstatic uint32_t l_rnd;\n\n\n/* ISRs used in this project ===============================================*/\nvoid SysTick_Handler(void) {\n    /* state of the button debouncing, see below */\n    static struct ButtonsDebouncing {\n        uint32_t depressed;\n        uint32_t previous;\n    } buttons = { ~0U, ~0U };\n    uint32_t current;\n    uint32_t tmp;\n\n    QK_ISR_ENTRY();  /* inform QK about entering an ISR */\n\n    QF_tickXISR(0U); /* process time events for rate 0 */\n\n\n    /* Perform the debouncing of buttons. The algorithm for debouncing\n    * adapted from the book \"Embedded Systems Dictionary\" by Jack Ganssle\n    * and Michael Barr, page 71.\n    */\n    current = ~GPIOC->IDR; /* read Port C with the state of Button B1 */\n    tmp = buttons.depressed; /* save the debounced depressed buttons */\n    buttons.depressed |= (buttons.previous & current); /* set depressed */\n    buttons.depressed &= (buttons.previous | current); /* clear released */\n    buttons.previous   = current; /* update the history */\n    tmp ^= buttons.depressed;     /* changed debounced depressed */\n    if ((tmp & BTN_B1) != 0U) {  /* debounced B1 state changed? */\n        if ((buttons.depressed & BTN_B1) != 0U) { /* is B1 depressed? */\n            QACTIVE_POST_ISR(&AO_Table, PAUSE_SIG, 0U);\n        }\n        else {            /* the button is released */\n            QACTIVE_POST_ISR(&AO_Table, SERVE_SIG, 0U);\n        }\n    }\n\n    QK_ISR_EXIT();  /* inform QK about exiting an ISR */\n}\n\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    /* NOTE: SystemInit() has been already called from the startup code\n    *  but SystemCoreClock needs to be updated\n    */\n    SystemCoreClockUpdate();\n\n    /* enable GPIOA clock port for the LED LD2 */\n    RCC->AHBENR |= (1U << 0);\n\n    /* configure LED (PA.5) pin as push-pull output, no pull-up, pull-down */\n    GPIOA->MODER   &= ~((3U << 2*5));\n    GPIOA->MODER   |=  ((1U << 2*5));\n    GPIOA->OTYPER  &= ~((1U <<   5));\n    GPIOA->OSPEEDR &= ~((3U << 2*5));\n    GPIOA->OSPEEDR |=  ((1U << 2*5));\n    GPIOA->PUPDR   &= ~((3U << 2*5));\n\n    /* enable GPIOC clock port for the Button B1 */\n    RCC->AHBENR |=  (1U << 2);\n\n    /* configure Button (PC.13) pins as input, no pull-up, pull-down */\n    GPIOC->MODER   &= ~(3U << 2*13);\n    GPIOC->OSPEEDR &= ~(3U << 2*13);\n    GPIOC->OSPEEDR |=  (1U << 2*13);\n    GPIOC->PUPDR   &= ~(3U << 2*13);\n\n    BSP_randomSeed(1234U); /* seed the random number generator */\n}\n/*..........................................................................*/\nvoid BSP_displayPhilStat(uint8_t n, char const *stat) {\n    if (stat[0] == 'h') {\n        GPIOA->BSRRL |= LED_LD2;  /* turn LED on  */\n    }\n    else {\n        GPIOA->BSRRH |= LED_LD2;  /* turn LED off */\n    }\n}\n/*..........................................................................*/\nvoid BSP_displayPaused(uint8_t paused) {\n    /* not enough LEDs to implement this feature */\n    if (paused != (uint8_t)0) {\n        //GPIOA->BSRRL |= LED_LD2;  /* turn LED on  */\n    }\n    else {\n        //GPIOA->BSRRH |= LED_LD2;  /* turn LED off */\n    }\n}\n/*..........................................................................*/\nuint32_t BSP_random(void) { /* a very cheap pseudo-random-number generator */\n    /* \"Super-Duper\" Linear Congruential Generator (LCG)\n    * LCG(2^32, 3*7*11*13*23, 0, seed)\n    */\n    l_rnd = l_rnd * (3U*7U*11U*13U*23U);\n\n    return l_rnd >> 8;\n}\n/*..........................................................................*/\nvoid BSP_randomSeed(uint32_t seed) {\n    l_rnd = seed;\n}\n/*..........................................................................*/\nvoid BSP_terminate(int16_t result) {\n    (void)result;\n}\n\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    /* set up the SysTick timer to fire at BSP_TICKS_PER_SEC rate */\n    SysTick_Config(SystemCoreClock / BSP_TICKS_PER_SEC);\n\n    /* set priorities of ALL ISRs used in the system, see NOTE00\n    *\n    * !!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n    * Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n    * DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n    */\n    NVIC_SetPriority(SysTick_IRQn,   SYSTICK_PRIO);\n    /* ... */\n\n    /* enable IRQs... */\n}\n/*..........................................................................*/\nvoid QK_onIdle(void) {\n\n    /* toggle an LED on and then off (not enough LEDs, see NOTE01) */\n    QF_INT_DISABLE();\n    //GPIOA->BSRRL |= LED_LD2;  /* turn LED on  */\n    //GPIOA->BSRRH |= LED_LD2;  /* turn LED off */\n    QF_INT_ENABLE();\n\n#ifdef NDEBUG\n    /* Put the CPU and peripherals to the low-power mode.\n    * you might need to customize the clock management for your application,\n    * see the datasheet for your particular Cortex-M3 MCU.\n    */\n    /* !!!CAUTION!!!\n    * The WFI instruction stops the CPU clock, which unfortunately disables\n    * the JTAG port, so the ST-Link debugger can no longer connect to the\n    * board. For that reason, the call to __WFI() has to be used with CAUTION.\n    *\n    * NOTE: If you find your board \"frozen\" like this, strap BOOT0 to VDD and\n    * reset the board, then connect with ST-Link Utilities and erase the part.\n    * The trick with BOOT(0) is it gets the part to run the System Loader\n    * instead of your broken code. When done disconnect BOOT0, and start over.\n    */\n    //__WFI(); /* Wait-For-Interrupt */\n#endif\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const module, int loc) {\n    /*\n    * NOTE: add here your application-specific error handling\n    */\n    (void)module;\n    (void)loc;\n\n    NVIC_SystemReset();\n}\n\n/*****************************************************************************\n* NOTE00:\n* The QF_AWARE_ISR_CMSIS_PRI constant from the QF port specifies the highest\n* ISR priority that is disabled by the QF framework. The value is suitable\n* for the NVIC_SetPriority() CMSIS function.\n*\n* Only ISRs prioritized at or below the QF_AWARE_ISR_CMSIS_PRI level (i.e.,\n* with the numerical values of priorities equal or higher than\n* QF_AWARE_ISR_CMSIS_PRI) are allowed to call any QF services. These ISRs\n* are \"QF-aware\".\n*\n* Conversely, any ISRs prioritized above the QF_AWARE_ISR_CMSIS_PRI priority\n* level (i.e., with the numerical values of priorities less than\n* QF_AWARE_ISR_CMSIS_PRI) are never disabled and are not aware of the kernel.\n* Such \"QF-unaware\" ISRs cannot call any QF services. The only mechanism\n* by which a \"QF-unaware\" ISR can communicate with the QF framework is by\n* triggering a \"QF-aware\" ISR, which can post/publish events.\n*\n* NOTE01:\n* One of the LEDs is used to visualize the idle loop activity. The brightness\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l152re/qk/gnu/.cproject",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<?fileVersion 4.0.0?><cproject storage_type_id=\"org.eclipse.cdt.core.XmlProjectDescriptionStorage\">\n\t<storageModule moduleId=\"org.eclipse.cdt.core.settings\">\n\t\t<cconfiguration id=\"com.atollic.truestudio.exe.debug.1398977871\">\n\t\t\t<storageModule buildSystemId=\"org.eclipse.cdt.managedbuilder.core.configurationDataProvider\" id=\"com.atollic.truestudio.exe.debug.1398977871\" moduleId=\"org.eclipse.cdt.core.settings\" name=\"Debug\">\n\t\t\t\t<externalSettings/>\n\t\t\t\t<extensions>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.ELF\" point=\"org.eclipse.cdt.core.BinaryParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GASErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GLDErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GCCErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t</extensions>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t\t\t<configuration artifactExtension=\"elf\" artifactName=\"${ProjName}\" buildArtefactType=\"org.eclipse.cdt.build.core.buildArtefactType.exe\" buildProperties=\"org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe\" cleanCommand=\"rm -rf\" description=\"\" id=\"com.atollic.truestudio.exe.debug.1398977871\" name=\"Debug\" parent=\"com.atollic.truestudio.exe.debug\">\n\t\t\t\t\t<folderInfo id=\"com.atollic.truestudio.exe.debug.1398977871.\" name=\"/\" resourcePath=\"\">\n\t\t\t\t\t\t<toolChain id=\"com.atollic.truestudio.exe.debug.toolchain.54043111\" name=\"Atollic ARM Tools\" superClass=\"com.atollic.truestudio.exe.debug.toolchain\">\n\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.general.runtimelib.1213243625\" name=\"Runtime Library\" superClass=\"com.atollic.truestudio.general.runtimelib\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.ld.general.clib.small\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.toolchain_options.mcu.1249934684\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.toolchain_options.mcu\" useByScannerDiscovery=\"false\" value=\"STM32L152RE\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.toolchain_options.vendor.1419997009\" name=\"Vendor name\" superClass=\"com.atollic.truestudio.toolchain_options.vendor\" useByScannerDiscovery=\"false\" value=\"STMicroelectronics\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<targetPlatform archList=\"all\" binaryParser=\"org.eclipse.cdt.core.ELF\" id=\"com.atollic.truestudio.exe.debug.toolchain.platform.1554109397\" isAbstract=\"false\" name=\"Debug platform\" osList=\"all\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.platform\"/>\n\t\t\t\t\t\t\t<builder buildPath=\"${workspace_loc:/dpp-qk_nucleo-l152re}/Debug\" customBuilderProperties=\"toolChainpathType=1|toolChainpathString=C:\\\\tools\\\\TrueSTUDIO for STM32 9.0.0\\\\ARMTools\\\\bin|\" id=\"com.atollic.truestudio.mbs.builder1.860010426\" keepEnvironmentInBuildfile=\"false\" managedBuildOn=\"true\" name=\"CDT Internal Builder\" superClass=\"com.atollic.truestudio.mbs.builder1\"/>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.as.953612839\" name=\"Assembler\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.as\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.1897827590\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\" useByScannerDiscovery=\"false\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.121105574\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" useByScannerDiscovery=\"false\" value=\"STM32L152RE\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.230668879\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.494056925\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.1517613394\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\" useByScannerDiscovery=\"false\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.as.symbols.defined.471450456\" name=\"Defined symbols\" superClass=\"com.atollic.truestudio.as.symbols.defined\" useByScannerDiscovery=\"false\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"STM32L152xE\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.as.general.incpath.743955758\" name=\"Include path\" superClass=\"com.atollic.truestudio.as.general.incpath\" useByScannerDiscovery=\"false\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.atollic.truestudio.as.input.1263771663\" name=\"Input\" superClass=\"com.atollic.truestudio.as.input\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.gcc.1998777106\" name=\"C Compiler\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.gcc\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gcc.symbols.defined.411847102\" name=\"Defined symbols\" superClass=\"com.atollic.truestudio.gcc.symbols.defined\" useByScannerDiscovery=\"false\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"STM32L152xE\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gcc.directories.select.1540883810\" name=\"Include path\" superClass=\"com.atollic.truestudio.gcc.directories.select\" useByScannerDiscovery=\"false\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../..\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../src\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../ports/arm-cm/qk/gnu\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../3rd_party/nucleo-l152re\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../3rd_party/CMSIS/Include\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.2110864367\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\" useByScannerDiscovery=\"false\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.398255252\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" useByScannerDiscovery=\"false\" value=\"STM32L152RE\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.1674086760\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.378318991\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.857833990\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\" useByScannerDiscovery=\"false\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gcc.optimization.prep_garbage.1359651028\" name=\"Prepare dead code removal \" superClass=\"com.atollic.truestudio.gcc.optimization.prep_garbage\" useByScannerDiscovery=\"false\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gcc.optimization.prep_data.976427398\" name=\"Prepare dead data removal\" superClass=\"com.atollic.truestudio.gcc.optimization.prep_data\" useByScannerDiscovery=\"false\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.atollic.truestudio.gcc.input.1197334469\" superClass=\"com.atollic.truestudio.gcc.input\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.ld.1605506522\" name=\"C Linker\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.ld\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.200496344\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\" useByScannerDiscovery=\"false\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.1403373268\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" useByScannerDiscovery=\"false\" value=\"STM32L152RE\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.958299348\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.765977347\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.1540833078\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\" useByScannerDiscovery=\"false\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ld.general.scriptfile.1429381031\" name=\"Linker script\" superClass=\"com.atollic.truestudio.ld.general.scriptfile\" useByScannerDiscovery=\"false\" value=\"..\\dpp-qk.ld\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ld.optimization.do_garbage.2145032446\" name=\"Dead code removal \" superClass=\"com.atollic.truestudio.ld.optimization.do_garbage\" useByScannerDiscovery=\"false\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ld.general.syscall_lib.1974770223\" name=\"System calls\" superClass=\"com.atollic.truestudio.ld.general.syscall_lib\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.ld.general.syscalls_lib.nothing\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ld.general.nostdlib.2053124731\" name=\"No startup or default libs\" superClass=\"com.atollic.truestudio.ld.general.nostdlib\" useByScannerDiscovery=\"false\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ld.general.nodefaultlibs.1129748497\" name=\"Do not use default libraries\" superClass=\"com.atollic.truestudio.ld.general.nodefaultlibs\" useByScannerDiscovery=\"false\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ld.general.nostartfiles.145384928\" name=\"Do not use standard start files\" superClass=\"com.atollic.truestudio.ld.general.nostartfiles\" useByScannerDiscovery=\"false\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.atollic.truestudio.ld.input.1743432061\" name=\"Input\" superClass=\"com.atollic.truestudio.ld.input\">\n\t\t\t\t\t\t\t\t\t<additionalInput kind=\"additionalinputdependency\" paths=\"$(USER_OBJS)\"/>\n\t\t\t\t\t\t\t\t\t<additionalInput kind=\"additionalinput\" paths=\"$(LIBS)\"/>\n\t\t\t\t\t\t\t\t</inputType>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.gpp.2061276068\" name=\"C++ Compiler\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.gpp\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.symbols.defined.988318666\" name=\"Defined symbols\" superClass=\"com.atollic.truestudio.gpp.symbols.defined\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"STM32L152xE\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.directories.select.1138167557\" name=\"Include path\" superClass=\"com.atollic.truestudio.gpp.directories.select\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../src\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Drivers/CMSIS/Include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Drivers/CMSIS/Device/ST/STM32L1xx/Include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Drivers/STM32L1xx_HAL_Driver/Inc\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.1246895625\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.1756276215\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" value=\"STM32L152RE\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.2077457149\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.2052327999\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.718583265\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.optimization.prep_garbage.1031769755\" name=\"Prepare dead code removal\" superClass=\"com.atollic.truestudio.gpp.optimization.prep_garbage\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.optimization.prep_data.1094983987\" name=\"Prepare dead data removal\" superClass=\"com.atollic.truestudio.gpp.optimization.prep_data\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.optimization.fno_rtti.2085907672\" name=\"Disable RTTI\" superClass=\"com.atollic.truestudio.gpp.optimization.fno_rtti\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.optimization.fno_exceptions.6828063\" name=\"Disable exception handling\" superClass=\"com.atollic.truestudio.gpp.optimization.fno_exceptions\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.ldcc.893685860\" name=\"C++ Linker\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.ldcc\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.494253966\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.804698125\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" value=\"STM32L152RE\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.1606126450\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.815581383\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.1773672419\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ldcc.optimization.do_garbage.2067022700\" name=\"Dead code removal\" superClass=\"com.atollic.truestudio.ldcc.optimization.do_garbage\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ldcc.general.scriptfile.1217195485\" name=\"Linker script\" superClass=\"com.atollic.truestudio.ldcc.general.scriptfile\" value=\"dpp-qk.ld\" valueType=\"string\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.ar.base.1847374934\" name=\"Archiver\" superClass=\"com.atollic.truestudio.ar.base\"/>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.secoutput.757519410\" name=\"Other\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.secoutput\"/>\n\t\t\t\t\t\t</toolChain>\n\t\t\t\t\t</folderInfo>\n\t\t\t\t\t<sourceEntries>\n\t\t\t\t\t\t<entry excluding=\"QS|nucleo-l152re/iar|nucleo-l152re/arm\" flags=\"VALUE_WORKSPACE_PATH|RESOLVED\" kind=\"sourcePath\" name=\"\"/>\n\t\t\t\t\t</sourceEntries>\n\t\t\t\t</configuration>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"org.eclipse.cdt.core.externalSettings\"/>\n\t\t</cconfiguration>\n\t\t<cconfiguration id=\"com.atollic.truestudio.exe.debug.1398977871.1476162257\">\n\t\t\t<storageModule buildSystemId=\"org.eclipse.cdt.managedbuilder.core.configurationDataProvider\" id=\"com.atollic.truestudio.exe.debug.1398977871.1476162257\" moduleId=\"org.eclipse.cdt.core.settings\" name=\"Release\">\n\t\t\t\t<externalSettings/>\n\t\t\t\t<extensions>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.ELF\" point=\"org.eclipse.cdt.core.BinaryParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GASErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GLDErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GCCErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t</extensions>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t\t\t<configuration artifactExtension=\"elf\" artifactName=\"${ProjName}\" buildArtefactType=\"org.eclipse.cdt.build.core.buildArtefactType.exe\" buildProperties=\"org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe\" cleanCommand=\"rm -rf\" description=\"\" id=\"com.atollic.truestudio.exe.debug.1398977871.1476162257\" name=\"Release\" parent=\"com.atollic.truestudio.exe.debug\">\n\t\t\t\t\t<folderInfo id=\"com.atollic.truestudio.exe.debug.1398977871.1476162257.\" name=\"/\" resourcePath=\"\">\n\t\t\t\t\t\t<toolChain id=\"com.atollic.truestudio.exe.debug.toolchain.144219510\" name=\"Atollic ARM Tools\" superClass=\"com.atollic.truestudio.exe.debug.toolchain\">\n\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.general.runtimelib.1402315937\" name=\"Runtime Library\" superClass=\"com.atollic.truestudio.general.runtimelib\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.ld.general.clib.small\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.toolchain_options.mcu.1300821252\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.toolchain_options.mcu\" useByScannerDiscovery=\"false\" value=\"STM32L152RE\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.toolchain_options.vendor.589172080\" name=\"Vendor name\" superClass=\"com.atollic.truestudio.toolchain_options.vendor\" useByScannerDiscovery=\"false\" value=\"STMicroelectronics\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<targetPlatform archList=\"all\" binaryParser=\"org.eclipse.cdt.core.ELF\" id=\"com.atollic.truestudio.exe.debug.toolchain.platform.2040485243\" isAbstract=\"false\" name=\"Debug platform\" osList=\"all\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.platform\"/>\n\t\t\t\t\t\t\t<builder buildPath=\"${workspace_loc:/dpp-qk_nucleo-l152re}/Debug\" customBuilderProperties=\"toolChainpathType=1|toolChainpathString=C:\\\\tools\\\\TrueSTUDIO for STM32 9.0.0\\\\ARMTools\\\\bin|\" id=\"com.atollic.truestudio.mbs.builder1.1632706010\" keepEnvironmentInBuildfile=\"false\" managedBuildOn=\"true\" name=\"CDT Internal Builder\" superClass=\"com.atollic.truestudio.mbs.builder1\"/>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.as.1242505749\" name=\"Assembler\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.as\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.2128388184\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\" useByScannerDiscovery=\"false\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.2062846174\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" useByScannerDiscovery=\"false\" value=\"STM32L152RE\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.1909577988\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.914605824\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.1037063756\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\" useByScannerDiscovery=\"false\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.as.symbols.defined.690507733\" name=\"Defined symbols\" superClass=\"com.atollic.truestudio.as.symbols.defined\" useByScannerDiscovery=\"false\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"STM32L152xE\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.as.general.incpath.1062391255\" name=\"Include path\" superClass=\"com.atollic.truestudio.as.general.incpath\" useByScannerDiscovery=\"false\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../src\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Drivers/CMSIS/Include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Drivers/CMSIS/Device/ST/STM32L1xx/Include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Drivers/STM32L1xx_HAL_Driver/Inc\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<inputType id=\"com.atollic.truestudio.as.input.239658028\" name=\"Input\" superClass=\"com.atollic.truestudio.as.input\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.gcc.690659541\" name=\"C Compiler\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.gcc\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gcc.symbols.defined.1310887989\" name=\"Defined symbols\" superClass=\"com.atollic.truestudio.gcc.symbols.defined\" useByScannerDiscovery=\"false\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"NDEBUG\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"STM32L152xE\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gcc.directories.select.410405680\" name=\"Include path\" superClass=\"com.atollic.truestudio.gcc.directories.select\" useByScannerDiscovery=\"false\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../..\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../src\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../ports/arm-cm/qk/gnu\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../3rd_party/nucleo-l152re\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../3rd_party/CMSIS/Include\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.618914168\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\" useByScannerDiscovery=\"false\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.635802989\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" useByScannerDiscovery=\"false\" value=\"STM32L152RE\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.367763048\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.1873200949\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.91908120\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\" useByScannerDiscovery=\"false\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gcc.optimization.prep_garbage.2103298107\" name=\"Prepare dead code removal \" superClass=\"com.atollic.truestudio.gcc.optimization.prep_garbage\" useByScannerDiscovery=\"false\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gcc.optimization.prep_data.365692602\" name=\"Prepare dead data removal\" superClass=\"com.atollic.truestudio.gcc.optimization.prep_data\" useByScannerDiscovery=\"false\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.exe.debug.toolchain.gcc.optimization.level.1673667301\" name=\"Optimization Level\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.gcc.optimization.level\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.gcc.optimization.level.0fast\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.atollic.truestudio.gcc.input.698178231\" superClass=\"com.atollic.truestudio.gcc.input\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.ld.169635790\" name=\"C Linker\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.ld\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.1536835539\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\" useByScannerDiscovery=\"false\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.248922412\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" useByScannerDiscovery=\"false\" value=\"STM32L152RE\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.1754906738\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.1199237060\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.276361080\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\" useByScannerDiscovery=\"false\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ld.general.scriptfile.914791780\" name=\"Linker script\" superClass=\"com.atollic.truestudio.ld.general.scriptfile\" useByScannerDiscovery=\"false\" value=\"..\\dpp-qk.ld\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ld.optimization.do_garbage.2094288666\" name=\"Dead code removal \" superClass=\"com.atollic.truestudio.ld.optimization.do_garbage\" useByScannerDiscovery=\"false\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ld.general.syscall_lib.1049732115\" name=\"System calls\" superClass=\"com.atollic.truestudio.ld.general.syscall_lib\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.ld.general.syscalls_lib.nothing\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ld.general.nostdlib.745175252\" name=\"No startup or default libs\" superClass=\"com.atollic.truestudio.ld.general.nostdlib\" useByScannerDiscovery=\"false\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ld.general.nodefaultlibs.558088391\" name=\"Do not use default libraries\" superClass=\"com.atollic.truestudio.ld.general.nodefaultlibs\" useByScannerDiscovery=\"false\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ld.general.nostartfiles.1242953686\" name=\"Do not use standard start files\" superClass=\"com.atollic.truestudio.ld.general.nostartfiles\" useByScannerDiscovery=\"false\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.atollic.truestudio.ld.input.1952862684\" name=\"Input\" superClass=\"com.atollic.truestudio.ld.input\">\n\t\t\t\t\t\t\t\t\t<additionalInput kind=\"additionalinputdependency\" paths=\"$(USER_OBJS)\"/>\n\t\t\t\t\t\t\t\t\t<additionalInput kind=\"additionalinput\" paths=\"$(LIBS)\"/>\n\t\t\t\t\t\t\t\t</inputType>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.gpp.1925921071\" name=\"C++ Compiler\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.gpp\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.symbols.defined.1346986245\" name=\"Defined symbols\" superClass=\"com.atollic.truestudio.gpp.symbols.defined\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"STM32L152xE\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.directories.select.1013495957\" name=\"Include path\" superClass=\"com.atollic.truestudio.gpp.directories.select\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../src\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Drivers/CMSIS/Include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Drivers/CMSIS/Device/ST/STM32L1xx/Include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Drivers/STM32L1xx_HAL_Driver/Inc\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.1741635739\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.1445511149\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" value=\"STM32L152RE\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.713780892\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.1454219450\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.413637483\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.optimization.prep_garbage.461708585\" name=\"Prepare dead code removal\" superClass=\"com.atollic.truestudio.gpp.optimization.prep_garbage\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.optimization.prep_data.916881636\" name=\"Prepare dead data removal\" superClass=\"com.atollic.truestudio.gpp.optimization.prep_data\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.optimization.fno_rtti.2090872266\" name=\"Disable RTTI\" superClass=\"com.atollic.truestudio.gpp.optimization.fno_rtti\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.optimization.fno_exceptions.1498006885\" name=\"Disable exception handling\" superClass=\"com.atollic.truestudio.gpp.optimization.fno_exceptions\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.ldcc.894850697\" name=\"C++ Linker\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.ldcc\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.1786353754\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.1643022723\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" value=\"STM32L152RE\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.1313079776\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.279542934\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.1344498157\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ldcc.optimization.do_garbage.914846493\" name=\"Dead code removal\" superClass=\"com.atollic.truestudio.ldcc.optimization.do_garbage\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ldcc.general.scriptfile.1080276394\" name=\"Linker script\" superClass=\"com.atollic.truestudio.ldcc.general.scriptfile\" value=\"../stm32_flash.ld\" valueType=\"string\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.ar.base.1870679615\" name=\"Archiver\" superClass=\"com.atollic.truestudio.ar.base\"/>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.secoutput.703971668\" name=\"Other\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.secoutput\"/>\n\t\t\t\t\t\t</toolChain>\n\t\t\t\t\t</folderInfo>\n\t\t\t\t\t<sourceEntries>\n\t\t\t\t\t\t<entry excluding=\"QS|nucleo-l152re/iar|nucleo-l152re/arm\" flags=\"VALUE_WORKSPACE_PATH|RESOLVED\" kind=\"sourcePath\" name=\"\"/>\n\t\t\t\t\t</sourceEntries>\n\t\t\t\t</configuration>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"org.eclipse.cdt.core.externalSettings\"/>\n\t\t</cconfiguration>\n\t</storageModule>\n\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t<project id=\"dpp-qk_nucleo-l152re.com.atollic.truestudio.exe.1009891033\" name=\"Executable\" projectType=\"com.atollic.truestudio.exe\"/>\n\t</storageModule>\n\t<storageModule moduleId=\"org.eclipse.cdt.core.LanguageSettingsProviders\"/>\n\t<storageModule moduleId=\"refreshScope\" versionNumber=\"2\">\n\t\t<configuration configurationName=\"Debug\">\n\t\t\t<resource resourceType=\"PROJECT\" workspacePath=\"/dpp-qk_nucleo-l152re\"/>\n\t\t</configuration>\n\t\t<configuration configurationName=\"Release\">\n\t\t\t<resource resourceType=\"PROJECT\" workspacePath=\"/dpp-qk_nucleo-l152re\"/>\n\t\t</configuration>\n\t</storageModule>\n\t<storageModule moduleId=\"org.eclipse.cdt.make.core.buildtargets\"/>\n\t<storageModule moduleId=\"scannerConfiguration\">\n\t\t<autodiscovery enabled=\"true\" problemReportingEnabled=\"true\" selectedProfileId=\"\"/>\n\t\t<scannerConfigBuildInfo instanceId=\"com.atollic.truestudio.configuration.release.633501148;com.atollic.truestudio.configuration.release.633501148.;com.atollic.truestudio.exe.release.toolchain.gcc.1460878155;com.atollic.truestudio.gcc.input.152534743\">\n\t\t\t<autodiscovery enabled=\"true\" problemReportingEnabled=\"true\" selectedProfileId=\"com.atollic.truestudio.mbs.ARMToolsPerProjectProfileC\"/>\n\t\t</scannerConfigBuildInfo>\n\t\t<scannerConfigBuildInfo instanceId=\"com.atollic.truestudio.exe.debug.1398977871;com.atollic.truestudio.exe.debug.1398977871.;com.atollic.truestudio.exe.debug.toolchain.gcc.1998777106;com.atollic.truestudio.gcc.input.1197334469\">\n\t\t\t<autodiscovery enabled=\"true\" problemReportingEnabled=\"true\" selectedProfileId=\"com.atollic.truestudio.mbs.ARMToolsPerProjectProfileC\"/>\n\t\t</scannerConfigBuildInfo>\n\t</storageModule>\n</cproject>\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l152re/qk/gnu/.project",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<projectDescription>\n\t<name>dpp-qk_nucleo-l152re</name>\n\t<comment></comment>\n\t<projects>\n\t</projects>\n\t<buildSpec>\n\t\t<buildCommand>\n\t\t\t<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>\n\t\t\t<triggers>clean,full,incremental,</triggers>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t\t<buildCommand>\n\t\t\t<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>\n\t\t\t<triggers>full,incremental,</triggers>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t</buildSpec>\n\t<natures>\n\t\t<nature>org.eclipse.cdt.core.cnature</nature>\n\t\t<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>\n\t\t<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>\n\t</natures>\n\t<linkedResources>\n\t\t<link>\n\t\t\t<name>QK</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/src/qkn</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>QP</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/src/qfn</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>QP_port</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/ports/arm-cm/qk/gnu</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>bsp.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-1-PROJECT_LOC/bsp.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>bsp.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/bsp.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>dpp.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/dpp.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>main.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/main.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>nucleo-l152re</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/3rd_party/nucleo-l152re</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>philo.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/philo.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>qstamp.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/include/qstamp.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>table.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/table.c</locationURI>\n\t\t</link>\n\t</linkedResources>\n</projectDescription>\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l152re/qk/gnu/Makefile",
    "content": "##############################################################################\n# Product: Makefile for QP-nano on NUCLEO-L152RE, QK-nano kernel, GNU-ARM\n# Last Updated for Version: 6.5.0\n# Date of the Last Update:  2019-04-15\n#\n#                    Q u a n t u m  L e a P s\n#                    ------------------------\n#                    Modern Embedded Software\n#\n# Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# https://www.state-machine.com\n# mailto:info@state-machine.com\n##############################################################################\n# examples of invoking this Makefile:\n# building configurations: Debug (default), Release, and Spy\n# make\n# make CONF=rel\n#\n# cleaning configurations: Debug (default), Release, and Spy\n# make clean\n# make CONF=rel clean\n#\n# NOTE:\n# To use this Makefile on Windows, you will need the GNU make utility, which\n# is included in the Qtools collection for Windows, see:\n#    http://sourceforge.net/projects/qpc/files/Qtools/\n#\n\n#-----------------------------------------------------------------------------\n# project name\n#\nPROJECT     := dpp-qk\n\n#-----------------------------------------------------------------------------\n# project directories\n#\n\n# location of the QP-nano framework (if not provided in an environemnt var.)\nifeq ($(QPN),)\nQPN := ../../../../..\nendif\n\n# QP port used in this project\nQP_PORT_DIR := $(QPN)/ports/arm-cm/qk/gnu\n\n# list of all source directories used by this project\nVPATH = \\\n\t.. \\\n\t../.. \\\n\t$(QPN)/src/qfn \\\n\t$(QPN)/src/qkn \\\n\t$(QP_PORT_DIR) \\\n\t$(QPN)/3rd_party/nucleo-l152re \\\n\t$(QPN)/3rd_party/nucleo-l152re/gnu\n\n# list of all include directories needed by this project\nINCLUDES  = \\\n\t-I../.. \\\n\t-I$(QPN)/include \\\n\t-I$(QP_PORT_DIR) \\\n\t-I$(QPN)/3rd_party/CMSIS/Include \\\n\t-I$(QPN)/3rd_party/nucleo-l152re\n\n#-----------------------------------------------------------------------------\n# files\n#\n\n# assembler source files\nASM_SRCS :=\n\n# C source files\nC_SRCS := \\\n\tbsp.c \\\n\tmain.c \\\n\tphilo.c \\\n\ttable.c \\\n\tsystem_stm32l1xx.c \\\n\tstartup_stm32l1xx.c\n\n# C++ source files\nCPP_SRCS :=\n\nOUTPUT    := $(PROJECT)\nLD_SCRIPT := $(PROJECT).ld\n\nQP_SRCS := \\\n\tqepn.c \\\n\tqfn.c \\\n\tqkn.c \\\n\tqkn_port.c\n\nQP_ASMS :=\n\nLIB_DIRS  :=\nLIBS      :=\n\n# defines\nDEFINES   :=\n\n# ARM CPU, ARCH, FPU, and Float-ABI types...\n# ARM_CPU:   [cortex-m0 | cortex-m0plus | cortex-m1 | cortex-m3 | cortex-m4]\n# ARM_ARCH:  [6 | 7] (NOTE: must match ARM_CPU!)\n# ARM_FPU:   [ | vfp]\n# FLOAT_ABI: [ | soft | softfp | hard]\n#\nARM_CPU   := -mcpu=cortex-m3\nARM_ARCH  := 7   # NOTE: must match the ARM_CPU!\nARM_FPU   :=\nFLOAT_ABI :=\n\n#-----------------------------------------------------------------------------\n# GNU-ARM toolset (NOTE: You need to adjust to your machine)\n# see https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads\n#\nifeq ($(GNU_ARM),)\nGNU_ARM := $(QTOOLS)/gnu_arm-none-eabi\nendif\n\n# make sure that the GNU-ARM toolset exists...\nifeq (\"$(wildcard $(GNU_ARM))\",\"\")\n$(error GNU_ARM toolset not found. Please adjust the Makefile)\nendif\n\nCC    := $(GNU_ARM)/bin/arm-none-eabi-gcc\nCPP   := $(GNU_ARM)/bin/arm-none-eabi-g++\nAS    := $(GNU_ARM)/bin/arm-none-eabi-as\nLINK  := $(GNU_ARM)/bin/arm-none-eabi-g++\nBIN   := $(GNU_ARM)/bin/arm-none-eabi-objcopy\n\n\n##############################################################################\n# Typically, you should not need to change anything below this line\n\n# basic utilities (included in Qtools for Windows), see:\n#    http://sourceforge.net/projects/qpc/files/Qtools\n\nMKDIR := mkdir\nRM    := rm\n\n#-----------------------------------------------------------------------------\n# build options for various configurations for ARM Cortex-M\n#\n\n# combine all the soruces...\nC_SRCS += $(QP_SRCS)\nASM_SRCS += $(QP_ASMS)\n\nifeq (rel, $(CONF)) # Release configuration ..................................\n\nBIN_DIR := rel\n\nASFLAGS = $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O1 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nCPPFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O1 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nelse # default Debug configuration ..........................................\n\nBIN_DIR := dbg\n\nASFLAGS = -g $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O $(INCLUDES) $(DEFINES)\n\nCPPFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O $(INCLUDES) $(DEFINES)\n\nendif # ......................................................................\n\n\nLINKFLAGS = -T$(LD_SCRIPT) $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb \\\n\t-specs=nosys.specs -specs=nano.specs \\\n\t-Wl,-Map,$(BIN_DIR)/$(OUTPUT).map,--cref,--gc-sections $(LIB_DIRS)\n\n\nASM_OBJS     := $(patsubst %.s,%.o,  $(notdir $(ASM_SRCS)))\nC_OBJS       := $(patsubst %.c,%.o,  $(notdir $(C_SRCS)))\nCPP_OBJS     := $(patsubst %.cpp,%.o,$(notdir $(CPP_SRCS)))\n\nTARGET_BIN   := $(BIN_DIR)/$(OUTPUT).bin\nTARGET_ELF   := $(BIN_DIR)/$(OUTPUT).elf\nASM_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(ASM_OBJS))\nC_OBJS_EXT   := $(addprefix $(BIN_DIR)/, $(C_OBJS))\nC_DEPS_EXT   := $(patsubst %.o, %.d, $(C_OBJS_EXT))\nCPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))\nCPP_DEPS_EXT := $(patsubst %.o, %.d, $(CPP_OBJS_EXT))\n\n# create $(BIN_DIR) if it does not exist\nifeq (\"$(wildcard $(BIN_DIR))\",\"\")\n$(shell $(MKDIR) $(BIN_DIR))\nendif\n\n#-----------------------------------------------------------------------------\n# rules\n#\n\nall: $(TARGET_BIN)\n#all: $(TARGET_ELF)\n\n$(TARGET_BIN): $(TARGET_ELF)\n\t$(BIN) -O binary $< $@\n\n$(TARGET_ELF) : $(ASM_OBJS_EXT) $(C_OBJS_EXT) $(CPP_OBJS_EXT)\n\t$(CC) $(CFLAGS) $(QPN)/include/qstamp.c -o $(BIN_DIR)/qstamp.o\n\t$(LINK) $(LINKFLAGS) -o $@ $^ $(BIN_DIR)/qstamp.o $(LIBS)\n\n$(BIN_DIR)/%.d : %.c\n\t$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@\n\n$(BIN_DIR)/%.d : %.cpp\n\t$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@\n\n$(BIN_DIR)/%.o : %.s\n\t$(AS) $(ASFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.c\n\t$(CC) $(CFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.cpp\n\t$(CPP) $(CPPFLAGS) $< -o $@\n\n# include dependency files only if our goal depends on their existence\nifneq ($(MAKECMDGOALS),clean)\n  ifneq ($(MAKECMDGOALS),show)\n-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)\n  endif\nendif\n\n\n.PHONY : clean\nclean:\n\t-$(RM) $(BIN_DIR)/*.o \\\n\t$(BIN_DIR)/*.d \\\n\t$(BIN_DIR)/*.bin \\\n\t$(BIN_DIR)/*.elf \\\n\t$(BIN_DIR)/*.map\n\t\nshow:\n\t@echo PROJECT = $(PROJECT)\n\t@echo CONF = $(CONF)\n\t@echo DEFINES = $(DEFINES)\n\t@echo ASM_FPU = $(ASM_FPU)\n\t@echo ASM_SRCS = $(ASM_SRCS)\n\t@echo C_SRCS = $(C_SRCS)\n\t@echo CPP_SRCS = $(CPP_SRCS)\n\t@echo ASM_OBJS_EXT = $(ASM_OBJS_EXT)\n\t@echo C_OBJS_EXT = $(C_OBJS_EXT)\n\t@echo C_DEPS_EXT = $(C_DEPS_EXT)\n\t@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)\n\t@echo TARGET_ELF = $(TARGET_ELF)\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l152re/qk/gnu/dpp-qk.ld",
    "content": "/*****************************************************************************\n* Product: Linker script for for STM32L152RET6, GNU-ARM linker\n* Last Updated for Version: 5.9.8\n* Date of the Last Update:  2017-09-13\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <http://www.gnu.org/licenses/>.\n*\n* Contact information:\n* https://state-machine.com\n* mailto:info@state-machine.com\n*****************************************************************************/\nOUTPUT_FORMAT(\"elf32-littlearm\", \"elf32-bigarm\", \"elf32-littlearm\")\nOUTPUT_ARCH(arm)\nENTRY(Reset_Handler)  /* entry Point */\n\nMEMORY {              /* memory map of STM32L152RET6 */\n    ROM (rx)  : ORIGIN = 0x08000000, LENGTH = 512K\n    RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 80K\n}\n\n/* The size of the stack used by the application. NOTE: you need to adjust  */\nSTACK_SIZE = 1024;\n\n/* The size of the heap used by the application. NOTE: you need to adjust   */\nHEAP_SIZE = 0;\n\nSECTIONS {\n\n    .isr_vector : {        /* the vector table goes FIRST into ROM */\n        KEEP(*(.isr_vector)) /* vector table */\n        . = ALIGN(4);\n    } >ROM\n\n    .text : {              /* code and constants */\n        . = ALIGN(4);\n        *(.text)           /* .text sections (code) */\n        *(.text*)          /* .text* sections (code) */\n        *(.rodata)         /* .rodata sections (constants, strings, etc.) */\n        *(.rodata*)        /* .rodata* sections (constants, strings, etc.) */\n\n        KEEP (*(.init))\n        KEEP (*(.fini))\n\n        . = ALIGN(4);\n    } >ROM\n\n    .preinit_array : {\n        PROVIDE_HIDDEN (__preinit_array_start = .);\n        KEEP (*(.preinit_array*))\n        PROVIDE_HIDDEN (__preinit_array_end = .);\n    } >ROM\n\n    .init_array : {\n        PROVIDE_HIDDEN (__init_array_start = .);\n        KEEP (*(SORT(.init_array.*)))\n        KEEP (*(.init_array*))\n        PROVIDE_HIDDEN (__init_array_end = .);\n    } >ROM\n\n    .fini_array : {\n        PROVIDE_HIDDEN (__fini_array_start = .);\n        KEEP (*(.fini_array*))\n        KEEP (*(SORT(.fini_array.*)))\n        PROVIDE_HIDDEN (__fini_array_end = .);\n    } >ROM\n\n    _etext = .;            /* global symbols at end of code */\n\n    .stack : {\n        __stack_start__ = .;\n        . = . + STACK_SIZE;\n        . = ALIGN(4);\n        __stack_end__ = .;\n    } >RAM\n\n    .data :  AT (_etext) {\n        __data_load = LOADADDR (.data);\n        __data_start = .;\n        *(.data)           /* .data sections */\n        *(.data*)          /* .data* sections */\n        . = ALIGN(4);\n        __data_end__ = .;\n        _edata = __data_end__;\n    } >RAM\n\n    .bss : {\n        __bss_start__ = .;\n        *(.bss)\n        *(.bss*)\n        *(COMMON)\n        . = ALIGN(4);\n        _ebss = .;         /* define a global symbol at bss end */\n        __bss_end__ = .;\n    } >RAM\n\n    __exidx_start = .;\n    .ARM.exidx   : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } >RAM\n    __exidx_end = .;\n\n    PROVIDE ( end = _ebss );\n    PROVIDE ( _end = _ebss );\n    PROVIDE ( __end__ = _ebss );\n\n    .heap : {\n        __heap_start__ = .;\n        . = . + HEAP_SIZE;\n        . = ALIGN(4);\n        __heap_end__ = .;\n    } >RAM\n\n    /* Remove information from the standard libraries */\n    /DISCARD/ : {\n        libc.a ( * )\n        libm.a ( * )\n        libgcc.a ( * )\n    }\n}\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l152re/qk/iar/dpp-qk.ewd",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<project>\n  <fileVersion>2</fileVersion>\n  <configuration>\n    <name>Debug</name>\n    <toolchain>\n      <name>ARM</name>\n    </toolchain>\n    <debug>1</debug>\n    <settings>\n      <name>C-SPY</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>26</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CEndian</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCVariant</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>MemOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MemFile</name>\n          <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\ST\\STM32L152xE.ddf</state>\n        </option>\n        <option>\n          <name>RunToEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RunToName</name>\n          <state>main</state>\n        </option>\n        <option>\n          <name>CExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CFpuProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCDDFArgumentProducer</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCDownloadSuppressDownload</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDownloadVerifyAll</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCProductVersion</name>\n          <state>7.40.2.8567</state>\n        </option>\n        <option>\n          <name>OCDynDriverList</name>\n          <state>STLINK_ID</state>\n        </option>\n        <option>\n          <name>OCLastSavedByProductVersion</name>\n          <state>7.40.2.8567</state>\n        </option>\n        <option>\n          <name>OCDownloadAttachToProgram</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>UseFlashLoader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CLowLevel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCBE8Slave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacFile2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CDevice</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>FlashLoadersV3</name>\n          <state>$TOOLKIT_DIR$\\config\\flashloader\\ST\\FlashSTM32L15xxE.board</state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OverrideDefFlashBoard</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesOffset1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesUse1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDeviceConfigMacroFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCDebuggerExtraOption</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCAllMTBOptions</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCMulticoreNrOfCores</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCMulticoreMaster</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCMulticorePort</name>\n          <state>53461</state>\n        </option>\n        <option>\n          <name>OCMulticoreWorkspace</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCMulticoreSlaveProject</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCMulticoreSlaveConfiguration</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ARMSIM_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCSimDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCSimEnablePSP</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCSimPspOverrideConfig</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCSimPspConfigFile</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ANGEL_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CCAngelHeartbeat</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CAngelCommunication</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CAngelCommBaud</name>\n          <version>0</version>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CAngelCommPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ANGELTCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>DoAngelLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AngelLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CMSISDAP_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CMSISDAPAttachSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCIarProbeScriptFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CMSISDAPResetList</name>\n          <version>1</version>\n          <state>10</state>\n        </option>\n        <option>\n          <name>CMSISDAPHWResetDuration</name>\n          <state>300</state>\n        </option>\n        <option>\n          <name>CMSISDAPHWResetDelay</name>\n          <state>200</state>\n        </option>\n        <option>\n          <name>CMSISDAPDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CMSISDAPInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiTargetEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPJtagSpeedList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPRestoreBreakpointsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPUpdateBreakpointsEdit</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>RDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchUndef</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchData</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchPrefetch</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchMMERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchNOCPERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchCHKERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchSTATERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchBUSERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchINTERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchHARDERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiCPUEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiCPUNumber</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeCfgOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeConfig</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CMSISDAPProbeConfigRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPSelectedCPUBehaviour</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ICpuName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCJetEmuParams</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>GDBSERVER_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCJTagBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>IARROM_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CRomLogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRomLogFileEditB</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CRomCommPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRomCommBaud</name>\n          <version>0</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>IJET_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>6</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetAttachSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCIarProbeScriptFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetResetList</name>\n          <version>1</version>\n          <state>10</state>\n        </option>\n        <option>\n          <name>IjetHWResetDuration</name>\n          <state>300</state>\n        </option>\n        <option>\n          <name>IjetHWResetDelay</name>\n          <state>200</state>\n        </option>\n        <option>\n          <name>IjetPowerFromProbe</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetPowerRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>IjetInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiTargetEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetScanChainNonARMDevices</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetIRLength</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetJtagSpeedList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetProtocolRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetSwoPin</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetCpuClockEdit</name>\n          <state>72.0</state>\n        </option>\n        <option>\n          <name>IjetSwoPrescalerList</name>\n          <version>1</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetRestoreBreakpointsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetUpdateBreakpointsEdit</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>RDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchUndef</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchData</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchPrefetch</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchMMERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchNOCPERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchCHKERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchSTATERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchBUSERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchINTERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchHARDERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeCfgOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeConfig</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IjetProbeConfigRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiCPUEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiCPUNumber</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetSelectedCPUBehaviour</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ICpuName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCJetEmuParams</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetPreferETB</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetTraceSettingsList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetTraceSizeList</name>\n          <version>0</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>FlashBoardPathSlave</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JLINK_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>15</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>JLinkSpeed</name>\n          <state>1000</state>\n        </option>\n        <option>\n          <name>CCJLinkDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCJLinkHWResetDelay</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>JLinkInitialSpeed</name>\n          <state>1000</state>\n        </option>\n        <option>\n          <name>CCDoJlinkMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCScanChainNonARMDevices</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkIRLength</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkCommRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkTCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>CCJLinkSpeedRadioV2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCUSBDevice</name>\n          <version>1</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchUndef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchPrefetch</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>CCJLinkInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkAttachSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCJLinkResetList</name>\n          <version>6</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>CCJLinkInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchMMERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchNOCPERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchCHRERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchSTATERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchBUSERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchINTERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchHARDERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkScriptFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCJLinkUsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCTcpIpAlt</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkTcpIpSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCCpuClockEdit</name>\n          <state>72.0</state>\n        </option>\n        <option>\n          <name>CCSwoClockAuto</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSwoClockEdit</name>\n          <state>2000</state>\n        </option>\n        <option>\n          <name>OCJLinkTraceSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkTraceSourceDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkDeviceName</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>LMIFTDI_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>LmiftdiSpeed</name>\n          <state>500</state>\n        </option>\n        <option>\n          <name>CCLmiftdiDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLmiftdiLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCLmiFtdiInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLmiFtdiInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>MACRAIGOR_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>3</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>jtag</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EmuSpeed</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>DoEmuMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EmuMultiTarget</name>\n          <state>0@ARM7TDMI</state>\n        </option>\n        <option>\n          <name>EmuHWReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CEmuCommBaud</name>\n          <version>0</version>\n          <state>4</state>\n        </option>\n        <option>\n          <name>CEmuCommPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>jtago</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UnusedAddr</name>\n          <state>0x00800000</state>\n        </option>\n        <option>\n          <name>CCMacraigorHWResetDelay</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCJTagBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>CCMacraigorInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMacraigorInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>PEMICRO_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCPEMicroAttachSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCPEMicroInterfaceList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPEMicroResetDelay</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCPEMicroJtagSpeed</name>\n          <state>#UNINITIALIZED#</state>\n        </option>\n        <option>\n          <name>CCJPEMicroShowSettings</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCPEMicroUSBDevice</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPEMicroSerialPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJPEMicroTCPIPAutoScanNetwork</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCPEMicroTCPIP</name>\n          <state>10.0.0.1</state>\n        </option>\n        <option>\n          <name>CCPEMicroCommCmdLineProducer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>RDI_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CRDIDriverDll</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>CRDILogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRDILogFileEdit</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCRDIHWReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchUndef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchPrefetch</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>STLINK_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCSTLinkInterfaceRadio</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCSTLinkInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkResetList</name>\n          <version>1</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCpuClockEdit</name>\n          <state>32.0</state>\n        </option>\n        <option>\n          <name>CCSwoClockAuto</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSwoClockEdit</name>\n          <state>2000</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>THIRDPARTY_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CThirdPartyDriverDll</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>CThirdPartyLogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CThirdPartyLogFileEditB</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>XDS100_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCXDS100AttachSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TIPackageOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>TIPackage</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCXds100InterfaceList</name>\n          <version>3</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>BoardFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n      </data>\n    </settings>\n    <debuggerPlugins>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\middleware\\HCCWare\\HCCWare.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\AVIX\\AVIX.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\MQX\\MQXRtosPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\Quadros\\Quadros_EWB7_Plugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\SymList\\SymList.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n    </debuggerPlugins>\n  </configuration>\n  <configuration>\n    <name>Release</name>\n    <toolchain>\n      <name>ARM</name>\n    </toolchain>\n    <debug>0</debug>\n    <settings>\n      <name>C-SPY</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>26</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CEndian</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCVariant</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>MemOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MemFile</name>\n          <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\ST\\STM32L152xE.ddf</state>\n        </option>\n        <option>\n          <name>RunToEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RunToName</name>\n          <state>main</state>\n        </option>\n        <option>\n          <name>CExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CFpuProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCDDFArgumentProducer</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCDownloadSuppressDownload</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDownloadVerifyAll</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCProductVersion</name>\n          <state>7.40.2.8567</state>\n        </option>\n        <option>\n          <name>OCDynDriverList</name>\n          <state>STLINK_ID</state>\n        </option>\n        <option>\n          <name>OCLastSavedByProductVersion</name>\n          <state>7.40.2.8567</state>\n        </option>\n        <option>\n          <name>OCDownloadAttachToProgram</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>UseFlashLoader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CLowLevel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCBE8Slave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacFile2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CDevice</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>FlashLoadersV3</name>\n          <state>$TOOLKIT_DIR$\\config\\flashloader\\ST\\FlashSTM32L15xxE.board</state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OverrideDefFlashBoard</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesOffset1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesUse1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDeviceConfigMacroFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCDebuggerExtraOption</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCAllMTBOptions</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCMulticoreNrOfCores</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCMulticoreMaster</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCMulticorePort</name>\n          <state>53461</state>\n        </option>\n        <option>\n          <name>OCMulticoreWorkspace</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCMulticoreSlaveProject</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCMulticoreSlaveConfiguration</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ARMSIM_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCSimDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCSimEnablePSP</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCSimPspOverrideConfig</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCSimPspConfigFile</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ANGEL_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CCAngelHeartbeat</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CAngelCommunication</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CAngelCommBaud</name>\n          <version>0</version>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CAngelCommPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ANGELTCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>DoAngelLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AngelLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CMSISDAP_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CMSISDAPAttachSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCIarProbeScriptFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CMSISDAPResetList</name>\n          <version>1</version>\n          <state>10</state>\n        </option>\n        <option>\n          <name>CMSISDAPHWResetDuration</name>\n          <state>300</state>\n        </option>\n        <option>\n          <name>CMSISDAPHWResetDelay</name>\n          <state>200</state>\n        </option>\n        <option>\n          <name>CMSISDAPDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CMSISDAPInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiTargetEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPJtagSpeedList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPRestoreBreakpointsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPUpdateBreakpointsEdit</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>RDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchUndef</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchData</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchPrefetch</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchMMERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchNOCPERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchCHKERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchSTATERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchBUSERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchINTERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchHARDERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiCPUEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiCPUNumber</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeCfgOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeConfig</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CMSISDAPProbeConfigRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPSelectedCPUBehaviour</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ICpuName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCJetEmuParams</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>GDBSERVER_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCJTagBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>IARROM_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CRomLogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRomLogFileEditB</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CRomCommPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRomCommBaud</name>\n          <version>0</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>IJET_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>6</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetAttachSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCIarProbeScriptFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetResetList</name>\n          <version>1</version>\n          <state>10</state>\n        </option>\n        <option>\n          <name>IjetHWResetDuration</name>\n          <state>300</state>\n        </option>\n        <option>\n          <name>IjetHWResetDelay</name>\n          <state>200</state>\n        </option>\n        <option>\n          <name>IjetPowerFromProbe</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetPowerRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>IjetInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiTargetEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetScanChainNonARMDevices</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetIRLength</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetJtagSpeedList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetProtocolRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetSwoPin</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetCpuClockEdit</name>\n          <state>72.0</state>\n        </option>\n        <option>\n          <name>IjetSwoPrescalerList</name>\n          <version>1</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetRestoreBreakpointsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetUpdateBreakpointsEdit</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>RDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchUndef</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchData</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchPrefetch</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchMMERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchNOCPERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchCHKERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchSTATERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchBUSERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchINTERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchHARDERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeCfgOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeConfig</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IjetProbeConfigRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiCPUEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiCPUNumber</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetSelectedCPUBehaviour</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ICpuName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCJetEmuParams</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetPreferETB</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetTraceSettingsList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetTraceSizeList</name>\n          <version>0</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>FlashBoardPathSlave</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JLINK_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>15</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>JLinkSpeed</name>\n          <state>1000</state>\n        </option>\n        <option>\n          <name>CCJLinkDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCJLinkHWResetDelay</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>JLinkInitialSpeed</name>\n          <state>1000</state>\n        </option>\n        <option>\n          <name>CCDoJlinkMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCScanChainNonARMDevices</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkIRLength</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkCommRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkTCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>CCJLinkSpeedRadioV2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCUSBDevice</name>\n          <version>1</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchUndef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchPrefetch</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>CCJLinkInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkAttachSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCJLinkResetList</name>\n          <version>6</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>CCJLinkInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchMMERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchNOCPERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchCHRERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchSTATERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchBUSERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchINTERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchHARDERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkScriptFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCJLinkUsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCTcpIpAlt</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkTcpIpSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCCpuClockEdit</name>\n          <state>72.0</state>\n        </option>\n        <option>\n          <name>CCSwoClockAuto</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSwoClockEdit</name>\n          <state>2000</state>\n        </option>\n        <option>\n          <name>OCJLinkTraceSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkTraceSourceDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkDeviceName</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>LMIFTDI_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>LmiftdiSpeed</name>\n          <state>500</state>\n        </option>\n        <option>\n          <name>CCLmiftdiDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLmiftdiLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCLmiFtdiInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLmiFtdiInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>MACRAIGOR_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>3</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>jtag</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EmuSpeed</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>DoEmuMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EmuMultiTarget</name>\n          <state>0@ARM7TDMI</state>\n        </option>\n        <option>\n          <name>EmuHWReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CEmuCommBaud</name>\n          <version>0</version>\n          <state>4</state>\n        </option>\n        <option>\n          <name>CEmuCommPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>jtago</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UnusedAddr</name>\n          <state>0x00800000</state>\n        </option>\n        <option>\n          <name>CCMacraigorHWResetDelay</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCJTagBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>CCMacraigorInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMacraigorInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>PEMICRO_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCPEMicroAttachSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCPEMicroInterfaceList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPEMicroResetDelay</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCPEMicroJtagSpeed</name>\n          <state>#UNINITIALIZED#</state>\n        </option>\n        <option>\n          <name>CCJPEMicroShowSettings</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCPEMicroUSBDevice</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPEMicroSerialPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJPEMicroTCPIPAutoScanNetwork</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCPEMicroTCPIP</name>\n          <state>10.0.0.1</state>\n        </option>\n        <option>\n          <name>CCPEMicroCommCmdLineProducer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>RDI_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CRDIDriverDll</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>CRDILogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRDILogFileEdit</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCRDIHWReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchUndef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchPrefetch</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>STLINK_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCSTLinkInterfaceRadio</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCSTLinkInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkResetList</name>\n          <version>1</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCpuClockEdit</name>\n          <state>72.0</state>\n        </option>\n        <option>\n          <name>CCSwoClockAuto</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSwoClockEdit</name>\n          <state>2000</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>THIRDPARTY_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CThirdPartyDriverDll</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>CThirdPartyLogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CThirdPartyLogFileEditB</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>XDS100_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCXDS100AttachSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TIPackageOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>TIPackage</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCXds100InterfaceList</name>\n          <version>3</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>BoardFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n      </data>\n    </settings>\n    <debuggerPlugins>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\middleware\\HCCWare\\HCCWare.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\AVIX\\AVIX.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\MQX\\MQXRtosPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\Quadros\\Quadros_EWB7_Plugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\SymList\\SymList.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n    </debuggerPlugins>\n  </configuration>\n</project>\n\n\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l152re/qk/iar/dpp-qk.ewp",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<project>\n  <fileVersion>2</fileVersion>\n  <configuration>\n    <name>Debug</name>\n    <toolchain>\n      <name>ARM</name>\n    </toolchain>\n    <debug>1</debug>\n    <settings>\n      <name>General</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>22</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>ExePath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>ObjPath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>ListPath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>Variant</name>\n          <version>21</version>\n          <state>38</state>\n        </option>\n        <option>\n          <name>GEndianMode</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Input variant</name>\n          <version>3</version>\n          <state>6</state>\n        </option>\n        <option>\n          <name>Input description</name>\n          <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n        </option>\n        <option>\n          <name>Output variant</name>\n          <version>2</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>Output description</name>\n          <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n        </option>\n        <option>\n          <name>GOutputBinary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FPU</name>\n          <version>5</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGCoreOrChip</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelect</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelectSlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RTDescription</name>\n          <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n        </option>\n        <option>\n          <name>OGProductVersion</name>\n          <state>5.11.0.50579</state>\n        </option>\n        <option>\n          <name>OGLastSavedByProductVersion</name>\n          <state>7.40.2.8567</state>\n        </option>\n        <option>\n          <name>GeneralEnableMisra</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVerbose</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGChipSelectEditMenu</name>\n          <state>STM32L152xE\tST STM32L152xE</state>\n        </option>\n        <option>\n          <name>GenLowLevelInterface</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEndianModeBE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OGBufferedTerminalOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GenStdoutInterface</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>GeneralMisraVer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>RTConfigPath2</name>\n          <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n        </option>\n        <option>\n          <name>GFPUCoreSlave</name>\n          <version>21</version>\n          <state>38</state>\n        </option>\n        <option>\n          <name>GBECoreSlave</name>\n          <version>21</version>\n          <state>38</state>\n        </option>\n        <option>\n          <name>OGUseCmsis</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGUseCmsisDspLib</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibThreads</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICCARM</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>31</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CCOptimizationNoSizeConstraints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCPreprocFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocComments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMnemonics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMessages</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagSuppress</name>\n          <state>Pa050</state>\n        </option>\n        <option>\n          <name>CCDiagRemark</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagWarning</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagError</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCAllowList</name>\n          <version>1</version>\n          <state>00000000</state>\n        </option>\n        <option>\n          <name>CCDebugInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IEndianMode</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCLangConformance</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSignedPlainChar</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRequirePrototypes</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagWarnAreErr</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCompilerRuntimeInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IFpuProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.o</state>\n        </option>\n        <option>\n          <name>CCLibConfigHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>PreInclude</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CompilerMisraOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCIncludePath2</name>\n          <state>$PROJ_DIR$\\..\\..</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\iar</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re</state>\n        </option>\n        <option>\n          <name>CCStdIncCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCodeSection</name>\n          <state>.text</state>\n        </option>\n        <option>\n          <name>IInterwork2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IProcessorMode2</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptStrategy</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevelSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>CCPosIndRopi</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPosIndRwpi</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPosIndNoDynInit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccLang</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>IccCDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccAllowVLA</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCppDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccExceptions</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccRTTI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccStaticDestr</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccCppInlineSemantics</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccCmsis</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccFloatSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCNoLiteralPool</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOptStrategySlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCGuardCalls</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>AARM</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>9</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>AObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AEndian</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ACaseSensitivity</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacroChars</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnWhat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnOne</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ADebug</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AltRegisterNames</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state>ewarm</state>\n        </option>\n        <option>\n          <name>AList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AListHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AListing</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Includes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacExps</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacExec</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OnlyAssed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MultiLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>TabSpacing</name>\n          <state>8</state>\n        </option>\n        <option>\n          <name>AXRef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDefines</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefInternal</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDual</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AFpuProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AOutputFile</name>\n          <state>$FILE_BNAME$.o</state>\n        </option>\n        <option>\n          <name>AMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ALimitErrorsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ALimitErrorsEdit</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>AIgnoreStdInclude</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AUserIncludes</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AExtraOptionsCheckV2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptionsV2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AsmNoLiteralPool</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>OBJCOPY</name>\n      <archiveVersion>0</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OOCOutputFormat</name>\n          <version>3</version>\n          <state>3</state>\n        </option>\n        <option>\n          <name>OCOutputOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OOCOutputFile</name>\n          <state>dpp-qk.bin</state>\n        </option>\n        <option>\n          <name>OOCCommandLineProducer</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OOCObjCopyEnable</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CUSTOM</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <extensions></extensions>\n        <cmdline></cmdline>\n        <hasPrio>0</hasPrio>\n      </data>\n    </settings>\n    <settings>\n      <name>BICOMP</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>BUILDACTION</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <prebuild></prebuild>\n        <postbuild></postbuild>\n      </data>\n    </settings>\n    <settings>\n      <name>ILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data>\n        <version>16</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>IlinkLibIOConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XLinkMisraHandler</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkInputFileSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkOutputFile</name>\n          <state>dpp-qk.out</state>\n        </option>\n        <option>\n          <name>IlinkDebugInfoEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkKeepSymbols</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinaryFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinarySymbol</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinarySegment</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinaryAlign</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkConfigDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkMapFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkLogFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogInitialization</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogModule</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogSection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogVeneer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkIcfOverride</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkIcfFile</name>\n          <state>$PROJ_DIR$\\dpp-qk.icf</state>\n        </option>\n        <option>\n          <name>IlinkIcfFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkSuppressDiags</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkTreatAsRem</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkTreatAsWarn</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkTreatAsErr</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkWarningsAreErrors</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkUseExtraOptions</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkLowLevelInterfaceSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkAutoLibEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkAdditionalLibs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkOverrideProgramEntryLabel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkProgramEntryLabelSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkProgramEntryLabel</name>\n          <state>__iar_program_start</state>\n        </option>\n        <option>\n          <name>DoFill</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FillerByte</name>\n          <state>0xFF</state>\n        </option>\n        <option>\n          <name>FillerStart</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>FillerEnd</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>CrcSize</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcAlign</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcPoly</name>\n          <state>0x11021</state>\n        </option>\n        <option>\n          <name>CrcCompl</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcBitOrder</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcInitialValue</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>DoCrc</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkBE8Slave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkBufferedTerminalOutput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkStdoutInterfaceSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcFullSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkIElfToolPostProcess</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogAutoLibSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogRedirSymbols</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogUnusedFragments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkCrcReverseByteOrder</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkCrcUseAsInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptInline</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkOptExceptionsAllow</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptExceptionsForce</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkCmsis</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptMergeDuplSections</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkOptUseVfe</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptForceVfe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkStackAnalysisEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkStackControlFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkStackCallGraphFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CrcAlgorithm</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcUnitSize</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkThreadsSlave</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>IARCHIVE</name>\n      <archiveVersion>0</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>IarchiveInputs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IarchiveOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IarchiveOutput</name>\n          <state>###Unitialized###</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>BILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>Coder</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n  </configuration>\n  <configuration>\n    <name>Release</name>\n    <toolchain>\n      <name>ARM</name>\n    </toolchain>\n    <debug>0</debug>\n    <settings>\n      <name>General</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>22</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>ExePath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>ObjPath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>ListPath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>Variant</name>\n          <version>21</version>\n          <state>38</state>\n        </option>\n        <option>\n          <name>GEndianMode</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Input variant</name>\n          <version>3</version>\n          <state>6</state>\n        </option>\n        <option>\n          <name>Input description</name>\n          <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n        </option>\n        <option>\n          <name>Output variant</name>\n          <version>2</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>Output description</name>\n          <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n        </option>\n        <option>\n          <name>GOutputBinary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FPU</name>\n          <version>5</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGCoreOrChip</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelect</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelectSlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RTDescription</name>\n          <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n        </option>\n        <option>\n          <name>OGProductVersion</name>\n          <state>5.11.0.50579</state>\n        </option>\n        <option>\n          <name>OGLastSavedByProductVersion</name>\n          <state>7.40.2.8567</state>\n        </option>\n        <option>\n          <name>GeneralEnableMisra</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVerbose</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGChipSelectEditMenu</name>\n          <state>STM32L152xE\tST STM32L152xE</state>\n        </option>\n        <option>\n          <name>GenLowLevelInterface</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEndianModeBE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OGBufferedTerminalOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GenStdoutInterface</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>GeneralMisraVer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>RTConfigPath2</name>\n          <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n        </option>\n        <option>\n          <name>GFPUCoreSlave</name>\n          <version>21</version>\n          <state>38</state>\n        </option>\n        <option>\n          <name>GBECoreSlave</name>\n          <version>21</version>\n          <state>38</state>\n        </option>\n        <option>\n          <name>OGUseCmsis</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGUseCmsisDspLib</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibThreads</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICCARM</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>31</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CCOptimizationNoSizeConstraints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDefines</name>\n          <state>NDEBUG</state>\n        </option>\n        <option>\n          <name>CCPreprocFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocComments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMnemonics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMessages</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagSuppress</name>\n          <state>Pa050</state>\n        </option>\n        <option>\n          <name>CCDiagRemark</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagWarning</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagError</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCAllowList</name>\n          <version>1</version>\n          <state>11111110</state>\n        </option>\n        <option>\n          <name>CCDebugInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IEndianMode</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCLangConformance</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSignedPlainChar</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRequirePrototypes</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagWarnAreErr</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCompilerRuntimeInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IFpuProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.o</state>\n        </option>\n        <option>\n          <name>CCLibConfigHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>PreInclude</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CompilerMisraOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCIncludePath2</name>\n          <state>$PROJ_DIR$\\..\\..</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\iar</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re</state>\n        </option>\n        <option>\n          <name>CCStdIncCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCodeSection</name>\n          <state>.text</state>\n        </option>\n        <option>\n          <name>IInterwork2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IProcessorMode2</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevel</name>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CCOptStrategy</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevelSlave</name>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>CCPosIndRopi</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPosIndRwpi</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPosIndNoDynInit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccLang</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>IccCDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccAllowVLA</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCppDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccExceptions</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccRTTI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccStaticDestr</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccCppInlineSemantics</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccCmsis</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccFloatSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCNoLiteralPool</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOptStrategySlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCGuardCalls</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>AARM</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>9</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>AObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AEndian</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ACaseSensitivity</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacroChars</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnWhat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnOne</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ADebug</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AltRegisterNames</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state>ewarm</state>\n        </option>\n        <option>\n          <name>AList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AListHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AListing</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Includes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacExps</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacExec</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OnlyAssed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MultiLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>TabSpacing</name>\n          <state>8</state>\n        </option>\n        <option>\n          <name>AXRef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDefines</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefInternal</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDual</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AFpuProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AOutputFile</name>\n          <state>$FILE_BNAME$.o</state>\n        </option>\n        <option>\n          <name>AMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ALimitErrorsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ALimitErrorsEdit</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>AIgnoreStdInclude</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AUserIncludes</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AExtraOptionsCheckV2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptionsV2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AsmNoLiteralPool</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>OBJCOPY</name>\n      <archiveVersion>0</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OOCOutputFormat</name>\n          <version>3</version>\n          <state>3</state>\n        </option>\n        <option>\n          <name>OCOutputOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OOCOutputFile</name>\n          <state>dpp-qk.bin</state>\n        </option>\n        <option>\n          <name>OOCCommandLineProducer</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OOCObjCopyEnable</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CUSTOM</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <extensions></extensions>\n        <cmdline></cmdline>\n        <hasPrio>0</hasPrio>\n      </data>\n    </settings>\n    <settings>\n      <name>BICOMP</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>BUILDACTION</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <prebuild></prebuild>\n        <postbuild></postbuild>\n      </data>\n    </settings>\n    <settings>\n      <name>ILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data>\n        <version>16</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>IlinkLibIOConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XLinkMisraHandler</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkInputFileSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkOutputFile</name>\n          <state>dpp-qk.out</state>\n        </option>\n        <option>\n          <name>IlinkDebugInfoEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkKeepSymbols</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinaryFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinarySymbol</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinarySegment</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinaryAlign</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkConfigDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkMapFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkLogFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogInitialization</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogModule</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogSection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogVeneer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkIcfOverride</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkIcfFile</name>\n          <state>$PROJ_DIR$\\dpp-qk.icf</state>\n        </option>\n        <option>\n          <name>IlinkIcfFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkSuppressDiags</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkTreatAsRem</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkTreatAsWarn</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkTreatAsErr</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkWarningsAreErrors</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkUseExtraOptions</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkLowLevelInterfaceSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkAutoLibEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkAdditionalLibs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkOverrideProgramEntryLabel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkProgramEntryLabelSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkProgramEntryLabel</name>\n          <state>__iar_program_start</state>\n        </option>\n        <option>\n          <name>DoFill</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FillerByte</name>\n          <state>0xFF</state>\n        </option>\n        <option>\n          <name>FillerStart</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>FillerEnd</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>CrcSize</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcAlign</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcPoly</name>\n          <state>0x11021</state>\n        </option>\n        <option>\n          <name>CrcCompl</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcBitOrder</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcInitialValue</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>DoCrc</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkBE8Slave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkBufferedTerminalOutput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkStdoutInterfaceSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcFullSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkIElfToolPostProcess</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogAutoLibSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogRedirSymbols</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogUnusedFragments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkCrcReverseByteOrder</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkCrcUseAsInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptInline</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptExceptionsAllow</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptExceptionsForce</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkCmsis</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptMergeDuplSections</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkOptUseVfe</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptForceVfe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkStackAnalysisEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkStackControlFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkStackCallGraphFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CrcAlgorithm</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcUnitSize</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkThreadsSlave</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>IARCHIVE</name>\n      <archiveVersion>0</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>IarchiveInputs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IarchiveOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IarchiveOutput</name>\n          <state>###Unitialized###</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>BILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>Coder</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n  </configuration>\n  <group>\n    <name>Application</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\bsp.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\bsp.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\dpp.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\main.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\philo.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\table.c</name>\n    </file>\n  </group>\n  <group>\n    <name>nucleo-l152re</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\iar\\startup_stm32l1xx.s</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\stm32l1xx.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\system_stm32l1xx.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\system_stm32l1xx.h</name>\n    </file>\n  </group>\n  <group>\n    <name>QP</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qepn.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qfn.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qkn\\qkn.c</name>\n    </file>\n  </group>\n  <group>\n    <name>QP_port</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\iar\\qfn_port.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\iar\\qkn_port.c</name>\n    </file>\n  </group>\n</project>\n\n\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l152re/qk/iar/dpp-qk.eww",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<workspace>\n  <project>\n    <path>$WS_DIR$\\dpp-qk.ewp</path>\n  </project>\n  <batchBuild/>\n</workspace>\n\n\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l152re/qk/iar/dpp-qk.icf",
    "content": "/*###ICF### Section handled by ICF editor, don't touch! ****/\n/*-Editor annotation file-*/\n/* IcfEditorFile=\"$TOOLKIT_DIR$\\config\\ide\\IcfEditor\\cortex_v1_0.xml\" */\n/*-Specials-*/\ndefine symbol __ICFEDIT_intvec_start__ = 0x08000000;\n/*-Memory Regions-*/\ndefine symbol __ICFEDIT_region_ROM_start__ = 0x08000000;\ndefine symbol __ICFEDIT_region_ROM_end__   = 0x0807FFFF;\ndefine symbol __ICFEDIT_region_RAM_start__ = 0x20000000;\ndefine symbol __ICFEDIT_region_RAM_end__   = 0x20013FFF;\n/*-Sizes-*/\ndefine symbol __ICFEDIT_size_cstack__ = 1024;\ndefine symbol __ICFEDIT_size_heap__   = 0;\n/**** End of ICF editor section. ###ICF###*/\n\ndefine memory mem with size = 4G;\ndefine region ROM_region   = mem:[from __ICFEDIT_region_ROM_start__   to __ICFEDIT_region_ROM_end__];\ndefine region RAM_region   = mem:[from __ICFEDIT_region_RAM_start__   to __ICFEDIT_region_RAM_end__];\n\ndefine block CSTACK    with alignment = 8, size = __ICFEDIT_size_cstack__   { };\ndefine block HEAP      with alignment = 8, size = __ICFEDIT_size_heap__     { };\n\ninitialize by copy { readwrite };\ndo not initialize  { section .noinit };\n\nplace at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };\n\nplace in ROM_region   { readonly };\nplace in RAM_region   { readwrite,\n                        block CSTACK, block HEAP };\n\ndefine symbol __region_EEPROM_start__ = 0x08080000;\ndefine symbol __region_EEPROM_end__   = 0x08083FFF;\ndefine region EEPROM_region = mem:[from __region_EEPROM_start__   to __region_EEPROM_end__];\n\nplace in EEPROM_region  { section .eeprom };"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l152re/qpn_conf.h",
    "content": "/*****************************************************************************\n* Product: QP-nano configuration for the Blinky example\n* Last Updated for Version: 5.6.2\n* Date of the Last Update:  2016-04-05\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef QPN_CONF_H\n#define QPN_CONF_H\n\n#define Q_PARAM_SIZE            4U\n#define QF_MAX_TICK_RATE        1U\n#define QF_TIMEEVT_CTR_SIZE     2U\n#define QF_TIMEEVT_PERIODIC\n\n#endif  /* QPN_CONF_H */\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l152re/qv/armclang/README.txt",
    "content": "About this Example\n==================\nThis example demonstrates how to use the uVision IDE together with\nthe MDK-ARM toolchain.\n\n***\nNOTE: This example requires installing the following Software Pack\nin the Keil uVision: Keil::STM32L152_DFP.\n***\n\n\nuVision Project File\n====================\nThe MDK-ARM uVision project file provided with this example uses\nrelative paths to the QP/C framework location (includes, port, and\nlibraries. These relative paths must be modified when the project\nis moved to different relative location.\n\n\nAdjusting Stack and Heap Sizes\n==============================\nThe stack and heap sizes are determined in this project by the\ncommand-line options for the ARM assembler (see the Asm tab in\nthe \"Options for Target\" dialog box in uVision). Specifically,\nyou should define symbols: Stack_Size=xxx Heap_Size=yyy, where\nxxx represents a numerical value of stack size and yyy the\nnumberical value of the heap size.\n\n\nStartup Code\n============\nThe startup code for the STM32L1xx MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\nucleo-l152re\\arm\\startup_stm32l1xx.s\n\nThe file startup_stm32l1xx.s provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n\n\nAdjusting the CPU Clock Speed\n=============================\nThe current setting is to run at 2MHz from the MSI (internal oscillator),\nbut the CPU clock speed can be modified by editing the file\nsystem_stm32l1xx.c. Ther file system_stm32l1xx_pll.c provides an example\nof clock setting using the PLL driven from the MSE.\n\n***\nNOTE:\nThe NUCLEO boards have a wide range of possible clock selections, depending\non the solder bridge configuration. Please see Chapter 5.7 \"OSC clock\" in\nthe STM32 NUCLEO Boards User Manual (ST document UM1724) for more information.\n***\n\n  "
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l152re/qv/armclang/dpp-qv.uvoptx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<ProjectOpt xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_optx.xsd\">\n\n  <SchemaVersion>1.0</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Extensions>\n    <cExt>*.c</cExt>\n    <aExt>*.s*; *.src; *.a*</aExt>\n    <oExt>*.obj; *.o</oExt>\n    <lExt>*.lib</lExt>\n    <tExt>*.txt; *.h; *.inc</tExt>\n    <pExt>*.plm</pExt>\n    <CppX>*.cpp</CppX>\n    <nMigrate>0</nMigrate>\n  </Extensions>\n\n  <DaveTm>\n    <dwLowDateTime>0</dwLowDateTime>\n    <dwHighDateTime>0</dwHighDateTime>\n  </DaveTm>\n\n  <Target>\n    <TargetName>dpp-dbg</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>0</RunSim>\n        <RunTarget>1</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\dbg\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>1</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>18</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>1</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>5</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>STLink\\ST-LINKIII-KEIL_SWO.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGUARM</Key>\n          <Name>(105=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ST-LINKIII-KEIL_SWO</Key>\n          <Name>-U066EFF495056805087184715 -I0 -O8398 -S1 -C0 -A0 -N00(\"ARM CoreSight SW-DP\") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32L152RE$Flash\\STM32L1xx_512.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_512 -FS08000000 -FL080000 -FP0($$Device:STM32L152RE$Flash\\STM32L1xx_512.FLM))</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Target>\n    <TargetName>dpp-rel</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>0</RunSim>\n        <RunTarget>1</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\rel\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>0</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>18</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>1</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>5</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>STLink\\ST-LINKIII-KEIL_SWO.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGUARM</Key>\n          <Name>(105=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ST-LINKIII-KEIL_SWO</Key>\n          <Name>-U066EFF495056805087184715 -I0 -O8430 -S1 -C0 -A0 -N00(\"ARM CoreSight SW-DP\") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32L152RE$Flash\\STM32L1xx_512.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_512 -FS08000000 -FL080000 -FP0($$Device:STM32L152RE$Flash\\STM32L1xx_512.FLM))</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Group>\n    <GroupName>Application</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>1</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\bsp.h</PathWithFileName>\n      <FilenameWithoutPath>bsp.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>2</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\dpp.h</PathWithFileName>\n      <FilenameWithoutPath>dpp.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>3</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\main.c</PathWithFileName>\n      <FilenameWithoutPath>main.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>4</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\philo.c</PathWithFileName>\n      <FilenameWithoutPath>philo.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>5</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\README.txt</PathWithFileName>\n      <FilenameWithoutPath>README.txt</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>6</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\table.c</PathWithFileName>\n      <FilenameWithoutPath>table.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>7</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\bsp.c</PathWithFileName>\n      <FilenameWithoutPath>bsp.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>nucleo-l152re</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>8</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\README.txt</PathWithFileName>\n      <FilenameWithoutPath>README.txt</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>9</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\stm32l1xx.h</PathWithFileName>\n      <FilenameWithoutPath>stm32l1xx.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>10</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\system_stm32l1xx.c</PathWithFileName>\n      <FilenameWithoutPath>system_stm32l1xx.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>11</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\system_stm32l1xx.h</PathWithFileName>\n      <FilenameWithoutPath>system_stm32l1xx.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>12</FileNumber>\n      <FileType>2</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\arm\\startup_stm32l1xx.s</PathWithFileName>\n      <FilenameWithoutPath>startup_stm32l1xx.s</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>13</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</PathWithFileName>\n      <FilenameWithoutPath>qepn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>14</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</PathWithFileName>\n      <FilenameWithoutPath>qfn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>15</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qvn\\qvn.c</PathWithFileName>\n      <FilenameWithoutPath>qvn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP_port</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>16</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qfn_port.h</PathWithFileName>\n      <FilenameWithoutPath>qfn_port.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>17</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qvn_port.c</PathWithFileName>\n      <FilenameWithoutPath>qvn_port.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n</ProjectOpt>\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l152re/qv/armclang/dpp-qv.uvprojx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<Project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_projx.xsd\">\n\n  <SchemaVersion>2.1</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Targets>\n    <Target>\n      <TargetName>dpp-dbg</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6130001::V6.13.1::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>STM32L152RE</Device>\n          <Vendor>STMicroelectronics</Vendor>\n          <PackID>Keil.STM32L1xx_DFP.1.0.2</PackID>\n          <PackURL>http://www.keil.com/pack/</PackURL>\n          <Cpu>IROM(0x08000000,0x80000) IRAM(0x20000000,0x14000) CPUTYPE(\"Cortex-M3\") CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_512 -FS08000000 -FL080000 -FP0($$Device:STM32L152RE$Flash\\STM32L1xx_512.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:STM32L152RE$Device\\Include\\STM32L1xx.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:STM32L152RE$SVD\\STM32L1xx.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\dbg\\</OutputDirectory>\n          <OutputName>dpp-qv</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>1</DebugInformation>\n          <BrowseInformation>1</BrowseInformation>\n          <ListingPath>.\\dbg\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\dbg\\dpp-qv.bin .\\dbg\\dpp-qv.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>0</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments> -REMAP -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM3</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM3</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4096</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3>\"\" ()</Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M3\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>0</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x14000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x8000000</StartAddress>\n                <Size>0x80000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x8000000</StartAddress>\n                <Size>0x80000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x14000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>0</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>1</vShortEn>\n            <vShortWch>1</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define></Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include; ..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=512 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile></ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Application</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\bsp.h</FilePath>\n            </File>\n            <File>\n              <FileName>dpp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\dpp.h</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>philo.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\philo.c</FilePath>\n            </File>\n            <File>\n              <FileName>README.txt</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\README.txt</FilePath>\n            </File>\n            <File>\n              <FileName>table.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\table.c</FilePath>\n            </File>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>nucleo-l152re</GroupName>\n          <Files>\n            <File>\n              <FileName>README.txt</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\README.txt</FilePath>\n            </File>\n            <File>\n              <FileName>stm32l1xx.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\stm32l1xx.h</FilePath>\n            </File>\n            <File>\n              <FileName>system_stm32l1xx.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\system_stm32l1xx.c</FilePath>\n            </File>\n            <File>\n              <FileName>system_stm32l1xx.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\system_stm32l1xx.h</FilePath>\n            </File>\n            <File>\n              <FileName>startup_stm32l1xx.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\arm\\startup_stm32l1xx.s</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qvn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qvn\\qvn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qvn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qvn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n    <Target>\n      <TargetName>dpp-rel</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6130001::V6.13.1::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>STM32L152RE</Device>\n          <Vendor>STMicroelectronics</Vendor>\n          <PackID>Keil.STM32L1xx_DFP.1.0.2</PackID>\n          <PackURL>http://www.keil.com/pack/</PackURL>\n          <Cpu>IROM(0x08000000,0x80000) IRAM(0x20000000,0x14000) CPUTYPE(\"Cortex-M3\") CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L1xx_512 -FS08000000 -FL080000 -FP0($$Device:STM32L152RE$Flash\\STM32L1xx_512.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:STM32L152RE$Device\\Include\\STM32L1xx.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:STM32L152RE$SVD\\STM32L1xx.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\rel\\</OutputDirectory>\n          <OutputName>dpp-qv</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>0</DebugInformation>\n          <BrowseInformation>0</BrowseInformation>\n          <ListingPath>.\\rel\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\rel\\dpp-qv.bin .\\rel\\dpp-qv.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>0</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments> -REMAP -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM3</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM3</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4096</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3>\"\" ()</Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M3\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>0</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x14000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x8000000</StartAddress>\n                <Size>0x80000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x8000000</StartAddress>\n                <Size>0x80000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x14000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>0</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>1</vShortEn>\n            <vShortWch>1</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>NDEBUG</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include; ..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=512 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile>dpp-qv.sct</ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Application</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\bsp.h</FilePath>\n            </File>\n            <File>\n              <FileName>dpp.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\dpp.h</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>philo.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\philo.c</FilePath>\n            </File>\n            <File>\n              <FileName>README.txt</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\README.txt</FilePath>\n            </File>\n            <File>\n              <FileName>table.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\table.c</FilePath>\n            </File>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>nucleo-l152re</GroupName>\n          <Files>\n            <File>\n              <FileName>README.txt</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\README.txt</FilePath>\n            </File>\n            <File>\n              <FileName>stm32l1xx.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\stm32l1xx.h</FilePath>\n            </File>\n            <File>\n              <FileName>system_stm32l1xx.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\system_stm32l1xx.c</FilePath>\n            </File>\n            <File>\n              <FileName>system_stm32l1xx.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\system_stm32l1xx.h</FilePath>\n            </File>\n            <File>\n              <FileName>startup_stm32l1xx.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\arm\\startup_stm32l1xx.s</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qvn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qvn\\qvn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qvn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qvn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n  </Targets>\n\n  <RTE>\n    <apis/>\n    <components/>\n    <files/>\n  </RTE>\n\n</Project>\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l152re/qv/bsp.c",
    "content": "/*****************************************************************************\n* Product: DPP on STM32 NUCLEO-L152RE board, cooperative QV kernel\n* Last Updated for Version: 5.5.1\n* Date of the Last Update:  2015-10-05\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"dpp.h\"\n#include \"bsp.h\"\n\n#include \"stm32l1xx.h\"  /* CMSIS-compliant header file for the MCU used */\n/* add other drivers if necessary... */\n\n//Q_DEFINE_THIS_FILE\n\n/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n* Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n* DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n*/\nenum KernelUnawareISRs { /* see NOTE00 */\n    /* ... */\n    MAX_KERNEL_UNAWARE_CMSIS_PRI  /* keep always last */\n};\n/* \"kernel-unaware\" interrupts can't overlap \"kernel-aware\" interrupts */\nQ_ASSERT_COMPILE(MAX_KERNEL_UNAWARE_CMSIS_PRI <= QF_AWARE_ISR_CMSIS_PRI);\n\nenum KernelAwareISRs {\n    GPIOPORTA_PRIO = QF_AWARE_ISR_CMSIS_PRI, /* see NOTE00 */\n    SYSTICK_PRIO,\n    /* ... */\n    MAX_KERNEL_AWARE_CMSIS_PRI /* keep always last */\n};\n/* \"kernel-aware\" interrupts should not overlap the PendSV priority */\nQ_ASSERT_COMPILE(MAX_KERNEL_AWARE_CMSIS_PRI <= (0xFF >>(8-__NVIC_PRIO_BITS)));\n\n/* ISRs defined in this BSP ------------------------------------------------*/\nvoid SysTick_Handler(void);\n\n/* Local-scope objects -----------------------------------------------------*/\n/* LED pins available on the board (just one user LED LD2--Green on PA.5) */\n#define LED_LD2  (1U << 5)\n\n/* Button pins available on the board (just one user Button B1 on PC.13) */\n#define BTN_B1   (1U << 13)\n\n/* random seed */\nstatic uint32_t l_rnd;\n\n\n/* ISRs used in this project ===============================================*/\nvoid SysTick_Handler(void) {\n    /* state of the button debouncing, see below */\n    static struct ButtonsDebouncing {\n        uint32_t depressed;\n        uint32_t previous;\n    } buttons = { ~0U, ~0U };\n    uint32_t current;\n    uint32_t tmp;\n\n    QF_tickXISR(0U); /* process time events for rate 0 */\n\n\n    /* Perform the debouncing of buttons. The algorithm for debouncing\n    * adapted from the book \"Embedded Systems Dictionary\" by Jack Ganssle\n    * and Michael Barr, page 71.\n    */\n    current = ~GPIOC->IDR; /* read Port C with the state of Button B1 */\n    tmp = buttons.depressed; /* save the debounced depressed buttons */\n    buttons.depressed |= (buttons.previous & current); /* set depressed */\n    buttons.depressed &= (buttons.previous | current); /* clear released */\n    buttons.previous   = current; /* update the history */\n    tmp ^= buttons.depressed;     /* changed debounced depressed */\n    if ((tmp & BTN_B1) != 0U) {  /* debounced B1 state changed? */\n        if ((buttons.depressed & BTN_B1) != 0U) { /* is B1 depressed? */\n            QACTIVE_POST_ISR(&AO_Table, PAUSE_SIG, 0U);\n        }\n        else {            /* the button is released */\n            QACTIVE_POST_ISR(&AO_Table, SERVE_SIG, 0U);\n        }\n    }\n}\n\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    /* NOTE: SystemInit() has been already called from the startup code\n    *  but SystemCoreClock needs to be updated\n    */\n    SystemCoreClockUpdate();\n\n    /* enable GPIOA clock port for the LED LD2 */\n    RCC->AHBENR |= (1U << 0);\n\n    /* configure LED (PA.5) pin as push-pull output, no pull-up, pull-down */\n    GPIOA->MODER   &= ~((3U << 2*5));\n    GPIOA->MODER   |=  ((1U << 2*5));\n    GPIOA->OTYPER  &= ~((1U <<   5));\n    GPIOA->OSPEEDR &= ~((3U << 2*5));\n    GPIOA->OSPEEDR |=  ((1U << 2*5));\n    GPIOA->PUPDR   &= ~((3U << 2*5));\n\n    /* enable GPIOC clock port for the Button B1 */\n    RCC->AHBENR |=  (1U << 2);\n\n    /* configure Button (PC.13) pins as input, no pull-up, pull-down */\n    GPIOC->MODER   &= ~(3U << 2*13);\n    GPIOC->OSPEEDR &= ~(3U << 2*13);\n    GPIOC->OSPEEDR |=  (1U << 2*13);\n    GPIOC->PUPDR   &= ~(3U << 2*13);\n\n    BSP_randomSeed(1234U); /* seed the random number generator */\n}\n/*..........................................................................*/\nvoid BSP_displayPhilStat(uint8_t n, char const *stat) {\n    if (stat[0] == 'h') {\n        GPIOA->BSRRL |= LED_LD2;  /* turn LED on  */\n    }\n    else {\n        GPIOA->BSRRH |= LED_LD2;  /* turn LED off */\n    }\n}\n/*..........................................................................*/\nvoid BSP_displayPaused(uint8_t paused) {\n    /* not enough LEDs to implement this feature */\n    if (paused != (uint8_t)0) {\n        //GPIOA->BSRRL |= LED_LD2;  /* turn LED on  */\n    }\n    else {\n        //GPIOA->BSRRH |= LED_LD2;  /* turn LED off */\n    }\n}\n/*..........................................................................*/\nuint32_t BSP_random(void) { /* a very cheap pseudo-random-number generator */\n    /* \"Super-Duper\" Linear Congruential Generator (LCG)\n    * LCG(2^32, 3*7*11*13*23, 0, seed)\n    */\n    l_rnd = l_rnd * (3U*7U*11U*13U*23U);\n\n    return l_rnd >> 8;\n}\n/*..........................................................................*/\nvoid BSP_randomSeed(uint32_t seed) {\n    l_rnd = seed;\n}\n/*..........................................................................*/\nvoid BSP_terminate(int16_t result) {\n    (void)result;\n}\n\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    /* set up the SysTick timer to fire at BSP_TICKS_PER_SEC rate */\n    SysTick_Config(SystemCoreClock / BSP_TICKS_PER_SEC);\n\n    /* set priorities of ALL ISRs used in the system, see NOTE00\n    *\n    * !!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n    * Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n    * DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n    */\n    NVIC_SetPriority(SysTick_IRQn,   SYSTICK_PRIO);\n    /* ... */\n\n    /* enable IRQs... */\n}\n/*..........................................................................*/\nvoid QV_onIdle(void) {  /* called with interrupts disabled, see NOTE01 */\n\n\n    /* toggle an LED on and then off (not enough LEDs, see NOTE01) */\n    //GPIOA->BSRRL |= LED_LD2;  /* turn LED on  */\n    //GPIOA->BSRRH |= LED_LD2;  /* turn LED off */\n\n#ifdef NDEBUG\n    /* Put the CPU and peripherals to the low-power mode.\n    * you might need to customize the clock management for your application,\n    * see the datasheet for your particular Cortex-M3 MCU.\n    */\n    /* !!!CAUTION!!!\n    * The WFI instruction stops the CPU clock, which unfortunately disables\n    * the JTAG port, so the ST-Link debugger can no longer connect to the\n    * board. For that reason, the call to __WFI() has to be used with CAUTION.\n    *\n    * NOTE: If you find your board \"frozen\" like this, strap BOOT0 to VDD and\n    * reset the board, then connect with ST-Link Utilities and erase the part.\n    * The trick with BOOT(0) is it gets the part to run the System Loader\n    * instead of your broken code. When done disconnect BOOT0, and start over.\n    */\n    //QV_CPU_SLEEP();  /* atomically go to sleep and enable interrupts */\n    QF_INT_ENABLE(); /* for now, just enable interrupts */\n#else\n    QF_INT_ENABLE(); /* just enable interrupts */\n#endif\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const module, int loc) {\n    /*\n    * NOTE: add here your application-specific error handling\n    */\n    (void)module;\n    (void)loc;\n\n    NVIC_SystemReset();\n}\n\n/*****************************************************************************\n* NOTE00:\n* The QF_AWARE_ISR_CMSIS_PRI constant from the QF port specifies the highest\n* ISR priority that is disabled by the QF framework. The value is suitable\n* for the NVIC_SetPriority() CMSIS function.\n*\n* Only ISRs prioritized at or below the QF_AWARE_ISR_CMSIS_PRI level (i.e.,\n* with the numerical values of priorities equal or higher than\n* QF_AWARE_ISR_CMSIS_PRI) are allowed to call any QF services. These ISRs\n* are \"QF-aware\".\n*\n* Conversely, any ISRs prioritized above the QF_AWARE_ISR_CMSIS_PRI priority\n* level (i.e., with the numerical values of priorities less than\n* QF_AWARE_ISR_CMSIS_PRI) are never disabled and are not aware of the kernel.\n* Such \"QF-unaware\" ISRs cannot call any QF services. The only mechanism\n* by which a \"QF-unaware\" ISR can communicate with the QF framework is by\n* triggering a \"QF-aware\" ISR, which can post/publish events.\n*\n* NOTE01:\n* One of the LEDs is used to visualize the idle loop activity. The brightness\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l152re/qv/gnu/.cproject",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<?fileVersion 4.0.0?><cproject storage_type_id=\"org.eclipse.cdt.core.XmlProjectDescriptionStorage\">\n\t<storageModule moduleId=\"org.eclipse.cdt.core.settings\">\n\t\t<cconfiguration id=\"com.atollic.truestudio.exe.debug.1398977871\">\n\t\t\t<storageModule buildSystemId=\"org.eclipse.cdt.managedbuilder.core.configurationDataProvider\" id=\"com.atollic.truestudio.exe.debug.1398977871\" moduleId=\"org.eclipse.cdt.core.settings\" name=\"Debug\">\n\t\t\t\t<externalSettings/>\n\t\t\t\t<extensions>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.ELF\" point=\"org.eclipse.cdt.core.BinaryParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GASErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GLDErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GCCErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t</extensions>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t\t\t<configuration artifactExtension=\"elf\" artifactName=\"${ProjName}\" buildArtefactType=\"org.eclipse.cdt.build.core.buildArtefactType.exe\" buildProperties=\"org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe\" cleanCommand=\"rm -rf\" description=\"\" id=\"com.atollic.truestudio.exe.debug.1398977871\" name=\"Debug\" parent=\"com.atollic.truestudio.exe.debug\">\n\t\t\t\t\t<folderInfo id=\"com.atollic.truestudio.exe.debug.1398977871.\" name=\"/\" resourcePath=\"\">\n\t\t\t\t\t\t<toolChain id=\"com.atollic.truestudio.exe.debug.toolchain.54043111\" name=\"Atollic ARM Tools\" superClass=\"com.atollic.truestudio.exe.debug.toolchain\">\n\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.general.runtimelib.1213243625\" name=\"Runtime Library\" superClass=\"com.atollic.truestudio.general.runtimelib\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.ld.general.clib.small\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.toolchain_options.mcu.1249934684\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.toolchain_options.mcu\" useByScannerDiscovery=\"false\" value=\"STM32L152RE\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.toolchain_options.vendor.1419997009\" name=\"Vendor name\" superClass=\"com.atollic.truestudio.toolchain_options.vendor\" useByScannerDiscovery=\"false\" value=\"STMicroelectronics\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<targetPlatform archList=\"all\" binaryParser=\"org.eclipse.cdt.core.ELF\" id=\"com.atollic.truestudio.exe.debug.toolchain.platform.1554109397\" isAbstract=\"false\" name=\"Debug platform\" osList=\"all\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.platform\"/>\n\t\t\t\t\t\t\t<builder buildPath=\"${workspace_loc:/dpp-qv_nucleo-l152re}/Debug\" customBuilderProperties=\"toolChainpathType=1|toolChainpathString=C:\\\\tools\\\\TrueSTUDIO for STM32 9.0.0\\\\ARMTools\\\\bin|\" id=\"com.atollic.truestudio.mbs.builder1.860010426\" keepEnvironmentInBuildfile=\"false\" managedBuildOn=\"true\" name=\"CDT Internal Builder\" superClass=\"com.atollic.truestudio.mbs.builder1\"/>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.as.953612839\" name=\"Assembler\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.as\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.1897827590\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\" useByScannerDiscovery=\"false\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.121105574\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" useByScannerDiscovery=\"false\" value=\"STM32L152RE\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.230668879\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.494056925\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.1517613394\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\" useByScannerDiscovery=\"false\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.as.symbols.defined.471450456\" name=\"Defined symbols\" superClass=\"com.atollic.truestudio.as.symbols.defined\" useByScannerDiscovery=\"false\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"STM32L152xE\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.as.general.incpath.743955758\" name=\"Include path\" superClass=\"com.atollic.truestudio.as.general.incpath\" useByScannerDiscovery=\"false\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.atollic.truestudio.as.input.1263771663\" name=\"Input\" superClass=\"com.atollic.truestudio.as.input\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.gcc.1998777106\" name=\"C Compiler\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.gcc\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gcc.symbols.defined.411847102\" name=\"Defined symbols\" superClass=\"com.atollic.truestudio.gcc.symbols.defined\" useByScannerDiscovery=\"false\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"STM32L152xE\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gcc.directories.select.1540883810\" name=\"Include path\" superClass=\"com.atollic.truestudio.gcc.directories.select\" useByScannerDiscovery=\"false\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../..\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../src\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../ports/arm-cm/qv/gnu\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../3rd_party/nucleo-l152re\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../3rd_party/CMSIS/Include\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.2110864367\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\" useByScannerDiscovery=\"false\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.398255252\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" useByScannerDiscovery=\"false\" value=\"STM32L152RE\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.1674086760\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.378318991\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.857833990\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\" useByScannerDiscovery=\"false\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gcc.optimization.prep_garbage.1359651028\" name=\"Prepare dead code removal \" superClass=\"com.atollic.truestudio.gcc.optimization.prep_garbage\" useByScannerDiscovery=\"false\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gcc.optimization.prep_data.976427398\" name=\"Prepare dead data removal\" superClass=\"com.atollic.truestudio.gcc.optimization.prep_data\" useByScannerDiscovery=\"false\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.atollic.truestudio.gcc.input.1197334469\" superClass=\"com.atollic.truestudio.gcc.input\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.ld.1605506522\" name=\"C Linker\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.ld\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.200496344\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\" useByScannerDiscovery=\"false\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.1403373268\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" useByScannerDiscovery=\"false\" value=\"STM32L152RE\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.958299348\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.765977347\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.1540833078\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\" useByScannerDiscovery=\"false\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ld.general.scriptfile.1429381031\" name=\"Linker script\" superClass=\"com.atollic.truestudio.ld.general.scriptfile\" useByScannerDiscovery=\"false\" value=\"..\\dpp-qv.ld\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ld.optimization.do_garbage.2145032446\" name=\"Dead code removal \" superClass=\"com.atollic.truestudio.ld.optimization.do_garbage\" useByScannerDiscovery=\"false\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ld.general.syscall_lib.1974770223\" name=\"System calls\" superClass=\"com.atollic.truestudio.ld.general.syscall_lib\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.ld.general.syscalls_lib.nothing\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ld.general.nostdlib.2053124731\" name=\"No startup or default libs\" superClass=\"com.atollic.truestudio.ld.general.nostdlib\" useByScannerDiscovery=\"false\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ld.general.nodefaultlibs.1129748497\" name=\"Do not use default libraries\" superClass=\"com.atollic.truestudio.ld.general.nodefaultlibs\" useByScannerDiscovery=\"false\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ld.general.nostartfiles.145384928\" name=\"Do not use standard start files\" superClass=\"com.atollic.truestudio.ld.general.nostartfiles\" useByScannerDiscovery=\"false\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.atollic.truestudio.ld.input.1743432061\" name=\"Input\" superClass=\"com.atollic.truestudio.ld.input\">\n\t\t\t\t\t\t\t\t\t<additionalInput kind=\"additionalinputdependency\" paths=\"$(USER_OBJS)\"/>\n\t\t\t\t\t\t\t\t\t<additionalInput kind=\"additionalinput\" paths=\"$(LIBS)\"/>\n\t\t\t\t\t\t\t\t</inputType>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.gpp.2061276068\" name=\"C++ Compiler\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.gpp\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.symbols.defined.988318666\" name=\"Defined symbols\" superClass=\"com.atollic.truestudio.gpp.symbols.defined\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"STM32L152xE\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.directories.select.1138167557\" name=\"Include path\" superClass=\"com.atollic.truestudio.gpp.directories.select\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../src\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Drivers/CMSIS/Include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Drivers/CMSIS/Device/ST/STM32L1xx/Include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Drivers/STM32L1xx_HAL_Driver/Inc\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.1246895625\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.1756276215\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" value=\"STM32L152RE\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.2077457149\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.2052327999\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.718583265\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.optimization.prep_garbage.1031769755\" name=\"Prepare dead code removal\" superClass=\"com.atollic.truestudio.gpp.optimization.prep_garbage\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.optimization.prep_data.1094983987\" name=\"Prepare dead data removal\" superClass=\"com.atollic.truestudio.gpp.optimization.prep_data\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.optimization.fno_rtti.2085907672\" name=\"Disable RTTI\" superClass=\"com.atollic.truestudio.gpp.optimization.fno_rtti\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.optimization.fno_exceptions.6828063\" name=\"Disable exception handling\" superClass=\"com.atollic.truestudio.gpp.optimization.fno_exceptions\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.ldcc.893685860\" name=\"C++ Linker\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.ldcc\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.494253966\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.804698125\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" value=\"STM32L152RE\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.1606126450\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.815581383\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.1773672419\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ldcc.optimization.do_garbage.2067022700\" name=\"Dead code removal\" superClass=\"com.atollic.truestudio.ldcc.optimization.do_garbage\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ldcc.general.scriptfile.1217195485\" name=\"Linker script\" superClass=\"com.atollic.truestudio.ldcc.general.scriptfile\" value=\"dpp-qv.ld\" valueType=\"string\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.ar.base.1847374934\" name=\"Archiver\" superClass=\"com.atollic.truestudio.ar.base\"/>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.secoutput.757519410\" name=\"Other\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.secoutput\"/>\n\t\t\t\t\t\t</toolChain>\n\t\t\t\t\t</folderInfo>\n\t\t\t\t\t<sourceEntries>\n\t\t\t\t\t\t<entry excluding=\"QS|nucleo-l152re/arm|nucleo-l152re/iar\" flags=\"VALUE_WORKSPACE_PATH|RESOLVED\" kind=\"sourcePath\" name=\"\"/>\n\t\t\t\t\t</sourceEntries>\n\t\t\t\t</configuration>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"org.eclipse.cdt.core.externalSettings\"/>\n\t\t</cconfiguration>\n\t\t<cconfiguration id=\"com.atollic.truestudio.exe.debug.1398977871.1476162257\">\n\t\t\t<storageModule buildSystemId=\"org.eclipse.cdt.managedbuilder.core.configurationDataProvider\" id=\"com.atollic.truestudio.exe.debug.1398977871.1476162257\" moduleId=\"org.eclipse.cdt.core.settings\" name=\"Release\">\n\t\t\t\t<externalSettings/>\n\t\t\t\t<extensions>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.ELF\" point=\"org.eclipse.cdt.core.BinaryParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GASErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GLDErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GCCErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t</extensions>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t\t\t<configuration artifactExtension=\"elf\" artifactName=\"${ProjName}\" buildArtefactType=\"org.eclipse.cdt.build.core.buildArtefactType.exe\" buildProperties=\"org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe\" cleanCommand=\"rm -rf\" description=\"\" id=\"com.atollic.truestudio.exe.debug.1398977871.1476162257\" name=\"Release\" parent=\"com.atollic.truestudio.exe.debug\">\n\t\t\t\t\t<folderInfo id=\"com.atollic.truestudio.exe.debug.1398977871.1476162257.\" name=\"/\" resourcePath=\"\">\n\t\t\t\t\t\t<toolChain id=\"com.atollic.truestudio.exe.debug.toolchain.144219510\" name=\"Atollic ARM Tools\" superClass=\"com.atollic.truestudio.exe.debug.toolchain\">\n\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.general.runtimelib.1402315937\" name=\"Runtime Library\" superClass=\"com.atollic.truestudio.general.runtimelib\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.ld.general.clib.small\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.toolchain_options.mcu.1300821252\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.toolchain_options.mcu\" useByScannerDiscovery=\"false\" value=\"STM32L152RE\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.toolchain_options.vendor.589172080\" name=\"Vendor name\" superClass=\"com.atollic.truestudio.toolchain_options.vendor\" useByScannerDiscovery=\"false\" value=\"STMicroelectronics\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<targetPlatform archList=\"all\" binaryParser=\"org.eclipse.cdt.core.ELF\" id=\"com.atollic.truestudio.exe.debug.toolchain.platform.2040485243\" isAbstract=\"false\" name=\"Debug platform\" osList=\"all\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.platform\"/>\n\t\t\t\t\t\t\t<builder buildPath=\"${workspace_loc:/dpp-qv_nucleo-l152re}/Debug\" customBuilderProperties=\"toolChainpathType=1|toolChainpathString=C:\\\\tools\\\\TrueSTUDIO for STM32 9.0.0\\\\ARMTools\\\\bin|\" id=\"com.atollic.truestudio.mbs.builder1.1632706010\" keepEnvironmentInBuildfile=\"false\" managedBuildOn=\"true\" name=\"CDT Internal Builder\" superClass=\"com.atollic.truestudio.mbs.builder1\"/>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.as.1242505749\" name=\"Assembler\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.as\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.2128388184\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\" useByScannerDiscovery=\"false\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.2062846174\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" useByScannerDiscovery=\"false\" value=\"STM32L152RE\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.1909577988\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.914605824\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.1037063756\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\" useByScannerDiscovery=\"false\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.as.symbols.defined.690507733\" name=\"Defined symbols\" superClass=\"com.atollic.truestudio.as.symbols.defined\" useByScannerDiscovery=\"false\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"STM32L152xE\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.as.general.incpath.1062391255\" name=\"Include path\" superClass=\"com.atollic.truestudio.as.general.incpath\" useByScannerDiscovery=\"false\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../src\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Drivers/CMSIS/Include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Drivers/CMSIS/Device/ST/STM32L1xx/Include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Drivers/STM32L1xx_HAL_Driver/Inc\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<inputType id=\"com.atollic.truestudio.as.input.239658028\" name=\"Input\" superClass=\"com.atollic.truestudio.as.input\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.gcc.690659541\" name=\"C Compiler\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.gcc\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gcc.symbols.defined.1310887989\" name=\"Defined symbols\" superClass=\"com.atollic.truestudio.gcc.symbols.defined\" useByScannerDiscovery=\"false\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"NDEBUG\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"STM32L152xE\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gcc.directories.select.410405680\" name=\"Include path\" superClass=\"com.atollic.truestudio.gcc.directories.select\" useByScannerDiscovery=\"false\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../..\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../src\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../ports/arm-cm/qv/gnu\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../3rd_party/nucleo-l152re\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../../../../../../3rd_party/CMSIS/Include\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.618914168\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\" useByScannerDiscovery=\"false\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.635802989\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" useByScannerDiscovery=\"false\" value=\"STM32L152RE\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.367763048\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.1873200949\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.91908120\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\" useByScannerDiscovery=\"false\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gcc.optimization.prep_garbage.2103298107\" name=\"Prepare dead code removal \" superClass=\"com.atollic.truestudio.gcc.optimization.prep_garbage\" useByScannerDiscovery=\"false\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gcc.optimization.prep_data.365692602\" name=\"Prepare dead data removal\" superClass=\"com.atollic.truestudio.gcc.optimization.prep_data\" useByScannerDiscovery=\"false\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.exe.debug.toolchain.gcc.optimization.level.1673667301\" name=\"Optimization Level\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.gcc.optimization.level\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.gcc.optimization.level.0fast\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.atollic.truestudio.gcc.input.698178231\" superClass=\"com.atollic.truestudio.gcc.input\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.ld.169635790\" name=\"C Linker\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.ld\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.1536835539\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\" useByScannerDiscovery=\"false\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.248922412\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" useByScannerDiscovery=\"false\" value=\"STM32L152RE\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.1754906738\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.1199237060\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.276361080\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\" useByScannerDiscovery=\"false\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ld.general.scriptfile.914791780\" name=\"Linker script\" superClass=\"com.atollic.truestudio.ld.general.scriptfile\" useByScannerDiscovery=\"false\" value=\"..\\dpp-qv.ld\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ld.optimization.do_garbage.2094288666\" name=\"Dead code removal \" superClass=\"com.atollic.truestudio.ld.optimization.do_garbage\" useByScannerDiscovery=\"false\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ld.general.syscall_lib.1049732115\" name=\"System calls\" superClass=\"com.atollic.truestudio.ld.general.syscall_lib\" useByScannerDiscovery=\"false\" value=\"com.atollic.truestudio.ld.general.syscalls_lib.nothing\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ld.general.nostdlib.745175252\" name=\"No startup or default libs\" superClass=\"com.atollic.truestudio.ld.general.nostdlib\" useByScannerDiscovery=\"false\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ld.general.nodefaultlibs.558088391\" name=\"Do not use default libraries\" superClass=\"com.atollic.truestudio.ld.general.nodefaultlibs\" useByScannerDiscovery=\"false\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ld.general.nostartfiles.1242953686\" name=\"Do not use standard start files\" superClass=\"com.atollic.truestudio.ld.general.nostartfiles\" useByScannerDiscovery=\"false\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.atollic.truestudio.ld.input.1952862684\" name=\"Input\" superClass=\"com.atollic.truestudio.ld.input\">\n\t\t\t\t\t\t\t\t\t<additionalInput kind=\"additionalinputdependency\" paths=\"$(USER_OBJS)\"/>\n\t\t\t\t\t\t\t\t\t<additionalInput kind=\"additionalinput\" paths=\"$(LIBS)\"/>\n\t\t\t\t\t\t\t\t</inputType>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.gpp.1925921071\" name=\"C++ Compiler\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.gpp\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.symbols.defined.1346986245\" name=\"Defined symbols\" superClass=\"com.atollic.truestudio.gpp.symbols.defined\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"STM32L152xE\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.directories.select.1013495957\" name=\"Include path\" superClass=\"com.atollic.truestudio.gpp.directories.select\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../src\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Drivers/CMSIS/Include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Drivers/CMSIS/Device/ST/STM32L1xx/Include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"../Drivers/STM32L1xx_HAL_Driver/Inc\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.1741635739\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.1445511149\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" value=\"STM32L152RE\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.713780892\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.1454219450\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.413637483\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.optimization.prep_garbage.461708585\" name=\"Prepare dead code removal\" superClass=\"com.atollic.truestudio.gpp.optimization.prep_garbage\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.optimization.prep_data.916881636\" name=\"Prepare dead data removal\" superClass=\"com.atollic.truestudio.gpp.optimization.prep_data\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.optimization.fno_rtti.2090872266\" name=\"Disable RTTI\" superClass=\"com.atollic.truestudio.gpp.optimization.fno_rtti\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.gpp.optimization.fno_exceptions.1498006885\" name=\"Disable exception handling\" superClass=\"com.atollic.truestudio.gpp.optimization.fno_exceptions\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.ldcc.894850697\" name=\"C++ Linker\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.ldcc\">\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.endianess.1786353754\" name=\"Endianess\" superClass=\"com.atollic.truestudio.common_options.target.endianess\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.mcpu.1643022723\" name=\"Microcontroller\" superClass=\"com.atollic.truestudio.common_options.target.mcpu\" value=\"STM32L152RE\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.instr_set.1313079776\" name=\"Instruction set\" superClass=\"com.atollic.truestudio.common_options.target.instr_set\" value=\"com.atollic.truestudio.common_options.target.instr_set.thumb2\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpucore.279542934\" name=\"FPU\" superClass=\"com.atollic.truestudio.common_options.target.fpucore\" value=\"com.atollic.truestudio.common_options.target.fpucore.None\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.common_options.target.fpu.1344498157\" name=\"Floating point\" superClass=\"com.atollic.truestudio.common_options.target.fpu\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ldcc.optimization.do_garbage.914846493\" name=\"Dead code removal\" superClass=\"com.atollic.truestudio.ldcc.optimization.do_garbage\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.atollic.truestudio.ldcc.general.scriptfile.1080276394\" name=\"Linker script\" superClass=\"com.atollic.truestudio.ldcc.general.scriptfile\" value=\"../stm32_flash.ld\" valueType=\"string\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.ar.base.1870679615\" name=\"Archiver\" superClass=\"com.atollic.truestudio.ar.base\"/>\n\t\t\t\t\t\t\t<tool id=\"com.atollic.truestudio.exe.debug.toolchain.secoutput.703971668\" name=\"Other\" superClass=\"com.atollic.truestudio.exe.debug.toolchain.secoutput\"/>\n\t\t\t\t\t\t</toolChain>\n\t\t\t\t\t</folderInfo>\n\t\t\t\t\t<sourceEntries>\n\t\t\t\t\t\t<entry excluding=\"QS|nucleo-l152re/arm|nucleo-l152re/iar\" flags=\"VALUE_WORKSPACE_PATH|RESOLVED\" kind=\"sourcePath\" name=\"\"/>\n\t\t\t\t\t</sourceEntries>\n\t\t\t\t</configuration>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"org.eclipse.cdt.core.externalSettings\"/>\n\t\t</cconfiguration>\n\t</storageModule>\n\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t<project id=\"dpp-qv_nucleo-l152re.com.atollic.truestudio.exe.1009891033\" name=\"Executable\" projectType=\"com.atollic.truestudio.exe\"/>\n\t</storageModule>\n\t<storageModule moduleId=\"org.eclipse.cdt.core.LanguageSettingsProviders\"/>\n\t<storageModule moduleId=\"refreshScope\" versionNumber=\"2\">\n\t\t<configuration configurationName=\"Debug\">\n\t\t\t<resource resourceType=\"PROJECT\" workspacePath=\"/dpp-qv_nucleo-l152re\"/>\n\t\t</configuration>\n\t\t<configuration configurationName=\"Release\">\n\t\t\t<resource resourceType=\"PROJECT\" workspacePath=\"/dpp-qv_nucleo-l152re\"/>\n\t\t</configuration>\n\t</storageModule>\n\t<storageModule moduleId=\"org.eclipse.cdt.make.core.buildtargets\"/>\n\t<storageModule moduleId=\"scannerConfiguration\">\n\t\t<autodiscovery enabled=\"true\" problemReportingEnabled=\"true\" selectedProfileId=\"\"/>\n\t\t<scannerConfigBuildInfo instanceId=\"com.atollic.truestudio.configuration.release.633501148;com.atollic.truestudio.configuration.release.633501148.;com.atollic.truestudio.exe.release.toolchain.gcc.1460878155;com.atollic.truestudio.gcc.input.152534743\">\n\t\t\t<autodiscovery enabled=\"true\" problemReportingEnabled=\"true\" selectedProfileId=\"com.atollic.truestudio.mbs.ARMToolsPerProjectProfileC\"/>\n\t\t</scannerConfigBuildInfo>\n\t\t<scannerConfigBuildInfo instanceId=\"com.atollic.truestudio.exe.debug.1398977871;com.atollic.truestudio.exe.debug.1398977871.;com.atollic.truestudio.exe.debug.toolchain.gcc.1998777106;com.atollic.truestudio.gcc.input.1197334469\">\n\t\t\t<autodiscovery enabled=\"true\" problemReportingEnabled=\"true\" selectedProfileId=\"com.atollic.truestudio.mbs.ARMToolsPerProjectProfileC\"/>\n\t\t</scannerConfigBuildInfo>\n\t</storageModule>\n</cproject>\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l152re/qv/gnu/.project",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<projectDescription>\n\t<name>dpp-qv_nucleo-l152re</name>\n\t<comment></comment>\n\t<projects>\n\t</projects>\n\t<buildSpec>\n\t\t<buildCommand>\n\t\t\t<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>\n\t\t\t<triggers>clean,full,incremental,</triggers>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t\t<buildCommand>\n\t\t\t<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>\n\t\t\t<triggers>full,incremental,</triggers>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t</buildSpec>\n\t<natures>\n\t\t<nature>org.eclipse.cdt.core.cnature</nature>\n\t\t<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>\n\t\t<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>\n\t</natures>\n\t<linkedResources>\n\t\t<link>\n\t\t\t<name>QP</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/src/qfn</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>QP_port</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/ports/arm-cm/qv/gnu</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>QV</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/src/qvn</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>bsp.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-1-PROJECT_LOC/bsp.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>bsp.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/bsp.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>dpp.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/dpp.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>main.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/main.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>nucleo-l152re</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/3rd_party/nucleo-l152re</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>philo.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/philo.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>qstamp.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/include/qstamp.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>table.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/table.c</locationURI>\n\t\t</link>\n\t</linkedResources>\n</projectDescription>\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l152re/qv/gnu/Makefile",
    "content": "##############################################################################\n# Product: Makefile for QP-nano on NUCLEO-L152RE, QV-nano kernel, GNU-ARM\n# Last Updated for Version: 6.5.0\n# Date of the Last Update:  2019-04-15\n#\n#                    Q u a n t u m  L e a P s\n#                    ------------------------\n#                    Modern Embedded Software\n#\n# Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# https://www.state-machine.com\n# mailto:info@state-machine.com\n##############################################################################\n# examples of invoking this Makefile:\n# building configurations: Debug (default), Release, and Spy\n# make\n# make CONF=rel\n#\n# cleaning configurations: Debug (default), Release, and Spy\n# make clean\n# make CONF=rel clean\n#\n# NOTE:\n# To use this Makefile on Windows, you will need the GNU make utility, which\n# is included in the Qtools collection for Windows, see:\n#    http://sourceforge.net/projects/qpc/files/Qtools/\n#\n\n#-----------------------------------------------------------------------------\n# project name\n#\nPROJECT     := dpp-qv\n\n#-----------------------------------------------------------------------------\n# project directories\n#\n\n# location of the QP-nano framework (if not provided in an environemnt var.)\nifeq ($(QPN),)\nQPN := ../../../../..\nendif\n\n# QP port used in this project\nQP_PORT_DIR := $(QPN)/ports/arm-cm/qv/gnu\n\n# list of all source directories used by this project\nVPATH = \\\n\t.. \\\n\t../.. \\\n\t$(QPN)/src/qfn \\\n\t$(QPN)/src/qvn \\\n\t$(QP_PORT_DIR) \\\n\t$(QPN)/3rd_party/nucleo-l152re \\\n\t$(QPN)/3rd_party/nucleo-l152re/gnu\n\n# list of all include directories needed by this project\nINCLUDES  = \\\n\t-I../.. \\\n\t-I$(QPN)/include \\\n\t-I$(QP_PORT_DIR) \\\n\t-I$(QPN)/3rd_party/CMSIS/Include \\\n\t-I$(QPN)/3rd_party/nucleo-l152re\n\n#-----------------------------------------------------------------------------\n# files\n#\n\n# assembler source files\nASM_SRCS :=\n\n# C source files\nC_SRCS := \\\n\tbsp.c \\\n\tmain.c \\\n\tphilo.c \\\n\ttable.c \\\n\tsystem_stm32l1xx.c \\\n\tstartup_stm32l1xx.c\n\n# C++ source files\nCPP_SRCS :=\n\nOUTPUT    := $(PROJECT)\nLD_SCRIPT := $(PROJECT).ld\n\nQP_SRCS := \\\n\tqepn.c \\\n\tqfn.c \\\n\tqvn.c \\\n\tqvn_port.c\n\nQP_ASMS :=\n\nLIB_DIRS  :=\nLIBS      :=\n\n# defines\nDEFINES   :=\n\n# ARM CPU, ARCH, FPU, and Float-ABI types...\n# ARM_CPU:   [cortex-m0 | cortex-m0plus | cortex-m1 | cortex-m3 | cortex-m4]\n# ARM_ARCH:  [6 | 7] (NOTE: must match ARM_CPU!)\n# ARM_FPU:   [ | vfp]\n# FLOAT_ABI: [ | soft | softfp | hard]\n#\nARM_CPU   := -mcpu=cortex-m3\nARM_ARCH  := 7   # NOTE: must match the ARM_CPU!\nARM_FPU   :=\nFLOAT_ABI :=\n\n#-----------------------------------------------------------------------------\n# GNU-ARM toolset (NOTE: You need to adjust to your machine)\n# see https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads\n#\nifeq ($(GNU_ARM),)\nGNU_ARM := $(QTOOLS)/gnu_arm-none-eabi\nendif\n\n# make sure that the GNU-ARM toolset exists...\nifeq (\"$(wildcard $(GNU_ARM))\",\"\")\n$(error GNU_ARM toolset not found. Please adjust the Makefile)\nendif\n\nCC    := $(GNU_ARM)/bin/arm-none-eabi-gcc\nCPP   := $(GNU_ARM)/bin/arm-none-eabi-g++\nAS    := $(GNU_ARM)/bin/arm-none-eabi-as\nLINK  := $(GNU_ARM)/bin/arm-none-eabi-g++\nBIN   := $(GNU_ARM)/bin/arm-none-eabi-objcopy\n\n\n##############################################################################\n# Typically, you should not need to change anything below this line\n\n# basic utilities (included in Qtools for Windows), see:\n#    http://sourceforge.net/projects/qpc/files/Qtools\n\nMKDIR := mkdir\nRM    := rm\n\n#-----------------------------------------------------------------------------\n# build options for various configurations for ARM Cortex-M\n#\n\n# combine all the soruces...\nC_SRCS += $(QP_SRCS)\nASM_SRCS += $(QP_ASMS)\n\nifeq (rel, $(CONF)) # Release configuration ..................................\n\nBIN_DIR := rel\n\nASFLAGS = $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O1 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nCPPFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O1 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nelse # default Debug configuration ..........................................\n\nBIN_DIR := dbg\n\nASFLAGS = -g $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O $(INCLUDES) $(DEFINES)\n\nCPPFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O $(INCLUDES) $(DEFINES)\n\nendif # ......................................................................\n\n\nLINKFLAGS = -T$(LD_SCRIPT) $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb \\\n\t-specs=nosys.specs -specs=nano.specs \\\n\t-Wl,-Map,$(BIN_DIR)/$(OUTPUT).map,--cref,--gc-sections $(LIB_DIRS)\n\n\nASM_OBJS     := $(patsubst %.s,%.o,  $(notdir $(ASM_SRCS)))\nC_OBJS       := $(patsubst %.c,%.o,  $(notdir $(C_SRCS)))\nCPP_OBJS     := $(patsubst %.cpp,%.o,$(notdir $(CPP_SRCS)))\n\nTARGET_BIN   := $(BIN_DIR)/$(OUTPUT).bin\nTARGET_ELF   := $(BIN_DIR)/$(OUTPUT).elf\nASM_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(ASM_OBJS))\nC_OBJS_EXT   := $(addprefix $(BIN_DIR)/, $(C_OBJS))\nC_DEPS_EXT   := $(patsubst %.o, %.d, $(C_OBJS_EXT))\nCPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))\nCPP_DEPS_EXT := $(patsubst %.o, %.d, $(CPP_OBJS_EXT))\n\n# create $(BIN_DIR) if it does not exist\nifeq (\"$(wildcard $(BIN_DIR))\",\"\")\n$(shell $(MKDIR) $(BIN_DIR))\nendif\n\n#-----------------------------------------------------------------------------\n# rules\n#\n\nall: $(TARGET_BIN)\n#all: $(TARGET_ELF)\n\n$(TARGET_BIN): $(TARGET_ELF)\n\t$(BIN) -O binary $< $@\n\n$(TARGET_ELF) : $(ASM_OBJS_EXT) $(C_OBJS_EXT) $(CPP_OBJS_EXT)\n\t$(CC) $(CFLAGS) $(QPN)/include/qstamp.c -o $(BIN_DIR)/qstamp.o\n\t$(LINK) $(LINKFLAGS) -o $@ $^ $(BIN_DIR)/qstamp.o $(LIBS)\n\n$(BIN_DIR)/%.d : %.c\n\t$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@\n\n$(BIN_DIR)/%.d : %.cpp\n\t$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@\n\n$(BIN_DIR)/%.o : %.s\n\t$(AS) $(ASFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.c\n\t$(CC) $(CFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.cpp\n\t$(CPP) $(CPPFLAGS) $< -o $@\n\n# include dependency files only if our goal depends on their existence\nifneq ($(MAKECMDGOALS),clean)\n  ifneq ($(MAKECMDGOALS),show)\n-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)\n  endif\nendif\n\n\n.PHONY : clean\nclean:\n\t-$(RM) $(BIN_DIR)/*.o \\\n\t$(BIN_DIR)/*.d \\\n\t$(BIN_DIR)/*.bin \\\n\t$(BIN_DIR)/*.elf \\\n\t$(BIN_DIR)/*.map\n\t\nshow:\n\t@echo PROJECT = $(PROJECT)\n\t@echo CONF = $(CONF)\n\t@echo DEFINES = $(DEFINES)\n\t@echo ASM_FPU = $(ASM_FPU)\n\t@echo ASM_SRCS = $(ASM_SRCS)\n\t@echo C_SRCS = $(C_SRCS)\n\t@echo CPP_SRCS = $(CPP_SRCS)\n\t@echo ASM_OBJS_EXT = $(ASM_OBJS_EXT)\n\t@echo C_OBJS_EXT = $(C_OBJS_EXT)\n\t@echo C_DEPS_EXT = $(C_DEPS_EXT)\n\t@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)\n\t@echo TARGET_ELF = $(TARGET_ELF)\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l152re/qv/gnu/dpp-qv.ld",
    "content": "/*****************************************************************************\n* Product: Linker script for for STM32L152RET6, GNU-ARM linker\n* Last Updated for Version: 5.9.8\n* Date of the Last Update:  2017-09-13\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <http://www.gnu.org/licenses/>.\n*\n* Contact information:\n* https://state-machine.com\n* mailto:info@state-machine.com\n*****************************************************************************/\nOUTPUT_FORMAT(\"elf32-littlearm\", \"elf32-bigarm\", \"elf32-littlearm\")\nOUTPUT_ARCH(arm)\nENTRY(Reset_Handler)  /* entry Point */\n\nMEMORY {              /* memory map of STM32L152RET6 */\n    ROM (rx)  : ORIGIN = 0x08000000, LENGTH = 512K\n    RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 80K\n}\n\n/* The size of the stack used by the application. NOTE: you need to adjust  */\nSTACK_SIZE = 1024;\n\n/* The size of the heap used by the application. NOTE: you need to adjust   */\nHEAP_SIZE = 0;\n\nSECTIONS {\n\n    .isr_vector : {        /* the vector table goes FIRST into ROM */\n        KEEP(*(.isr_vector)) /* vector table */\n        . = ALIGN(4);\n    } >ROM\n\n    .text : {              /* code and constants */\n        . = ALIGN(4);\n        *(.text)           /* .text sections (code) */\n        *(.text*)          /* .text* sections (code) */\n        *(.rodata)         /* .rodata sections (constants, strings, etc.) */\n        *(.rodata*)        /* .rodata* sections (constants, strings, etc.) */\n\n        KEEP (*(.init))\n        KEEP (*(.fini))\n\n        . = ALIGN(4);\n    } >ROM\n\n    .preinit_array : {\n        PROVIDE_HIDDEN (__preinit_array_start = .);\n        KEEP (*(.preinit_array*))\n        PROVIDE_HIDDEN (__preinit_array_end = .);\n    } >ROM\n\n    .init_array : {\n        PROVIDE_HIDDEN (__init_array_start = .);\n        KEEP (*(SORT(.init_array.*)))\n        KEEP (*(.init_array*))\n        PROVIDE_HIDDEN (__init_array_end = .);\n    } >ROM\n\n    .fini_array : {\n        PROVIDE_HIDDEN (__fini_array_start = .);\n        KEEP (*(.fini_array*))\n        KEEP (*(SORT(.fini_array.*)))\n        PROVIDE_HIDDEN (__fini_array_end = .);\n    } >ROM\n\n    _etext = .;            /* global symbols at end of code */\n\n    .stack : {\n        __stack_start__ = .;\n        . = . + STACK_SIZE;\n        . = ALIGN(4);\n        __stack_end__ = .;\n    } >RAM\n\n    .data :  AT (_etext) {\n        __data_load = LOADADDR (.data);\n        __data_start = .;\n        *(.data)           /* .data sections */\n        *(.data*)          /* .data* sections */\n        . = ALIGN(4);\n        __data_end__ = .;\n        _edata = __data_end__;\n    } >RAM\n\n    .bss : {\n        __bss_start__ = .;\n        *(.bss)\n        *(.bss*)\n        *(COMMON)\n        . = ALIGN(4);\n        _ebss = .;         /* define a global symbol at bss end */\n        __bss_end__ = .;\n    } >RAM\n\n    __exidx_start = .;\n    .ARM.exidx   : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } >RAM\n    __exidx_end = .;\n\n    PROVIDE ( end = _ebss );\n    PROVIDE ( _end = _ebss );\n    PROVIDE ( __end__ = _ebss );\n\n    .heap : {\n        __heap_start__ = .;\n        . = . + HEAP_SIZE;\n        . = ALIGN(4);\n        __heap_end__ = .;\n    } >RAM\n\n    /* Remove information from the standard libraries */\n    /DISCARD/ : {\n        libc.a ( * )\n        libm.a ( * )\n        libgcc.a ( * )\n    }\n}\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l152re/qv/iar/dpp-qv.ewd",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project>\n    <fileVersion>3</fileVersion>\n    <configuration>\n        <name>Debug</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>1</debug>\n        <settings>\n            <name>C-SPY</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCVariant</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>MemOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MemFile</name>\n                    <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\ST\\STM32L152ZE.ddf</state>\n                </option>\n                <option>\n                    <name>RunToEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RunToName</name>\n                    <state>main</state>\n                </option>\n                <option>\n                    <name>CExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDDFArgumentProducer</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadSuppressDownload</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDownloadVerifyAll</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCProductVersion</name>\n                    <state>7.40.2.8567</state>\n                </option>\n                <option>\n                    <name>OCDynDriverList</name>\n                    <state>STLINK_ID</state>\n                </option>\n                <option>\n                    <name>OCLastSavedByProductVersion</name>\n                    <state>8.11.1.13270</state>\n                </option>\n                <option>\n                    <name>UseFlashLoader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CLowLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CDevice</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>FlashLoadersV3</name>\n                    <state>$TOOLKIT_DIR$\\config\\flashloader\\ST\\FlashSTM32L15xxE.board</state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OverrideDefFlashBoard</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesOffset1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesUse1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDeviceConfigMacroFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDebuggerExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAllMTBOptions</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreNrOfCores</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreMaster</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCMulticorePort</name>\n                    <state>53461</state>\n                </option>\n                <option>\n                    <name>OCMulticoreWorkspace</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveProject</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveConfiguration</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadExtraImage</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAttachSlave</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ARMSIM_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCSimDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCSimEnablePSP</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspOverrideConfig</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspConfigFile</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CADI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCadiMemory</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Fast Model</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCADILogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCADILogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CMSISDAP_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CMSISDAPResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>CMSISDAPDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CMSISDAPProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>GDBSERVER_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJTagBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IJET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>8</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>IjetPowerFromProbe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPowerRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetProtocolRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPin</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPrescalerList</name>\n                    <version>1</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IjetProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPreferETB</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetTraceSettingsList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetTraceSizeList</name>\n                    <version>0</version>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>FlashBoardPathSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>JLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>16</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>JLinkSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJLinkHWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>JLinkInitialSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCDoJlinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkCommRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>CCJLinkSpeedRadioV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCUSBDevice</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkResetList</name>\n                    <version>6</version>\n                    <state>5</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCTcpIpAlt</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTcpIpSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSourceDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkDeviceName</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>LMIFTDI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>2</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>LmiftdiSpeed</name>\n                    <state>500</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>PEMICRO_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>3</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJPEMicroShowSettings</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>STLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceRadio</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkResetList</name>\n                    <version>3</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>32.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDAPNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDebugAccessPortRadio</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>THIRDPARTY_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CThirdPartyDriverDll</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>TIFET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVccTypeDefault</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVoltage</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CCMSPFetVCCDefault</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetSettlingtime</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioJtagSpeedType</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetConnection</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetUsbComPort</name>\n                    <state>Automatic</state>\n                </option>\n                <option>\n                    <name>CCMSPFetAllowAccessToBSL</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioEraseFlash</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>XDS100_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>6</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TIPackageOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TIPackage</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>BoardFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCXds100BreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100DoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CpuClockEdit</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockEdit</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCXds100HWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100JtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ProbeList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPortRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPort</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <debuggerPlugins>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n                <loadFlag>1</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n        </debuggerPlugins>\n    </configuration>\n    <configuration>\n        <name>Release</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>0</debug>\n        <settings>\n            <name>C-SPY</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCVariant</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>MemOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MemFile</name>\n                    <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\ST\\STM32L152xE.ddf</state>\n                </option>\n                <option>\n                    <name>RunToEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RunToName</name>\n                    <state>main</state>\n                </option>\n                <option>\n                    <name>CExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDDFArgumentProducer</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadSuppressDownload</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDownloadVerifyAll</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCProductVersion</name>\n                    <state>7.40.2.8567</state>\n                </option>\n                <option>\n                    <name>OCDynDriverList</name>\n                    <state>STLINK_ID</state>\n                </option>\n                <option>\n                    <name>OCLastSavedByProductVersion</name>\n                    <state>7.40.2.8567</state>\n                </option>\n                <option>\n                    <name>UseFlashLoader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CLowLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CDevice</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>FlashLoadersV3</name>\n                    <state>$TOOLKIT_DIR$\\config\\flashloader\\ST\\FlashSTM32L15xxE.board</state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OverrideDefFlashBoard</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesOffset1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesUse1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDeviceConfigMacroFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDebuggerExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAllMTBOptions</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreNrOfCores</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreMaster</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCMulticorePort</name>\n                    <state>53461</state>\n                </option>\n                <option>\n                    <name>OCMulticoreWorkspace</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveProject</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveConfiguration</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadExtraImage</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAttachSlave</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ARMSIM_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCSimDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCSimEnablePSP</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspOverrideConfig</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspConfigFile</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CADI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCadiMemory</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Fast Model</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCADILogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCADILogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CMSISDAP_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CMSISDAPResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>CMSISDAPDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CMSISDAPProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>GDBSERVER_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJTagBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IJET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>8</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>IjetPowerFromProbe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPowerRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetProtocolRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPin</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPrescalerList</name>\n                    <version>1</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IjetProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPreferETB</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetTraceSettingsList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetTraceSizeList</name>\n                    <version>0</version>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>FlashBoardPathSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>JLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>16</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>JLinkSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJLinkHWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>JLinkInitialSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCDoJlinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkCommRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>CCJLinkSpeedRadioV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCUSBDevice</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkResetList</name>\n                    <version>6</version>\n                    <state>5</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCTcpIpAlt</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTcpIpSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSourceDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkDeviceName</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>LMIFTDI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>2</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>LmiftdiSpeed</name>\n                    <state>500</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>PEMICRO_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>3</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJPEMicroShowSettings</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>STLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceRadio</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkResetList</name>\n                    <version>3</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>32.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDAPNumber</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkDebugAccessPortRadio</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>THIRDPARTY_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CThirdPartyDriverDll</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>TIFET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVccTypeDefault</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVoltage</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CCMSPFetVCCDefault</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetSettlingtime</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioJtagSpeedType</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetConnection</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetUsbComPort</name>\n                    <state>Automatic</state>\n                </option>\n                <option>\n                    <name>CCMSPFetAllowAccessToBSL</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioEraseFlash</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>XDS100_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>6</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TIPackageOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TIPackage</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>BoardFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCXds100BreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100DoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CpuClockEdit</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockEdit</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCXds100HWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100JtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ProbeList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPortRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPort</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <debuggerPlugins>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n                <loadFlag>1</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n        </debuggerPlugins>\n    </configuration>\n</project>\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l152re/qv/iar/dpp-qv.ewp",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project>\n    <fileVersion>3</fileVersion>\n    <configuration>\n        <name>Debug</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>1</debug>\n        <settings>\n            <name>General</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>ExePath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>ObjPath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>ListPath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>GEndianMode</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>Input description</name>\n                    <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n                </option>\n                <option>\n                    <name>Output description</name>\n                    <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n                </option>\n                <option>\n                    <name>GOutputBinary</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCoreOrChip</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelect</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelectSlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RTDescription</name>\n                    <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n                </option>\n                <option>\n                    <name>OGProductVersion</name>\n                    <state>5.11.0.50579</state>\n                </option>\n                <option>\n                    <name>OGLastSavedByProductVersion</name>\n                    <state>8.11.1.13270</state>\n                </option>\n                <option>\n                    <name>GeneralEnableMisra</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVerbose</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGChipSelectEditMenu</name>\n                    <state>STM32L152ZE\tST STM32L152ZE</state>\n                </option>\n                <option>\n                    <name>GenLowLevelInterface</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GEndianModeBE</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OGBufferedTerminalOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenStdoutInterface</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>RTConfigPath2</name>\n                    <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n                </option>\n                <option>\n                    <name>GBECoreSlave</name>\n                    <version>25</version>\n                    <state>38</state>\n                </option>\n                <option>\n                    <name>OGUseCmsis</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsisDspLib</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibThreads</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CoreVariant</name>\n                    <version>25</version>\n                    <state>38</state>\n                </option>\n                <option>\n                    <name>GFPUDeviceSlave</name>\n                    <state>STM32L152ZE\tST STM32L152ZE</state>\n                </option>\n                <option>\n                    <name>FPU2</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>NrRegs</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>NEON</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUCoreSlave2</name>\n                    <version>25</version>\n                    <state>38</state>\n                </option>\n                <option>\n                    <name>OGCMSISPackSelectDevice</name>\n                </option>\n                <option>\n                    <name>OgLibHeap</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGLibAdditionalLocale</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGPrintfVariant</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>OGPrintfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGScanfVariant</name>\n                    <version>0</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OGScanfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenLocaleTags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>GenLocaleDisplayOnly</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ICCARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>34</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCOptimizationNoSizeConstraints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCPreprocFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocComments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMnemonics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMessages</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDiagSuppress</name>\n                    <state>Pa050</state>\n                </option>\n                <option>\n                    <name>CCDiagRemark</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagWarning</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagError</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCAllowList</name>\n                    <version>1</version>\n                    <state>00000000</state>\n                </option>\n                <option>\n                    <name>CCDebugInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IEndianMode</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCLangConformance</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSignedPlainChar</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRequirePrototypes</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCDiagWarnAreErr</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCompilerRuntimeInfo</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>CCLibConfigHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>PreInclude</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CompilerMisraOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIncludePath2</name>\n                    <state>$PROJ_DIR$\\..\\..</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re</state>\n                </option>\n                <option>\n                    <name>CCStdIncCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCodeSection</name>\n                    <state>.text</state>\n                </option>\n                <option>\n                    <name>IProcessorMode2</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptStrategy</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevelSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>CCPosIndRopi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndRwpi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndNoDynInit</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccLang</name>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>IccCDialect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccAllowVLA</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccStaticDestr</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCppInlineSemantics</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccFloatSemantics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCOptStrategySlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCGuardCalls</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccExceptions2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccRTTI2</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>AARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>10</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>AObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>ACaseSensitivity</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacroChars</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnWhat</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnOne</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>ADebug</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AltRegisterNames</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ADefines</name>\n                    <state>ewarm</state>\n                </option>\n                <option>\n                    <name>AList</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AListHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AListing</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Includes</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacDefs</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacExps</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacExec</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OnlyAssed</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MultiLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLengthCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLength</name>\n                    <state>80</state>\n                </option>\n                <option>\n                    <name>TabSpacing</name>\n                    <state>8</state>\n                </option>\n                <option>\n                    <name>AXRef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDefines</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefInternal</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDual</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AOutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsEdit</name>\n                    <state>100</state>\n                </option>\n                <option>\n                    <name>AIgnoreStdInclude</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AUserIncludes</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AExtraOptionsCheckV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AExtraOptionsV2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AsmNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>OBJCOPY</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OOCOutputFormat</name>\n                    <version>3</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OCOutputOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OOCOutputFile</name>\n                    <state>dpp-qv.bin</state>\n                </option>\n                <option>\n                    <name>OOCCommandLineProducer</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OOCObjCopyEnable</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CUSTOM</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <extensions></extensions>\n                <cmdline></cmdline>\n                <hasPrio>0</hasPrio>\n            </data>\n        </settings>\n        <settings>\n            <name>BICOMP</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>BUILDACTION</name>\n            <archiveVersion>1</archiveVersion>\n            <data>\n                <prebuild></prebuild>\n                <postbuild></postbuild>\n            </data>\n        </settings>\n        <settings>\n            <name>ILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>20</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>IlinkLibIOConfig</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>XLinkMisraHandler</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkInputFileSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOutputFile</name>\n                    <state>dpp-qv.out</state>\n                </option>\n                <option>\n                    <name>IlinkDebugInfoEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkKeepSymbols</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkConfigDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkMapFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogInitialization</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogModule</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogSection</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogVeneer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfOverride</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile</name>\n                    <state>$PROJ_DIR$\\dpp-qv.icf</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFileSlave</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkSuppressDiags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsRem</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsWarn</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsErr</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkWarningsAreErrors</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkUseExtraOptions</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkLowLevelInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAutoLibEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAdditionalLibs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkOverrideProgramEntryLabel</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabelSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabel</name>\n                    <state>__iar_program_start</state>\n                </option>\n                <option>\n                    <name>DoFill</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>FillerByte</name>\n                    <state>0xFF</state>\n                </option>\n                <option>\n                    <name>FillerStart</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>FillerEnd</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>CrcSize</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcAlign</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcPoly</name>\n                    <state>0x11021</state>\n                </option>\n                <option>\n                    <name>CrcCompl</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcBitOrder</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcInitialValue</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>DoCrc</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkBufferedTerminalOutput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkStdoutInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcFullSize</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIElfToolPostProcess</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogAutoLibSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogRedirSymbols</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogUnusedFragments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcReverseByteOrder</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcUseAsInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptInline</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsAllow</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsForce</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptMergeDuplSections</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptUseVfe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptForceVfe</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackAnalysisEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackControlFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkStackCallGraphFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CrcAlgorithm</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcUnitSize</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkThreadsSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogCallGraph</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile_AltDefault</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkHeapSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLocaleSelect</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IARCHIVE</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>IarchiveInputs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IarchiveOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IarchiveOutput</name>\n                    <state>###Unitialized###</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>BILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>Coder</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n    </configuration>\n    <configuration>\n        <name>Release</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>0</debug>\n        <settings>\n            <name>General</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>ExePath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>ObjPath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>ListPath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>GEndianMode</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>Input description</name>\n                    <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n                </option>\n                <option>\n                    <name>Output description</name>\n                    <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n                </option>\n                <option>\n                    <name>GOutputBinary</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCoreOrChip</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelect</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelectSlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RTDescription</name>\n                    <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n                </option>\n                <option>\n                    <name>OGProductVersion</name>\n                    <state>5.11.0.50579</state>\n                </option>\n                <option>\n                    <name>OGLastSavedByProductVersion</name>\n                    <state>7.70.1.11471</state>\n                </option>\n                <option>\n                    <name>GeneralEnableMisra</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVerbose</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGChipSelectEditMenu</name>\n                    <state>STM32L152ZE\tST STM32L152ZE</state>\n                </option>\n                <option>\n                    <name>GenLowLevelInterface</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GEndianModeBE</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OGBufferedTerminalOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenStdoutInterface</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>RTConfigPath2</name>\n                    <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n                </option>\n                <option>\n                    <name>GBECoreSlave</name>\n                    <version>25</version>\n                    <state>38</state>\n                </option>\n                <option>\n                    <name>OGUseCmsis</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsisDspLib</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibThreads</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CoreVariant</name>\n                    <version>25</version>\n                    <state>38</state>\n                </option>\n                <option>\n                    <name>GFPUDeviceSlave</name>\n                    <state>STM32L152ZE\tST STM32L152ZE</state>\n                </option>\n                <option>\n                    <name>FPU2</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>NrRegs</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>NEON</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUCoreSlave2</name>\n                    <version>25</version>\n                    <state>38</state>\n                </option>\n                <option>\n                    <name>OGCMSISPackSelectDevice</name>\n                </option>\n                <option>\n                    <name>OgLibHeap</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGLibAdditionalLocale</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGPrintfVariant</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>OGPrintfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGScanfVariant</name>\n                    <version>0</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OGScanfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenLocaleTags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>GenLocaleDisplayOnly</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ICCARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>34</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCOptimizationNoSizeConstraints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDefines</name>\n                    <state>NDEBUG</state>\n                </option>\n                <option>\n                    <name>CCPreprocFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocComments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMnemonics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMessages</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDiagSuppress</name>\n                    <state>Pa050</state>\n                </option>\n                <option>\n                    <name>CCDiagRemark</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagWarning</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagError</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCAllowList</name>\n                    <version>1</version>\n                    <state>11111110</state>\n                </option>\n                <option>\n                    <name>CCDebugInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IEndianMode</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCLangConformance</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSignedPlainChar</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRequirePrototypes</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCDiagWarnAreErr</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCompilerRuntimeInfo</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>CCLibConfigHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>PreInclude</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CompilerMisraOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIncludePath2</name>\n                    <state>$PROJ_DIR$\\..\\..</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re</state>\n                </option>\n                <option>\n                    <name>CCStdIncCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCodeSection</name>\n                    <state>.text</state>\n                </option>\n                <option>\n                    <name>IProcessorMode2</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevel</name>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>CCOptStrategy</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevelSlave</name>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>CCPosIndRopi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndRwpi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndNoDynInit</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccLang</name>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>IccCDialect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccAllowVLA</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccStaticDestr</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCppInlineSemantics</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccFloatSemantics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCOptStrategySlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCGuardCalls</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccExceptions2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccRTTI2</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>AARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>10</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>AObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>ACaseSensitivity</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacroChars</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnWhat</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnOne</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>ADebug</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AltRegisterNames</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ADefines</name>\n                    <state>ewarm</state>\n                </option>\n                <option>\n                    <name>AList</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AListHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AListing</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Includes</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacDefs</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacExps</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacExec</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OnlyAssed</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MultiLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLengthCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLength</name>\n                    <state>80</state>\n                </option>\n                <option>\n                    <name>TabSpacing</name>\n                    <state>8</state>\n                </option>\n                <option>\n                    <name>AXRef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDefines</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefInternal</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDual</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AOutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsEdit</name>\n                    <state>100</state>\n                </option>\n                <option>\n                    <name>AIgnoreStdInclude</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AUserIncludes</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AExtraOptionsCheckV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AExtraOptionsV2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AsmNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>OBJCOPY</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OOCOutputFormat</name>\n                    <version>3</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OCOutputOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OOCOutputFile</name>\n                    <state>dpp-qv.bin</state>\n                </option>\n                <option>\n                    <name>OOCCommandLineProducer</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OOCObjCopyEnable</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CUSTOM</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <extensions></extensions>\n                <cmdline></cmdline>\n                <hasPrio>0</hasPrio>\n            </data>\n        </settings>\n        <settings>\n            <name>BICOMP</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>BUILDACTION</name>\n            <archiveVersion>1</archiveVersion>\n            <data>\n                <prebuild></prebuild>\n                <postbuild></postbuild>\n            </data>\n        </settings>\n        <settings>\n            <name>ILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>20</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>IlinkLibIOConfig</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>XLinkMisraHandler</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkInputFileSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOutputFile</name>\n                    <state>dpp-qv.out</state>\n                </option>\n                <option>\n                    <name>IlinkDebugInfoEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkKeepSymbols</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkConfigDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkMapFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogInitialization</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogModule</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogSection</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogVeneer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfOverride</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile</name>\n                    <state>$PROJ_DIR$\\dpp-qv.icf</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFileSlave</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkSuppressDiags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsRem</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsWarn</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsErr</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkWarningsAreErrors</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkUseExtraOptions</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkLowLevelInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAutoLibEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAdditionalLibs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkOverrideProgramEntryLabel</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabelSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabel</name>\n                    <state>__iar_program_start</state>\n                </option>\n                <option>\n                    <name>DoFill</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>FillerByte</name>\n                    <state>0xFF</state>\n                </option>\n                <option>\n                    <name>FillerStart</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>FillerEnd</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>CrcSize</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcAlign</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcPoly</name>\n                    <state>0x11021</state>\n                </option>\n                <option>\n                    <name>CrcCompl</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcBitOrder</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcInitialValue</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>DoCrc</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkBufferedTerminalOutput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkStdoutInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcFullSize</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIElfToolPostProcess</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogAutoLibSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogRedirSymbols</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogUnusedFragments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcReverseByteOrder</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcUseAsInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptInline</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsAllow</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsForce</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptMergeDuplSections</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptUseVfe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptForceVfe</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackAnalysisEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackControlFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkStackCallGraphFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CrcAlgorithm</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcUnitSize</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkThreadsSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogCallGraph</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile_AltDefault</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkHeapSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLocaleSelect</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IARCHIVE</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>IarchiveInputs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IarchiveOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IarchiveOutput</name>\n                    <state>###Unitialized###</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>BILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>Coder</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n    </configuration>\n    <group>\n        <name>Application</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\bsp.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\bsp.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\dpp.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\main.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\philo.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\table.c</name>\n        </file>\n    </group>\n    <group>\n        <name>nucleo-l152re</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\iar\\startup_stm32l1xx.s</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\stm32l1xx.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\system_stm32l1xx.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\nucleo-l152re\\system_stm32l1xx.h</name>\n        </file>\n    </group>\n    <group>\n        <name>QP</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qepn.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qfn.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qvn\\qvn.c</name>\n        </file>\n    </group>\n    <group>\n        <name>QP_port</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar\\qfn_port.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar\\qvn_port.c</name>\n        </file>\n    </group>\n</project>\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l152re/qv/iar/dpp-qv.eww",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<workspace>\n  <project>\n    <path>$WS_DIR$\\dpp-qv.ewp</path>\n  </project>\n  <batchBuild/>\n</workspace>\n\n\n"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l152re/qv/iar/dpp-qv.icf",
    "content": "/*###ICF### Section handled by ICF editor, don't touch! ****/\n/*-Editor annotation file-*/\n/* IcfEditorFile=\"$TOOLKIT_DIR$\\config\\ide\\IcfEditor\\cortex_v1_0.xml\" */\n/*-Specials-*/\ndefine symbol __ICFEDIT_intvec_start__ = 0x08000000;\n/*-Memory Regions-*/\ndefine symbol __ICFEDIT_region_ROM_start__ = 0x08000000;\ndefine symbol __ICFEDIT_region_ROM_end__   = 0x0807FFFF;\ndefine symbol __ICFEDIT_region_RAM_start__ = 0x20000000;\ndefine symbol __ICFEDIT_region_RAM_end__   = 0x20013FFF;\n/*-Sizes-*/\ndefine symbol __ICFEDIT_size_cstack__ = 1024;\ndefine symbol __ICFEDIT_size_heap__   = 0;\n/**** End of ICF editor section. ###ICF###*/\n\ndefine memory mem with size = 4G;\ndefine region ROM_region   = mem:[from __ICFEDIT_region_ROM_start__   to __ICFEDIT_region_ROM_end__];\ndefine region RAM_region   = mem:[from __ICFEDIT_region_RAM_start__   to __ICFEDIT_region_RAM_end__];\n\ndefine block CSTACK    with alignment = 8, size = __ICFEDIT_size_cstack__   { };\ndefine block HEAP      with alignment = 8, size = __ICFEDIT_size_heap__     { };\n\ninitialize by copy { readwrite };\ndo not initialize  { section .noinit };\n\nplace at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };\n\nplace in ROM_region   { readonly };\nplace in RAM_region   { readwrite,\n                        block CSTACK, block HEAP };\n\ndefine symbol __region_EEPROM_start__ = 0x08080000;\ndefine symbol __region_EEPROM_end__   = 0x08083FFF;\ndefine region EEPROM_region = mem:[from __region_EEPROM_start__   to __region_EEPROM_end__];\n\nplace in EEPROM_region  { section .eeprom };"
  },
  {
    "path": "examples/arm-cm/dpp_nucleo-l152re/table.c",
    "content": "/*.$file${.::table.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: dpp.qm\n* File:  ${.::table.c}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::table.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"  /* QP-nano port */\n#include \"bsp.h\"  /* Board Support Package */\n#include \"dpp.h\"  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(\"table\")\n\n/* Active object class -----------------------------------------------------*/\n/*.$declare${AOs::Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table} ...........................................................*/\ntypedef struct Table {\n/* protected: */\n    QActive super;\n\n/* private: */\n    uint8_t fork[N_PHILO];\n    uint8_t isHungry[N_PHILO];\n} Table;\n\n/* protected: */\nstatic QState Table_initial(Table * const me);\nstatic QState Table_active(Table * const me);\nstatic QState Table_serving(Table * const me);\nstatic QState Table_paused(Table * const me);\n/*.$enddecl${AOs::Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Global objects ----------------------------------------------------------*/\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 650U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.5.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Table} ........................................................*/\nstruct Table AO_Table;\n/*.$enddef${AOs::AO_Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n#define RIGHT(n_) ((uint8_t)(((n_) + (N_PHILO - 1U)) % N_PHILO))\n#define LEFT(n_)  ((uint8_t)(((n_) + 1U) % N_PHILO))\n#define FREE      ((uint8_t)0)\n#define USED      ((uint8_t)1)\n\n/*..........................................................................*/\n/*.$define${AOs::Table_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table_ctor} ......................................................*/\nvoid Table_ctor(void) {\n    uint8_t n;\n    Table *me = &AO_Table;\n\n    QActive_ctor(&me->super, Q_STATE_CAST(&Table_initial));\n    for (n = 0U; n < N_PHILO; ++n) {\n        me->fork[n] = FREE;\n        me->isHungry[n] = 0U;\n    }\n}\n/*.$enddef${AOs::Table_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table} ...........................................................*/\n/*.${AOs::Table::SM} .......................................................*/\nstatic QState Table_initial(Table * const me) {\n    /*.${AOs::Table::SM::initial} */\n    uint8_t n;\n    for (n = 0U; n < N_PHILO; ++n) {\n        me->fork[n] = FREE;\n        me->isHungry[n] = 0U;\n        BSP_displayPhilStat(n, \"thinking\");\n    }\n    return Q_TRAN(&Table_serving);\n}\n/*.${AOs::Table::SM::active} ...............................................*/\nstatic QState Table_active(Table * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Table::SM::active::TERMINATE} */\n        case TERMINATE_SIG: {\n            BSP_terminate(0);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::EAT} */\n        case EAT_SIG: {\n            Q_ERROR();\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Table::SM::active::serving} ......................................*/\nstatic QState Table_serving(Table * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Table::SM::active::serving} */\n        case Q_ENTRY_SIG: {\n            uint8_t n;\n            for (n = 0U; n < N_PHILO; ++n) { /* give permissions to eat... */\n                if ((me->isHungry[n] != 0U)\n                    && (me->fork[LEFT(n)] == FREE)\n                    && (me->fork[n] == FREE))\n                {\n                    QActive *philo;\n\n                    me->fork[LEFT(n)] = USED;\n                    me->fork[n] = USED;\n                    philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\n                    QACTIVE_POST(philo, EAT_SIG, n);\n                    me->isHungry[n] = 0U;\n                    BSP_displayPhilStat(n, \"eating  \");\n                }\n            }\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::HUNGRY} */\n        case HUNGRY_SIG: {\n            uint8_t n, m;\n            QActive *philo;\n\n            n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* phil ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n\n            BSP_displayPhilStat(n, \"hungry  \");\n            m = LEFT(n);\n            /*.${AOs::Table::SM::active::serving::HUNGRY::[bothfree]} */\n            if ((me->fork[m] == FREE) && (me->fork[n] == FREE)) {\n                me->fork[m] = USED;\n                me->fork[n] = USED;\n                philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\n                QACTIVE_POST(philo, EAT_SIG, n);\n                BSP_displayPhilStat(n, \"eating  \");\n                status_ = Q_HANDLED();\n            }\n            /*.${AOs::Table::SM::active::serving::HUNGRY::[else]} */\n            else {\n                me->isHungry[n] = 1U;\n                status_ = Q_HANDLED();\n            }\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::DONE} */\n        case DONE_SIG: {\n            uint8_t n, m;\n            QActive *philo;\n\n            n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* phil ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n\n            BSP_displayPhilStat(n, \"thinking\");\n            m = LEFT(n);\n            /* both forks of Phil[n] must be used */\n            Q_ASSERT((me->fork[n] == USED) && (me->fork[m] == USED));\n\n            me->fork[m] = FREE;\n            me->fork[n] = FREE;\n            m = RIGHT(n); /* check the right neighbor */\n\n            if ((me->isHungry[m] != 0U) && (me->fork[m] == FREE)) {\n                me->fork[n] = USED;\n                me->fork[m] = USED;\n                me->isHungry[m] = 0U;\n                philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n                QACTIVE_POST(philo, EAT_SIG, m);\n                BSP_displayPhilStat(m, \"eating  \");\n            }\n            m = LEFT(n); /* check the left neighbor */\n            n = LEFT(m); /* left fork of the left neighbor */\n            if ((me->isHungry[m] != 0U) && (me->fork[n] == FREE)) {\n                me->fork[m] = USED;\n                me->fork[n] = USED;\n                me->isHungry[m] = 0U;\n                philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n                QACTIVE_POST(philo, EAT_SIG, m);\n                BSP_displayPhilStat(m, \"eating  \");\n            }\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::EAT} */\n        case EAT_SIG: {\n            Q_ERROR();\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::PAUSE} */\n        case PAUSE_SIG: {\n            status_ = Q_TRAN(&Table_paused);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Table_active);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Table::SM::active::paused} .......................................*/\nstatic QState Table_paused(Table * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Table::SM::active::paused} */\n        case Q_ENTRY_SIG: {\n            BSP_displayPaused(1U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused} */\n        case Q_EXIT_SIG: {\n            BSP_displayPaused(0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused::SERVE} */\n        case SERVE_SIG: {\n            status_ = Q_TRAN(&Table_serving);\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused::HUNGRY} */\n        case HUNGRY_SIG: {\n            uint8_t n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* philo ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n            me->isHungry[n] = 1U;\n            BSP_displayPhilStat(n, \"hungry  \");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused::DONE} */\n        case DONE_SIG: {\n            uint8_t n, m;\n\n            n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* phil ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n\n            BSP_displayPhilStat(n, \"thinking\");\n            m = LEFT(n);\n            /* both forks of Phil[n] must be used */\n            Q_ASSERT((me->fork[n] == USED) && (me->fork[m] == USED));\n\n            me->fork[m] = FREE;\n            me->fork[n] = FREE;\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Table_active);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${AOs::Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/README.txt",
    "content": "About this Example\n==================\nThis directory contains the \"Fly 'n' Shoot\" game example application for\nthe EFM32-SLSTK3401A board (Pearl Gecko evaluation kit) board. This\ndirectory contains portable code that should compile with any C compiler\nfor ARM Cortex-M.\n\nThe sub-directories contain code and project files, which are specific to\nthe particular ARM toolchains, such as ARM (MDK-ARM), GCC, and IAR.\n\nPlease refer to the README files in the sub-directories for specific\ninstructions how to use and customize the example to your needs.\n\n\nSupport Code for EFM32-SLSTK3401A Board\n=======================================\nThe directory qpc\\3rd_party\\efm32pg1b\\ contains the CMSIS-compliant\ndevice code for the LM3S811 MCU. Please see the README file in this\nfolder for more details.\n\n\nQS Software Tracing Instrumentation\n-----------------------------------\nThe Blinky example provides the \"Spy\" build configuration, which\noutputs the QS (Quantum Spy) software tracing data through UART0,\nwhich is connected to the virtual COM port of the TI Stellaris debugger.\n\nThe output is generated at 115200 baud rate.\n\nHere is an example invocation of the QSPY host application to receive\nthe QS data from EFM32-SLSTK3401A:\n\nqspy -cCOM1\n\nThe actual COM port number might be different on your Windows machine.\nPlease check the Device Manager to find the COM port number.\n\n\nWin32 Emulations\n================\nThe sub-directorie win32 and win32-qv provide the emulations of the example\non Windows GUI (with regular Win32 threads and with cooperative QV scheduler,\nrespectively. These sub-directories contain the Makefiles for the MinGW\ntoolset and Visual Studio solution files (game-gui.sln) for Visual C++.\n\nThe Win32 emulations use exactly the same code as the embedded board and\ndiffer only in the Board Support Package (bsp.c). This examples demonstrate\nthe \"dual targeting\" development approach, where most of the embedded code\nis developed on the desktop machine (Windows), but is intended for a deeply\nembedded target (EFM32-SLSTK3401A here).\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/README.url",
    "content": "[InternetShortcut]\nURL=http://www.state-machine.com/qpn/arm-cm_game_efm32-slstk3401a.html\nIconFile=http://www.state-machine.com/qp.ico\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/bsp.h",
    "content": "/*****************************************************************************\n* Product: \"Fly 'n' Shoot\" game example on EFM32-SLSTK3401A board\n* Last updated for version 5.6.5\n* Last updated on  2016-06-02\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BSP_H\n#define BSP_H\n\n#define BSP_TICKS_PER_SEC    33U\n#define BSP_SCREEN_WIDTH     128U\n#define BSP_SCREEN_HEIGHT    128U\n\nvoid BSP_init(void);\nvoid BSP_terminate(int16_t result);\n\nvoid BSP_updateScreen(void);\nvoid BSP_clearFB(void);\nvoid BSP_clearWalls(void);\nvoid BSP_paintString(uint8_t x, uint8_t y, char const *str);\nvoid BSP_paintBitmap(uint8_t x, uint8_t y, uint8_t bmp_id);\nvoid BSP_advanceWalls(uint8_t top, uint8_t bottom);\nvoid BSP_updateScore(uint16_t score);\n\nbool BSP_isThrottle(void); /* is the throttle button depressed? */\nbool BSP_doBitmapsOverlap(uint8_t bmp_id1, uint8_t x1, uint8_t y1,\n                          uint8_t bmp_id2, uint8_t x2, uint8_t y2);\nbool BSP_isWallHit(uint8_t bmp_id, uint8_t x, uint8_t y);\n\nvoid BSP_displayOn(void);\nvoid BSP_displayOff(void);\n\nvoid BSP_randomSeed(uint32_t seed);   /* random seed */\nuint32_t BSP_random(void);            /* pseudo-random generator */\n\n#endif /* BSP_H */\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/game.h",
    "content": "/*.$file${.::game.h} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: game.qm\n* File:  ${.::game.h}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::game.h} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#ifndef GAME_H\n#define GAME_H\n\nenum GameSignals { /* signals used in the game */\n    TIME_TICK_SIG = Q_USER_SIG, /* published from tick ISR */\n    PLAYER_TRIGGER_SIG, /* posted by Player (ISR) to trigger the Missile */\n    PLAYER_QUIT_SIG,  /* posted by Player (ISR) to quit the game */\n    GAME_OVER_SIG,    /* posted by Ship when it finishes exploding */\n    PLAYER_SHIP_MOVE_SIG, /* posted by Player (ISR) to the Ship to move it */\n    TAKE_OFF_SIG,     /* from Tunnel to Ship to grant permission to take off */\n    HIT_WALL_SIG,     /* from Tunnel to Ship when Ship hits the wall */\n    HIT_MINE_SIG,     /* from Mine to Ship or Missile when it hits the mine */\n    SHIP_IMG_SIG,     /* from Ship to the Tunnel to draw and check for hits */\n    MISSILE_IMG_SIG,  /* from Missile the Tunnel to draw and check for hits */\n    MINE_IMG_SIG,     /* posted by Mine to the Tunnel to draw the mine */\n    MISSILE_FIRE_SIG, /* posted by Ship to the Missile to fire */\n    DESTROYED_MINE_SIG, /* from Missile to Ship when Missile destroyed Mine */\n    EXPLOSION_SIG,    /* from any exploding object to render the explosion */\n    MINE_PLANT_SIG,   /* from Tunnel to the Mine to plant it */\n    MINE_DISABLED_SIG,/* from Mine to Tunnel when it becomes disabled */\n    MINE_RECYCLE_SIG, /* posted by Tunnel to Mine to recycle the mine */\n    SCORE_SIG /* from Ship to Tunnel to adjust game level based on score */\n};\n\n/* active objects ..........................................................*/\nextern struct Tunnel  AO_Tunnel;\nextern struct Ship    AO_Ship;\nextern struct Missile AO_Missile;\n\n/*.$declare${AOs::Tunnel_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Tunnel_ctor} .....................................................*/\nvoid Tunnel_ctor(void);\n/*.$enddecl${AOs::Tunnel_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::Ship_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Ship_ctor} .......................................................*/\nvoid Ship_ctor(void);\n/*.$enddecl${AOs::Ship_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::Missile_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Missile_ctor} ....................................................*/\nvoid Missile_ctor(uint8_t speed);\n/*.$enddecl${AOs::Missile_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* common constants and shared helper functions ............................*/\n#define GAME_TUNNEL_WIDTH          BSP_SCREEN_WIDTH\n#define GAME_TUNNEL_HEIGHT         (BSP_SCREEN_HEIGHT - 10U)\n#define GAME_MINES_MAX             5U\n#define GAME_MINES_DIST_MIN        10U\n#define GAME_SPEED_X               1U\n#define GAME_MISSILE_SPEED_X       2U\n#define GAME_SHIP_X                10U\n#define GAME_SHIP_Y                (GAME_TUNNEL_HEIGHT / 2U)\n#define GAME_WALLS_GAP_Y           50U\n#define GAME_WALLS_MIN_GAP_Y       20U\n\nenum GameBitmapIds {\n    SHIP_BMP,\n    MISSILE_BMP,\n    MINE1_BMP,\n    MINE2_BMP,\n    MINE2_MISSILE_BMP,\n    EXPLOSION0_BMP,\n    EXPLOSION1_BMP,\n    EXPLOSION2_BMP,\n    EXPLOSION3_BMP,\n    MAX_BMP\n};\n\n/* instantiation of the Mines orthogonal components */\n/*.$declare${AOs::Mine1_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Mine1_ctor} ......................................................*/\nQHsm * Mine1_ctor(uint8_t id);\n/*.$enddecl${AOs::Mine1_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::Mine2_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Mine2_ctor} ......................................................*/\nQHsm * Mine2_ctor(uint8_t id);\n/*.$enddecl${AOs::Mine2_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n#endif  /* GAME_H */\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/game.qm",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<model version=\"4.6.0\" links=\"1\">\n <documentation>&quot;Fly 'n' Shoot&quot; game model from Chapters 1 &amp; 9 of PSiCC2\nNOTE: Requries QP5.</documentation>\n <!--${qpn}-->\n <framework name=\"qpn\"/>\n <!--${AOs}-->\n <package name=\"AOs\" stereotype=\"0x02\">\n  <!--${AOs::Tunnel}-->\n  <class name=\"Tunnel\" superclass=\"qpn::QActive\">\n   <documentation>Tunnel Active Object</documentation>\n   <!--${AOs::Tunnel::mines[GAME_MINES_MAX]}-->\n   <attribute name=\"mines[GAME_MINES_MAX]\" type=\"QHsm *\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Tunnel::mine1_pool[GAME_MINES_MAX]}-->\n   <attribute name=\"mine1_pool[GAME_MINES_MAX]\" type=\"QHsm *\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Tunnel::mine2_pool[GAME_MINES_MAX]}-->\n   <attribute name=\"mine2_pool[GAME_MINES_MAX]\" type=\"QHsm *\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Tunnel::blink_ctr}-->\n   <attribute name=\"blink_ctr\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Tunnel::last_mine_x}-->\n   <attribute name=\"last_mine_x\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Tunnel::last_mine_y}-->\n   <attribute name=\"last_mine_y\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Tunnel::wall_thickness_top}-->\n   <attribute name=\"wall_thickness_top\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Tunnel::wall_thickness_bottom}-->\n   <attribute name=\"wall_thickness_bottom\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Tunnel::wall_gap}-->\n   <attribute name=\"wall_gap\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Tunnel::advance}-->\n   <operation name=\"advance\" type=\"void\" visibility=\"0x02\" properties=\"0x00\">\n    <code>uint32_t rnd;\n\nrnd = (BSP_random() &amp; 0xFFU);\n\n/* reduce the top wall thickness 18.75% of the time */\nif ((rnd &lt; 48U) &amp;&amp; (me-&gt;wall_thickness_top &gt; 0U)) {\n    --me-&gt;wall_thickness_top;\n}\n\n/* reduce the bottom wall thickness 18.75% of the time */\nif ((rnd &gt; 208U) &amp;&amp; (me-&gt;wall_thickness_bottom &gt; 0U)) {\n    --me-&gt;wall_thickness_bottom;\n}\n\nrnd = (BSP_random() &amp; 0xFFU);\n\n/* grow the bottom wall thickness 19.14% of the time */\nif ((rnd &lt; 49U)\n    &amp;&amp; ((GAME_TUNNEL_HEIGHT\n         - me-&gt;wall_thickness_top\n         - me-&gt;wall_thickness_bottom) &gt; me-&gt;wall_gap))\n{\n    ++me-&gt;wall_thickness_bottom;\n}\n\n/* grow the top wall thickness 19.14% of the time */\nif ((rnd &gt; 207U)\n    &amp;&amp; ((GAME_TUNNEL_HEIGHT\n         - me-&gt;wall_thickness_top\n         - me-&gt;wall_thickness_bottom) &gt; me-&gt;wall_gap))\n{\n    ++me-&gt;wall_thickness_top;\n}\n\n/* advance the Tunnel by 1 game step to the left\n* and copy the Tunnel layer to the main frame buffer\n*/\nBSP_advanceWalls(me-&gt;wall_thickness_top, me-&gt;wall_thickness_bottom);</code>\n   </operation>\n   <!--${AOs::Tunnel::plantMine}-->\n   <operation name=\"plantMine\" type=\"void\" visibility=\"0x02\" properties=\"0x00\">\n    <code>uint32_t rnd = (BSP_random() &amp; 0xFFU);\n\nif (me-&gt;last_mine_x &gt; 0U) {\n    --me-&gt;last_mine_x; /* shift the last Mine 1 position to the left */\n}\n/* last mine far enough? */\nif ((me-&gt;last_mine_x + GAME_MINES_DIST_MIN &lt; GAME_TUNNEL_WIDTH)\n    &amp;&amp; (rnd &lt; 8U)) /* place the mines only 5% of the time */\n{\n    uint8_t n;\n    for (n = 0U; n &lt; Q_DIM(me-&gt;mines); ++n) { /*look for disabled mines */\n        if (me-&gt;mines[n] == (QHsm *)0) {\n            break;\n        }\n    }\n    if (n &lt; Q_DIM(me-&gt;mines)) { /* a disabled Mine found? */\n        rnd = (BSP_random() &amp; 0xFFFFU);\n\n        if ((rnd &amp; 1U) == 0U) { /* choose the type of the mine */\n            me-&gt;mines[n] = me-&gt;mine1_pool[n];\n        }\n        else {\n            me-&gt;mines[n] = me-&gt;mine2_pool[n];\n        }\n\n        /* new Mine is planted by the end of the tunnel */\n        me-&gt;last_mine_x = GAME_TUNNEL_WIDTH - 8U;\n\n        /* choose a random y-position for the Mine in the Tunnel */\n        rnd %= (GAME_TUNNEL_HEIGHT\n                - me-&gt;wall_thickness_top\n                - me-&gt;wall_thickness_bottom - 4U);\n        me-&gt;last_mine_y = (uint8_t)(me-&gt;wall_thickness_top + 2U + rnd);\n\n        Q_SIG(me-&gt;mines[n]) = MINE_PLANT_SIG;\n        Q_PAR(me-&gt;mines[n]) = (me-&gt;last_mine_x | (me-&gt;last_mine_y &lt;&lt; 8));\n        QHSM_DISPATCH(me-&gt;mines[n]); /* direct dispatch */\n    }\n}</code>\n   </operation>\n   <!--${AOs::Tunnel::dispatchToAllMines}-->\n   <operation name=\"dispatchToAllMines\" type=\"void\" visibility=\"0x02\" properties=\"0x00\">\n    <!--${AOs::Tunnel::dispatchToAllMin~::sig}-->\n    <parameter name=\"sig\" type=\"QSignal\"/>\n    <!--${AOs::Tunnel::dispatchToAllMin~::par}-->\n    <parameter name=\"par\" type=\"QParam\"/>\n    <code>uint8_t n;\n\nfor (n = 0; n &lt; GAME_MINES_MAX; ++n) {\n    if (me-&gt;mines[n] != (QHsm *)0) { /* is the mine used? */\n        Q_SIG(me-&gt;mines[n]) = sig;\n        Q_PAR(me-&gt;mines[n]) = par;\n        QHSM_DISPATCH(me-&gt;mines[n]);\n    }\n}</code>\n   </operation>\n   <!--${AOs::Tunnel::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${AOs::Tunnel::SM::initial}-->\n    <initial target=\"../1/2\">\n     <action>uint8_t n;\nfor (n = 0; n &lt; GAME_MINES_MAX; ++n) {\n    QHSM_INIT(me-&gt;mine1_pool[n]); /* initial tran. for Mine1 */\n    QHSM_INIT(me-&gt;mine2_pool[n]); /* initial tran. for Mine2 */\n}\nBSP_randomSeed(1234U); /* seed the pseudo-random generator */</action>\n     <initial_glyph conn=\"3,2,5,1,25,14,-2\">\n      <action box=\"1,-2,11,2\"/>\n     </initial_glyph>\n    </initial>\n    <!--${AOs::Tunnel::SM::active}-->\n    <state name=\"active\">\n     <!--${AOs::Tunnel::SM::active::MINE_DISABLED}-->\n     <tran trig=\"MINE_DISABLED\">\n      <action>Q_ASSERT((Q_PAR(me) &lt; GAME_MINES_MAX)\n         &amp;&amp; (me-&gt;mines[Q_PAR(me)] != (QHsm *)0));\nme-&gt;mines[Q_PAR(me)] = (QHsm *)0;</action>\n      <tran_glyph conn=\"2,9,3,-1,14\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Tunnel::SM::active::PLAYER_QUIT}-->\n     <tran trig=\"PLAYER_QUIT\" target=\"../../2\">\n      <tran_glyph conn=\"2,12,3,1,64,76,-40\">\n       <action box=\"0,-2,11,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Tunnel::SM::active::show_logo}-->\n     <state name=\"show_logo\">\n      <entry>QActive_armX(&amp;me-&gt;super, 0U,\n    BSP_TICKS_PER_SEC/2U, BSP_TICKS_PER_SEC/2U); /* periodic */\nme-&gt;blink_ctr = 10U;\nBSP_paintString(24U, (GAME_TUNNEL_HEIGHT / 2U) - 8U, &quot;Quantum LeAps&quot;);\nBSP_paintString(16U, (GAME_TUNNEL_HEIGHT / 2U) + 0U, &quot;state-machine.com&quot;);\n\nBSP_paintString(1U, GAME_TUNNEL_HEIGHT - 18U, &quot;Fire missile: BTN0&quot;);\nBSP_paintString(1U, GAME_TUNNEL_HEIGHT - 10U, &quot;Fly ship up:  BTN1&quot;);\n\nBSP_updateScreen();</entry>\n      <exit>QActive_disarmX(&amp;me-&gt;super, 0U);</exit>\n      <!--${AOs::Tunnel::SM::active::show_logo::Q_TIMEOUT}-->\n      <tran trig=\"Q_TIMEOUT\">\n       <action>--me-&gt;blink_ctr; /* toggle the blink couner */</action>\n       <!--${AOs::Tunnel::SM::active::show_logo::Q_TIMEOUT::[me->blink_ctr==0U]}-->\n       <choice target=\"../../../3\">\n        <guard>me-&gt;blink_ctr == 0U</guard>\n        <choice_glyph conn=\"18,26,5,1,10,6,-2\">\n         <action box=\"1,0,15,2\"/>\n        </choice_glyph>\n       </choice>\n       <!--${AOs::Tunnel::SM::active::show_logo::Q_TIMEOUT::[else]}-->\n       <choice>\n        <guard brief=\"else\"/>\n        <!--${AOs::Tunnel::SM::active::show_logo::Q_TIMEOUT::[else]::[else]}-->\n        <choice>\n         <guard>else</guard>\n         <action>BSP_paintString(24U + 8U*6U, (GAME_TUNNEL_HEIGHT / 2U) - 8U,\n                &quot;LeaPs&quot;);\nBSP_updateScreen();</action>\n         <choice_glyph conn=\"18,22,5,-1,6\">\n          <action box=\"2,0,6,2\"/>\n         </choice_glyph>\n        </choice>\n        <!--${AOs::Tunnel::SM::active::show_logo::Q_TIMEOUT::[else]::[(me->blink_ctr&1U)!=0U]}-->\n        <choice>\n         <guard>(me-&gt;blink_ctr &amp; 1U) != 0U</guard>\n         <action>BSP_paintString(24U + 8U*6U, (GAME_TUNNEL_HEIGHT / 2U) - 8U,\n                &quot;LeAps&quot;);\nBSP_updateScreen();</action>\n         <choice_glyph conn=\"18,22,4,-1,-4,6\">\n          <action box=\"2,-3,15,2\"/>\n         </choice_glyph>\n        </choice>\n        <choice_glyph conn=\"18,26,4,-1,-4\">\n         <action box=\"-4,-3,6,2\"/>\n        </choice_glyph>\n       </choice>\n       <tran_glyph conn=\"4,26,3,-1,14\">\n        <action box=\"0,-2,12,2\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"4,14,22,14\">\n       <entry box=\"1,2,5,2\"/>\n       <exit box=\"1,4,5,2\"/>\n      </state_glyph>\n     </state>\n     <!--${AOs::Tunnel::SM::active::demo}-->\n     <state name=\"demo\">\n      <entry>me-&gt;last_mine_x = 0U; /* last mine at right edge of the tunnel */\nme-&gt;last_mine_y = 0U;\n/* set the tunnel properties... */\nme-&gt;wall_thickness_top = 0U;\nme-&gt;wall_thickness_bottom = 0U;\nme-&gt;wall_gap = GAME_WALLS_GAP_Y;\n\n/* clear the tunnel walls */\nBSP_clearWalls();\n\nQActive_armX(&amp;me-&gt;super, 0U,\n    BSP_TICKS_PER_SEC/2U, BSP_TICKS_PER_SEC/2U); /* periodic */\nme-&gt;blink_ctr = 20U*2U; /* 20s timeout total */</entry>\n      <exit>QActive_disarmX(&amp;me-&gt;super, 0U);</exit>\n      <!--${AOs::Tunnel::SM::active::demo::TIME_TICK}-->\n      <tran trig=\"TIME_TICK\">\n       <action>Tunnel_advance(me);\nif (me-&gt;blink_ctr != 0U) {\n    /* add the text bitmap into the frame buffer */\n    BSP_paintString((GAME_TUNNEL_WIDTH - 10U*6U)/2U,\n                    (GAME_TUNNEL_HEIGHT - 4U)/2U,\n                    &quot;Press BTN0&quot;);\n}\nBSP_updateScreen();</action>\n       <tran_glyph conn=\"4,39,3,-1,14\">\n        <action box=\"0,-2,12,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Tunnel::SM::active::demo::PLAYER_TRIGGER}-->\n      <tran trig=\"PLAYER_TRIGGER\" target=\"../../4\">\n       <tran_glyph conn=\"4,48,3,1,24,7,-2\">\n        <action box=\"0,-2,13,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Tunnel::SM::active::demo::Q_TIMEOUT}-->\n      <tran trig=\"Q_TIMEOUT\">\n       <action>--me-&gt;blink_ctr;</action>\n       <!--${AOs::Tunnel::SM::active::demo::Q_TIMEOUT::[me->blink_ctr==0]}-->\n       <choice target=\"../../../6\">\n        <guard>me-&gt;blink_ctr == 0</guard>\n        <choice_glyph conn=\"18,42,5,3,14\">\n         <action box=\"1,0,14,2\"/>\n        </choice_glyph>\n       </choice>\n       <tran_glyph conn=\"4,42,3,-1,14\">\n        <action box=\"0,-2,12,4\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"4,30,22,20\">\n       <entry box=\"1,2,6,2\"/>\n       <exit box=\"1,4,5,2\"/>\n      </state_glyph>\n     </state>\n     <!--${AOs::Tunnel::SM::active::playing}-->\n     <state name=\"playing\">\n      <entry>me-&gt;wall_gap = GAME_WALLS_GAP_Y;\nQACTIVE_POST(&amp;AO_Ship, TAKE_OFF_SIG, 0);</entry>\n      <exit>Tunnel_dispatchToAllMines(me, MINE_RECYCLE_SIG, 0);</exit>\n      <!--${AOs::Tunnel::SM::active::playing::TIME_TICK}-->\n      <tran trig=\"TIME_TICK\">\n       <action>/* render this frame on the display */\nBSP_updateScreen();\nTunnel_advance(me);\nTunnel_plantMine(me);\nTunnel_dispatchToAllMines(me, Q_SIG(me), Q_PAR(me));</action>\n       <tran_glyph conn=\"4,62,3,-1,14\">\n        <action box=\"0,-2,9,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Tunnel::SM::active::playing::SHIP_IMG}-->\n      <tran trig=\"SHIP_IMG\">\n       <action>uint8_t x   = (uint8_t)Q_PAR(me);\nuint8_t y   = (uint8_t)(Q_PAR(me) &gt;&gt; 8);\nuint8_t bmp = (uint8_t)(Q_PAR(me) &gt;&gt; 16);\n\n/* did the Ship/Missile hit the tunnel wall? */\nif (BSP_isWallHit(bmp, x, y)) {\n    QACTIVE_POST(&amp;AO_Ship, HIT_WALL_SIG, 0);\n}\nBSP_paintBitmap(x, y, bmp);\nTunnel_dispatchToAllMines(me, Q_SIG(me), Q_PAR(me));</action>\n       <tran_glyph conn=\"4,65,3,-1,14\">\n        <action box=\"0,-2,9,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Tunnel::SM::active::playing::MISSILE_IMG}-->\n      <tran trig=\"MISSILE_IMG\">\n       <action>uint8_t x   = (uint8_t)Q_PAR(me);\nuint8_t y   = (uint8_t)(Q_PAR(me) &gt;&gt; 8);\nuint8_t bmp = (uint8_t)(Q_PAR(me) &gt;&gt; 16);\n\n/* did the Ship/Missile hit the tunnel wall? */\nif (BSP_isWallHit(bmp, x, y)) {\n    QACTIVE_POST(&amp;AO_Missile, HIT_WALL_SIG, 0);\n}\nBSP_paintBitmap(x, y, bmp);\nTunnel_dispatchToAllMines(me, Q_SIG(me), Q_PAR(me));</action>\n       <tran_glyph conn=\"4,68,3,-1,14\">\n        <action box=\"0,-2,12,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Tunnel::SM::active::playing::MINE_IMG}-->\n      <tran trig=\"MINE_IMG\">\n       <action>BSP_paintBitmap((uint8_t)Q_PAR(me),\n                (uint8_t)(Q_PAR(me) &gt;&gt; 8),\n                (uint8_t)(Q_PAR(me) &gt;&gt; 16));</action>\n       <tran_glyph conn=\"4,71,3,-1,14\">\n        <action box=\"0,-2,9,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Tunnel::SM::active::playing::EXPLOSION}-->\n      <tran trig=\"EXPLOSION\">\n       <action>BSP_paintBitmap((uint8_t)Q_PAR(me),\n                (uint8_t)(Q_PAR(me) &gt;&gt; 8),\n                (uint8_t)(Q_PAR(me) &gt;&gt; 16));</action>\n       <tran_glyph conn=\"4,74,3,-1,14\">\n        <action box=\"0,-2,11,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Tunnel::SM::active::playing::SCORE}-->\n      <tran trig=\"SCORE\">\n       <action>BSP_updateScore((uint16_t)Q_PAR(me));\n/* increase difficulty of the game:\n* the tunnel gets narrower as the score goes up\n*/\nme-&gt;wall_gap = (uint8_t)(GAME_WALLS_GAP_Y\n                  - (uint16_t)Q_PAR(me)/100U);\nif (me-&gt;wall_gap &lt; GAME_WALLS_MIN_GAP_Y) {\n    me-&gt;wall_gap = GAME_WALLS_MIN_GAP_Y;\n}</action>\n       <tran_glyph conn=\"4,77,3,-1,14\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Tunnel::SM::active::playing::GAME_OVER}-->\n      <tran trig=\"GAME_OVER\" target=\"../../5\">\n       <action>BSP_clearWalls();\nBSP_updateScore((uint16_t)Q_PAR(me));\nBSP_updateScreen();</action>\n       <tran_glyph conn=\"4,80,3,3,26,-10,2\">\n        <action box=\"0,-2,10,2\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"4,52,22,30\">\n       <entry box=\"1,2,6,2\"/>\n       <exit box=\"1,4,5,2\"/>\n      </state_glyph>\n     </state>\n     <!--${AOs::Tunnel::SM::active::game_over}-->\n     <state name=\"game_over\">\n      <entry>QActive_armX(&amp;me-&gt;super, 0U,\n    BSP_TICKS_PER_SEC/2U, BSP_TICKS_PER_SEC/2U); /* periodic */\nme-&gt;blink_ctr = 5U*2U; /* 5s timeout */\nBSP_paintString((GAME_TUNNEL_WIDTH - 6U * 9U) / 2U,\n                (GAME_TUNNEL_HEIGHT / 2U) - 4U,\n                &quot;Game Over&quot;);\nBSP_updateScreen();</entry>\n      <exit>QActive_disarmX(&amp;me-&gt;super, 0U);\nBSP_updateScore(0); /* update the score on the display */</exit>\n      <!--${AOs::Tunnel::SM::active::game_over::Q_TIMEOUT}-->\n      <tran trig=\"Q_TIMEOUT\">\n       <action>--me-&gt;blink_ctr;\nBSP_paintString((GAME_TUNNEL_WIDTH - 6U*9U) / 2U,\n                (GAME_TUNNEL_HEIGHT / 2U) - 4U,\n                (((me-&gt;blink_ctr &amp; 1) != 0)\n                 ? &quot;Game Over&quot;\n                 : &quot;         &quot;));\nBSP_updateScreen();</action>\n       <!--${AOs::Tunnel::SM::active::game_over::Q_TIMEOUT::[me->blink_ctr==0]}-->\n       <choice target=\"../../../3\">\n        <guard>me-&gt;blink_ctr == 0</guard>\n        <choice_glyph conn=\"45,78,5,1,17,-12,-32,-20,-4\">\n         <action box=\"1,0,17,2\"/>\n        </choice_glyph>\n       </choice>\n       <tran_glyph conn=\"32,78,3,-1,13\">\n        <action box=\"0,-2,12,4\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"32,68,28,14\">\n       <entry box=\"1,2,6,2\"/>\n       <exit box=\"1,4,5,2\"/>\n      </state_glyph>\n     </state>\n     <!--${AOs::Tunnel::SM::active::screen_saver}-->\n     <state name=\"screen_saver\">\n      <!--${AOs::Tunnel::SM::active::screen_saver::initial}-->\n      <initial target=\"../2\">\n       <initial_glyph conn=\"36,34,5,1,20,8,-2\">\n        <action box=\"1,-2,6,2\"/>\n       </initial_glyph>\n      </initial>\n      <!--${AOs::Tunnel::SM::active::screen_saver::PLAYER_TRIGGER}-->\n      <tran trig=\"PLAYER_TRIGGER\" target=\"../../3\">\n       <tran_glyph conn=\"32,38,3,1,30,-10,-32,6,-4\">\n        <action box=\"0,-2,13,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Tunnel::SM::active::screen_saver::screen_saver_hide}-->\n      <state name=\"screen_saver_hide\">\n       <entry>BSP_displayOff();  /* power down the display */\nQActive_armX(&amp;me-&gt;super, 0U, BSP_TICKS_PER_SEC*3U, 0U); /* 3 sec */</entry>\n       <exit>QActive_disarmX(&amp;me-&gt;super, 0U);\nBSP_displayOn(); /* power up the display */</exit>\n       <!--${AOs::Tunnel::SM::active::screen_saver::screen_saver_hid~::Q_TIMEOUT}-->\n       <tran trig=\"Q_TIMEOUT\" target=\"../../3\">\n        <tran_glyph conn=\"36,48,3,1,20,6,-2\">\n         <action box=\"0,-2,13,2\"/>\n        </tran_glyph>\n       </tran>\n       <state_glyph node=\"36,40,18,10\">\n        <entry box=\"1,2,5,2\"/>\n        <exit box=\"1,4,5,2\"/>\n       </state_glyph>\n      </state>\n      <!--${AOs::Tunnel::SM::active::screen_saver::screen_saver_show}-->\n      <state name=\"screen_saver_show\">\n       <entry>uint32_t rnd = BSP_random();\n/* clear the screen frame buffer */\nBSP_clearFB();\nBSP_paintString((uint8_t)(rnd % (GAME_TUNNEL_WIDTH - 10U*6U)),\n                (uint8_t) (rnd % (GAME_TUNNEL_HEIGHT - 8U)),\n                &quot;Press BTN0&quot;);\nBSP_updateScreen();\nQActive_armX(&amp;me-&gt;super, 0U, BSP_TICKS_PER_SEC/3U, 0U);/* 1/3 sec */</entry>\n       <exit>QActive_disarmX(&amp;me-&gt;super, 0U);\nBSP_clearFB();\nBSP_updateScreen();</exit>\n       <!--${AOs::Tunnel::SM::active::screen_saver::screen_saver_sho~::Q_TIMEOUT}-->\n       <tran trig=\"Q_TIMEOUT\" target=\"../../2\">\n        <tran_glyph conn=\"36,60,3,1,22,-15,-4\">\n         <action box=\"0,-2,13,2\"/>\n        </tran_glyph>\n       </tran>\n       <state_glyph node=\"36,52,18,10\">\n        <entry box=\"1,2,6,2\"/>\n        <exit box=\"1,4,5,2\"/>\n       </state_glyph>\n      </state>\n      <state_glyph node=\"32,30,28,34\"/>\n     </state>\n     <state_glyph node=\"2,4,62,80\"/>\n    </state>\n    <!--${AOs::Tunnel::SM::final}-->\n    <state name=\"final\">\n     <entry>/* clear the screen */\nBSP_clearFB();\nBSP_updateScreen();\nQF_stop(); /* stop QF and cleanup */</entry>\n     <state_glyph node=\"2,86,24,6\">\n      <entry box=\"1,2,6,2\"/>\n     </state_glyph>\n    </state>\n    <state_diagram size=\"68,94\"/>\n   </statechart>\n  </class>\n  <!--${AOs::Ship}-->\n  <class name=\"Ship\" superclass=\"qpn::QActive\">\n   <documentation>Ship Active Object</documentation>\n   <!--${AOs::Ship::x}-->\n   <attribute name=\"x\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Ship::y}-->\n   <attribute name=\"y\" type=\"uint16_t\" visibility=\"0x02\" properties=\"0x00\">\n    <documentation>fixed point in 14s2 representation</documentation>\n   </attribute>\n   <!--${AOs::Ship::exp_ctr}-->\n   <attribute name=\"exp_ctr\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Ship::score}-->\n   <attribute name=\"score\" type=\"uint16_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Ship::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${AOs::Ship::SM::initial}-->\n    <initial target=\"../1\">\n     <initial_glyph conn=\"2,2,5,1,38,5,-2\">\n      <action box=\"0,-2,6,2\"/>\n     </initial_glyph>\n    </initial>\n    <!--${AOs::Ship::SM::active}-->\n    <state name=\"active\">\n     <!--${AOs::Ship::SM::active::initial}-->\n     <initial target=\"../1\">\n      <initial_glyph conn=\"3,8,5,1,31,6,-2\">\n       <action box=\"-8,-2,6,2\"/>\n      </initial_glyph>\n     </initial>\n     <!--${AOs::Ship::SM::active::parked}-->\n     <state name=\"parked\">\n      <!--${AOs::Ship::SM::active::parked::TAKE_OFF}-->\n      <tran trig=\"TAKE_OFF\" target=\"../../2\">\n       <tran_glyph conn=\"4,18,3,1,30,6,-2\">\n        <action box=\"0,-2,8,2\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"4,12,28,8\"/>\n     </state>\n     <!--${AOs::Ship::SM::active::flying}-->\n     <state name=\"flying\">\n      <entry>me-&gt;score = 0; /* reset the score */\nQACTIVE_POST(&amp;AO_Tunnel, SCORE_SIG, me-&gt;score);\n\n/* lauch the ship from the initial position */\nme-&gt;x = GAME_SHIP_X;\nme-&gt;y = (GAME_SHIP_Y &lt;&lt; 2);</entry>\n      <!--${AOs::Ship::SM::active::flying::TIME_TICK}-->\n      <tran trig=\"TIME_TICK\">\n       <action>/* move the Ship up or down depending on the button state */\nif (BSP_isThrottle()) {\n    if (me-&gt;y &gt; 0) {\n        me-&gt;y -= 1U;\n    }\n}\nelse {\n    if (me-&gt;y &lt; (GAME_TUNNEL_HEIGHT &lt;&lt; 2)) {\n        me-&gt;y += 1U;\n    }\n}\n\n/* tell the Tunnel to draw the Ship and test for hits */\nQACTIVE_POST(&amp;AO_Tunnel, SHIP_IMG_SIG,\n             (SHIP_BMP &lt;&lt; 16)\n             | me-&gt;x\n             | ((me-&gt;y &gt;&gt; 2) &lt;&lt; 8));\n\n++me-&gt;score;  /* increment the score for surviving another tick */\n\nif ((me-&gt;score % 10) == 0) { /* is the score &quot;round&quot;? */\n    QACTIVE_POST(&amp;AO_Tunnel, SCORE_SIG, me-&gt;score);\n}</action>\n       <tran_glyph conn=\"4,29,3,-1,16\">\n        <action box=\"0,-2,9,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Ship::SM::active::flying::PLAYER_TRIGGER}-->\n      <tran trig=\"PLAYER_TRIGGER\">\n       <action>QACTIVE_POST(&amp;AO_Missile, MISSILE_FIRE_SIG,\n             me-&gt;x | (((me-&gt;y &gt;&gt; 2) - 1 + SHIP_HEIGHT) &amp; 0xFFU) &lt;&lt; 8);</action>\n       <tran_glyph conn=\"4,32,3,-1,16\">\n        <action box=\"0,-2,13,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Ship::SM::active::flying::DESTROYED_MINE}-->\n      <tran trig=\"DESTROYED_MINE\">\n       <action>me-&gt;score += (uint16_t)Q_PAR(me);\n/* the score will be sent to the Tunnel by the next TIME_TICK */</action>\n       <tran_glyph conn=\"4,35,3,-1,16\">\n        <action box=\"0,-2,13,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Ship::SM::active::flying::HIT_WALL}-->\n      <tran trig=\"HIT_WALL\" target=\"../../3\">\n       <tran_glyph conn=\"4,38,3,1,30,10,-2\">\n        <action box=\"0,-2,8,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Ship::SM::active::flying::HIT_MINE}-->\n      <tran trig=\"HIT_MINE\" target=\"../../3\">\n       <tran_glyph conn=\"4,41,3,1,30,7,-2\">\n        <action box=\"0,-2,10,2\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"4,22,28,22\">\n       <entry box=\"1,2,5,2\"/>\n      </state_glyph>\n     </state>\n     <!--${AOs::Ship::SM::active::exploding}-->\n     <state name=\"exploding\">\n      <entry>me-&gt;exp_ctr = 0;</entry>\n      <!--${AOs::Ship::SM::active::exploding::TIME_TICK}-->\n      <tran trig=\"TIME_TICK\">\n       <!--${AOs::Ship::SM::active::exploding::TIME_TICK::[me->exp_ctr<15]}-->\n       <choice>\n        <guard>me-&gt;exp_ctr &lt; 15</guard>\n        <action>++me-&gt;exp_ctr;\n\n  /* tell the Tunnel to draw the current stage of Explosion */\nQACTIVE_POST(&amp;AO_Tunnel, EXPLOSION_SIG,\n         ((EXPLOSION0_BMP + (me-&gt;exp_ctr &gt;&gt; 2)) &lt;&lt; 16)\n         | me-&gt;x\n         | ((((me-&gt;y &gt;&gt; 2) - 4U + SHIP_HEIGHT) &amp; 0xFFU) &lt;&lt; 8));</action>\n        <choice_glyph conn=\"15,55,5,-1,15\">\n         <action box=\"1,0,15,2\"/>\n        </choice_glyph>\n       </choice>\n       <!--${AOs::Ship::SM::active::exploding::TIME_TICK::[else]}-->\n       <choice target=\"../../../1\">\n        <guard>else</guard>\n        <action>QACTIVE_POST(&amp;AO_Tunnel, GAME_OVER_SIG, me-&gt;score);</action>\n        <choice_glyph conn=\"15,55,4,1,4,21,-43,-4\">\n         <action box=\"1,4,6,2\"/>\n        </choice_glyph>\n       </choice>\n       <tran_glyph conn=\"4,55,3,-1,11\">\n        <action box=\"0,-2,10,2\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"4,46,28,16\">\n       <entry box=\"1,2,13,4\"/>\n      </state_glyph>\n     </state>\n     <state_glyph node=\"2,4,36,60\"/>\n    </state>\n    <state_diagram size=\"42,68\"/>\n   </statechart>\n  </class>\n  <!--${AOs::Missile}-->\n  <class name=\"Missile\" superclass=\"qpn::QActive\">\n   <documentation>Missile Active Object</documentation>\n   <!--${AOs::Missile::x}-->\n   <attribute name=\"x\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Missile::y}-->\n   <attribute name=\"y\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Missile::exp_ctr}-->\n   <attribute name=\"exp_ctr\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Missile::speed}-->\n   <attribute name=\"speed\" type=\"uint8_t\" visibility=\"0x00\" properties=\"0x00\"/>\n   <!--${AOs::Missile::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${AOs::Missile::SM::initial}-->\n    <initial target=\"../1\">\n     <initial_glyph conn=\"3,3,5,1,36,4,-3\">\n      <action box=\"0,-2,6,2\"/>\n     </initial_glyph>\n    </initial>\n    <!--${AOs::Missile::SM::armed}-->\n    <state name=\"armed\">\n     <!--${AOs::Missile::SM::armed::MISSILE_FIRE}-->\n     <tran trig=\"MISSILE_FIRE\" target=\"../../2\">\n      <action>me-&gt;x = (uint8_t)Q_PAR(me); /* init position from the Ship */\nme-&gt;y = (uint8_t)(Q_PAR(me) &gt;&gt; 8);</action>\n      <tran_glyph conn=\"3,11,3,1,36,8,-2\">\n       <action box=\"0,-2,11,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"3,5,33,8\"/>\n    </state>\n    <!--${AOs::Missile::SM::flying}-->\n    <state name=\"flying\">\n     <!--${AOs::Missile::SM::flying::TIME_TICK}-->\n     <tran trig=\"TIME_TICK\">\n      <!--${AOs::Missile::SM::flying::TIME_TICK::[me->x+GAME_MISSILE_SPEED_X<GAME~}-->\n      <choice>\n       <guard>me-&gt;x + GAME_MISSILE_SPEED_X &lt; GAME_TUNNEL_WIDTH</guard>\n       <action>me-&gt;x += me-&gt;speed;\n/*tell the Tunnel to draw the Missile and test for wall hits*/\nQACTIVE_POST(&amp;AO_Tunnel, MISSILE_IMG_SIG,\n             (MISSILE_BMP &lt;&lt; 16)\n             | me-&gt;x\n             | (me-&gt;y &lt;&lt; 8));</action>\n       <choice_glyph conn=\"15,23,5,-1,18\">\n        <action box=\"1,0,22,4\"/>\n       </choice_glyph>\n      </choice>\n      <!--${AOs::Missile::SM::flying::TIME_TICK::[else]}-->\n      <choice target=\"../../../1\">\n       <guard>else</guard>\n       <choice_glyph conn=\"15,23,4,1,5,26,-19,-5\">\n        <action box=\"1,5,6,2\"/>\n       </choice_glyph>\n      </choice>\n      <tran_glyph conn=\"3,23,3,-1,12\">\n       <action box=\"0,-2,9,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Missile::SM::flying::HIT_WALL}-->\n     <tran trig=\"HIT_WALL\" target=\"../../3\">\n      <tran_glyph conn=\"3,35,3,1,36,6,-2\">\n       <action box=\"0,-2,9,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Missile::SM::flying::DESTROYED_MINE}-->\n     <tran trig=\"DESTROYED_MINE\" target=\"../../1\">\n      <action>/* tell the Ship the score for destroing this Mine */\nQACTIVE_POST(&amp;AO_Ship, Q_SIG(me), Q_PAR(me));\n/* re-arm immediately &amp; let the destroyed Mine do the exploding */</action>\n      <tran_glyph conn=\"3,32,3,1,40,-23,-7\">\n       <action box=\"0,-2,15,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"3,17,34,20\"/>\n    </state>\n    <!--${AOs::Missile::SM::exploding}-->\n    <state name=\"exploding\">\n     <entry>me-&gt;exp_ctr = 0;</entry>\n     <!--${AOs::Missile::SM::exploding::TIME_TICK}-->\n     <tran trig=\"TIME_TICK\">\n      <!--${AOs::Missile::SM::exploding::TIME_TICK::[(me->x>=GAME_SPEED_X)&&(me->exp~}-->\n      <choice>\n       <guard>(me-&gt;x &gt;= GAME_SPEED_X) &amp;&amp; (me-&gt;exp_ctr &lt; 15)</guard>\n       <action>++me-&gt;exp_ctr;             /* advance the explosion counter */\nme-&gt;x -= me-&gt;speed;       /* move the explosion by one step */\n\n/* tell the Tunnel to render the current stage of Explosion */\nQACTIVE_POST(&amp;AO_Tunnel, EXPLOSION_SIG,\n         ((EXPLOSION0_BMP + (me-&gt;exp_ctr &gt;&gt; 2)) &lt;&lt; 16)\n         | (me-&gt;x + 3)\n         | ((int)me-&gt;y - 4) &lt;&lt; 8);</action>\n       <choice_glyph conn=\"15,48,5,-1,20\">\n        <action box=\"1,0,19,4\"/>\n       </choice_glyph>\n      </choice>\n      <!--${AOs::Missile::SM::exploding::TIME_TICK::[else]}-->\n      <choice target=\"../../../1\">\n       <guard>else</guard>\n       <action>/* explosion finished or moved outside the game */</action>\n       <choice_glyph conn=\"15,48,4,1,4,30,-43,-9\">\n        <action box=\"1,4,6,2\"/>\n       </choice_glyph>\n      </choice>\n      <tran_glyph conn=\"3,48,3,-1,12\">\n       <action box=\"0,-2,8,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"3,39,34,15\">\n      <entry box=\"1,2,13,4\"/>\n     </state_glyph>\n    </state>\n    <state_diagram size=\"47,56\"/>\n   </statechart>\n  </class>\n  <!--${AOs::Mine1}-->\n  <class name=\"Mine1\" superclass=\"qpn::QHsm\">\n   <documentation>The Mine1 orthogonal component</documentation>\n   <!--${AOs::Mine1::x}-->\n   <attribute name=\"x\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Mine1::y}-->\n   <attribute name=\"y\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Mine1::exp_ctr}-->\n   <attribute name=\"exp_ctr\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Mine1::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${AOs::Mine1::SM::initial}-->\n    <initial target=\"../1\">\n     <initial_glyph conn=\"3,2,5,1,29,4,-4\">\n      <action box=\"0,-2,7,2\"/>\n     </initial_glyph>\n    </initial>\n    <!--${AOs::Mine1::SM::unused}-->\n    <state name=\"unused\">\n     <!--${AOs::Mine1::SM::unused::MINE_PLANT}-->\n     <tran trig=\"MINE_PLANT\" target=\"../../2/1\">\n      <action>me-&gt;x = (uint8_t)Q_PAR(me);\nme-&gt;y = (uint8_t)(Q_PAR(me) &gt;&gt; 8);</action>\n      <tran_glyph conn=\"3,10,3,1,41,15,-6\">\n       <action box=\"0,-2,10,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"3,4,25,8\"/>\n    </state>\n    <!--${AOs::Mine1::SM::used}-->\n    <state name=\"used\">\n     <exit brief=\"...\">/* tell the Tunnel that this mine is becoming disabled */\nQACTIVE_POST(&amp;AO_Tunnel, MINE_DISABLED_SIG, MINE_ID(me));</exit>\n     <!--${AOs::Mine1::SM::used::MINE_RECYCLE}-->\n     <tran trig=\"MINE_RECYCLE\" target=\"../../1\">\n      <tran_glyph conn=\"3,21,3,1,43,-13,-18\">\n       <action box=\"0,-2,12,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Mine1::SM::used::planted}-->\n     <state name=\"planted\">\n      <!--${AOs::Mine1::SM::used::planted::TIME_TICK}-->\n      <tran trig=\"TIME_TICK\">\n       <!--${AOs::Mine1::SM::used::planted::TIME_TICK::[me->x>=GAME_SPEED_X]}-->\n       <choice>\n        <guard>me-&gt;x &gt;= GAME_SPEED_X</guard>\n        <action>me-&gt;x -= GAME_SPEED_X;  /* move the mine 1 step */\n\n/* tell the Tunnel to draw the Mine */\nQACTIVE_POST(&amp;AO_Tunnel, MINE_IMG_SIG,\n             (MINE1_BMP &lt;&lt; 16)\n             | me-&gt;x\n             | (me-&gt;y &lt;&lt; 8));</action>\n        <choice_glyph conn=\"16,30,5,-1,20\">\n         <action box=\"1,0,20,2\"/>\n        </choice_glyph>\n       </choice>\n       <!--${AOs::Mine1::SM::used::planted::TIME_TICK::[else]}-->\n       <choice target=\"../../../../1\">\n        <guard>else</guard>\n        <choice_glyph conn=\"16,30,4,1,4,32,-26,-20\">\n         <action box=\"1,4,6,2\"/>\n        </choice_glyph>\n       </choice>\n       <tran_glyph conn=\"5,30,3,-1,11\">\n        <action box=\"0,-2,10,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Mine1::SM::used::planted::SHIP_IMG}-->\n      <tran trig=\"SHIP_IMG\">\n       <action>uint8_t x   = (uint8_t)Q_PAR(me);\nuint8_t y   = (uint8_t)(Q_PAR(me) &gt;&gt; 8);\nuint8_t bmp = (uint8_t)(Q_PAR(me) &gt;&gt; 16);</action>\n       <!--${AOs::Mine1::SM::used::planted::SHIP_IMG::[BSP_doBitmapsOverlap(MINE1_BMP,~}-->\n       <choice target=\"../../../../1\">\n        <guard>BSP_doBitmapsOverlap(MINE1_BMP, me-&gt;x, me-&gt;y, bmp, x, y)</guard>\n        <action>QACTIVE_POST(&amp;AO_Ship, HIT_MINE_SIG,  1);\n\n/* go straight to 'disabled' and let the Ship do\n* the exploding\n*/</action>\n        <choice_glyph conn=\"16,37,5,1,34,-29,-22\">\n         <action box=\"1,0,22,4\"/>\n        </choice_glyph>\n       </choice>\n       <tran_glyph conn=\"5,37,3,-1,11\">\n        <action box=\"0,-2,8,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Mine1::SM::used::planted::MISSILE_IMG}-->\n      <tran trig=\"MISSILE_IMG\">\n       <action>uint8_t x   = (uint8_t)Q_PAR(me);\nuint8_t y   = (uint8_t)(Q_PAR(me) &gt;&gt; 8);\nuint8_t bmp = (uint8_t)(Q_PAR(me) &gt;&gt; 16);</action>\n       <!--${AOs::Mine1::SM::used::planted::MISSILE_IMG::[BSP_doBitmapsOverlap(MINE1_BMP,~}-->\n       <choice target=\"../../../2\">\n        <guard>BSP_doBitmapsOverlap(MINE1_BMP, me-&gt;x, me-&gt;y, bmp, x, y)</guard>\n        <action>/* post the score for destroying Mine type-1 */\nQACTIVE_POST(&amp;AO_Missile, DESTROYED_MINE_SIG, 25);</action>\n        <choice_glyph conn=\"16,42,5,1,24,9,-2\">\n         <action box=\"1,0,21,4\"/>\n        </choice_glyph>\n       </choice>\n       <tran_glyph conn=\"5,42,3,-1,11\">\n        <action box=\"0,-2,11,2\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"5,23,33,24\"/>\n     </state>\n     <!--${AOs::Mine1::SM::used::exploding}-->\n     <state name=\"exploding\">\n      <entry>me-&gt;exp_ctr = 0;</entry>\n      <!--${AOs::Mine1::SM::used::exploding::TIME_TICK}-->\n      <tran trig=\"TIME_TICK\">\n       <!--${AOs::Mine1::SM::used::exploding::TIME_TICK::[(me->x>=GAME_SPEED_X)&&(me->exp~}-->\n       <choice>\n        <guard>(me-&gt;x &gt;= GAME_SPEED_X) &amp;&amp; (me-&gt;exp_ctr &lt; 15)</guard>\n        <action>++me-&gt;exp_ctr;  /* advance the explosion counter */\nme-&gt;x -= GAME_SPEED_X; /* move explosion by 1 step */\n\n/* tell the Game to render the current stage of Explosion */\nQACTIVE_POST(&amp;AO_Tunnel, EXPLOSION_SIG,\n         ((EXPLOSION0_BMP + (me-&gt;exp_ctr &gt;&gt; 2)) &lt;&lt; 16)\n         | (me-&gt;x + 1)\n         | (((int)me-&gt;y - 4 + 2)) &lt;&lt; 8);</action>\n        <choice_glyph conn=\"16,56,5,-1,20\">\n         <action box=\"1,0,20,4\"/>\n        </choice_glyph>\n       </choice>\n       <!--${AOs::Mine1::SM::used::exploding::TIME_TICK::[else]}-->\n       <choice target=\"../../../../1\">\n        <guard>else</guard>\n        <choice_glyph conn=\"16,56,4,1,5,36,-53,-24\">\n         <action box=\"1,5,6,2\"/>\n        </choice_glyph>\n       </choice>\n       <tran_glyph conn=\"5,56,3,-1,11\">\n        <action box=\"0,-2,9,2\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"5,49,33,14\">\n       <entry box=\"1,2,5,2\"/>\n      </state_glyph>\n     </state>\n     <state_glyph node=\"3,14,39,51\">\n      <exit box=\"1,2,5,2\"/>\n     </state_glyph>\n    </state>\n    <state_diagram size=\"54,67\"/>\n   </statechart>\n  </class>\n  <!--${AOs::Mine2}-->\n  <class name=\"Mine2\" superclass=\"qpn::QHsm\">\n   <documentation>The Mine2 orthogonal component</documentation>\n   <!--${AOs::Mine2::x}-->\n   <attribute name=\"x\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Mine2::y}-->\n   <attribute name=\"y\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Mine2::exp_ctr}-->\n   <attribute name=\"exp_ctr\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Mine2::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${AOs::Mine2::SM::initial}-->\n    <initial target=\"../1\">\n     <initial_glyph conn=\"3,2,5,1,31,4,-3\">\n      <action box=\"0,-2,6,2\"/>\n     </initial_glyph>\n    </initial>\n    <!--${AOs::Mine2::SM::unused}-->\n    <state name=\"unused\">\n     <!--${AOs::Mine2::SM::unused::MINE_PLANT}-->\n     <tran trig=\"MINE_PLANT\" target=\"../../2/1\">\n      <action>me-&gt;x = (uint8_t)Q_PAR(me);\nme-&gt;y = (uint8_t)(Q_PAR(me) &gt;&gt; 8);</action>\n      <tran_glyph conn=\"3,10,3,1,40,15,-6\">\n       <action box=\"0,-2,10,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"3,4,28,8\"/>\n    </state>\n    <!--${AOs::Mine2::SM::used}-->\n    <state name=\"used\">\n     <exit brief=\"...\">/* tell the Tunnel that this mine is becoming disabled */\nQACTIVE_POST(&amp;AO_Tunnel, MINE_DISABLED_SIG, MINE_ID(me));</exit>\n     <!--${AOs::Mine2::SM::used::MINE_RECYCLE}-->\n     <tran trig=\"MINE_RECYCLE\" target=\"../../1\">\n      <tran_glyph conn=\"3,21,3,1,42,-13,-14\">\n       <action box=\"0,-2,13,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Mine2::SM::used::planted}-->\n     <state name=\"planted\">\n      <!--${AOs::Mine2::SM::used::planted::TIME_TICK}-->\n      <tran trig=\"TIME_TICK\">\n       <!--${AOs::Mine2::SM::used::planted::TIME_TICK::[me->x>=GAME_SPEED_X]}-->\n       <choice>\n        <guard>me-&gt;x &gt;= GAME_SPEED_X</guard>\n        <action>me-&gt;x -= GAME_SPEED_X;              /* move the mine 1 step */\n\n/* tell the Tunnel to draw the Mine */\nQACTIVE_POST(&amp;AO_Tunnel, MINE_IMG_SIG,\n             (MINE2_BMP &lt;&lt; 16)\n             | me-&gt;x\n             | (me-&gt;y &lt;&lt; 8));</action>\n        <choice_glyph conn=\"17,30,5,-1,18\">\n         <action box=\"1,0,20,4\"/>\n        </choice_glyph>\n       </choice>\n       <!--${AOs::Mine2::SM::used::planted::TIME_TICK::[else]}-->\n       <choice target=\"../../../../1\">\n        <guard>else</guard>\n        <choice_glyph conn=\"17,30,4,1,4,30,-26,-16\">\n         <action box=\"1,4,6,2\"/>\n        </choice_glyph>\n       </choice>\n       <tran_glyph conn=\"5,30,3,-1,12\">\n        <action box=\"0,-2,10,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Mine2::SM::used::planted::SHIP_IMG}-->\n      <tran trig=\"SHIP_IMG\">\n       <action>uint8_t x   = (uint8_t)Q_PAR(me);\nuint8_t y   = (uint8_t)(Q_PAR(me) &gt;&gt; 8);\nuint8_t bmp = (uint8_t)(Q_PAR(me) &gt;&gt; 16);</action>\n       <!--${AOs::Mine2::SM::used::planted::SHIP_IMG::[BSP_doBitmapsOverlap(MINE2_BMP,~}-->\n       <choice target=\"../../../../1\">\n        <guard>BSP_doBitmapsOverlap(MINE2_BMP, me-&gt;x, me-&gt;y, bmp, x, y)</guard>\n        <action>QACTIVE_POST(&amp;AO_Ship, HIT_MINE_SIG,  2);\n/* go straight to 'disabled' and let the Ship do the exploding */</action>\n        <choice_glyph conn=\"17,37,5,1,32,-29,-18\">\n         <action box=\"1,0,21,4\"/>\n        </choice_glyph>\n       </choice>\n       <tran_glyph conn=\"5,37,3,-1,12\">\n        <action box=\"0,-2,8,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Mine2::SM::used::planted::MISSILE_IMG}-->\n      <tran trig=\"MISSILE_IMG\">\n       <action>uint8_t x   = (uint8_t)Q_PAR(me);\nuint8_t y   = (uint8_t)(Q_PAR(me) &gt;&gt; 8);\nuint8_t bmp = (uint8_t)(Q_PAR(me) &gt;&gt; 16);</action>\n       <!--${AOs::Mine2::SM::used::planted::MISSILE_IMG::[BSP_doBitmapsOverlap(MINE2_MISS~}-->\n       <choice target=\"../../../2\">\n        <guard>BSP_doBitmapsOverlap(MINE2_MISSILE_BMP, me-&gt;x, me-&gt;y, bmp, x, y)</guard>\n        <action>/* NOTE: Mine type-2 is nastier than Mine type-1.\n* The type-2 mine can hit the Ship with any of its\n* &quot;tentacles&quot;. However, it can be destroyed by the\n* Missile only by hitting its center, defined as\n* a smaller bitmap MINE2_MISSILE_BMP.\n*/\n/* post the score for destroying Mine type-2 */\nQACTIVE_POST(&amp;AO_Missile, DESTROYED_MINE_SIG, 45);</action>\n        <choice_glyph conn=\"17,43,5,1,22,9,-2\">\n         <action box=\"1,0,26,4\"/>\n        </choice_glyph>\n       </choice>\n       <tran_glyph conn=\"5,43,3,-1,12\">\n        <action box=\"0,-2,11,2\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"5,24,32,24\"/>\n     </state>\n     <!--${AOs::Mine2::SM::used::exploding}-->\n     <state name=\"exploding\">\n      <entry>me-&gt;exp_ctr = 0;</entry>\n      <!--${AOs::Mine2::SM::used::exploding::TIME_TICK}-->\n      <tran trig=\"TIME_TICK\">\n       <!--${AOs::Mine2::SM::used::exploding::TIME_TICK::[(me->x>=GAME_SPEED_X)&&(me->exp~}-->\n       <choice>\n        <guard>(me-&gt;x &gt;= GAME_SPEED_X) &amp;&amp; (me-&gt;exp_ctr &lt; 15)</guard>\n        <action>++me-&gt;exp_ctr; /* advance the explosion counter */\nme-&gt;x -= GAME_SPEED_X; /* move explosion by 1 step */\n\n/* tell the Game to render the current stage of Explosion */\nQACTIVE_POST(&amp;AO_Tunnel, EXPLOSION_SIG,\n         ((EXPLOSION0_BMP + (me-&gt;exp_ctr &gt;&gt; 2)) &lt;&lt; 16)\n         | (me-&gt;x + 1)\n         | (((int)me-&gt;y - 4 + 2)) &lt;&lt; 8);</action>\n        <choice_glyph conn=\"17,57,5,-1,18\">\n         <action box=\"1,0,20,4\"/>\n        </choice_glyph>\n       </choice>\n       <!--${AOs::Mine2::SM::used::exploding::TIME_TICK::[else]}-->\n       <choice target=\"../../../../1\">\n        <guard>else</guard>\n        <choice_glyph conn=\"17,57,4,1,5,34,-54,-20\">\n         <action box=\"1,5,6,2\"/>\n        </choice_glyph>\n       </choice>\n       <tran_glyph conn=\"5,57,3,-1,12\">\n        <action box=\"0,-2,9,2\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"5,50,32,14\">\n       <entry box=\"1,2,5,2\"/>\n      </state_glyph>\n     </state>\n     <state_glyph node=\"3,14,38,52\">\n      <exit box=\"1,2,5,2\"/>\n     </state_glyph>\n    </state>\n    <state_diagram size=\"53,68\"/>\n   </statechart>\n  </class>\n  <!--${AOs::AO_Tunnel}-->\n  <attribute name=\"AO_Tunnel\" type=\"struct Tunnel\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Ship}-->\n  <attribute name=\"AO_Ship\" type=\"struct Ship\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Missile}-->\n  <attribute name=\"AO_Missile\" type=\"struct Missile\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::Tunnel_ctor}-->\n  <operation name=\"Tunnel_ctor\" type=\"void\" visibility=\"0x00\" properties=\"0x01\">\n   <code>uint8_t n;\nTunnel *me = &amp;AO_Tunnel;\nQActive_ctor(&amp;me-&gt;super, Q_STATE_CAST(&amp;Tunnel_initial));\nfor (n = 0; n &lt; GAME_MINES_MAX; ++n) {\n    me-&gt;mine1_pool[n] = Mine1_ctor(n); /* instantiate Mine1 in the pool */\n    me-&gt;mine2_pool[n] = Mine2_ctor(n); /* instantiate Mine2 in the pool */\n    me-&gt;mines[n] = (QHsm *)0;                     /* mine 'n' is unused */\n}\nme-&gt;last_mine_x = 0;   /* the last mine at the right edge of the tunnel */\nme-&gt;last_mine_y = 0;</code>\n  </operation>\n  <!--${AOs::Ship_ctor}-->\n  <operation name=\"Ship_ctor\" type=\"void\" visibility=\"0x00\" properties=\"0x01\">\n   <code>Ship *me = &amp;AO_Ship;\nQActive_ctor(&amp;me-&gt;super, Q_STATE_CAST(&amp;Ship_initial));\nme-&gt;x = GAME_SHIP_X;\nme-&gt;y = (GAME_SHIP_Y &lt;&lt; 2);</code>\n  </operation>\n  <!--${AOs::Missile_ctor}-->\n  <operation name=\"Missile_ctor\" type=\"void\" visibility=\"0x00\" properties=\"0x01\">\n   <!--${AOs::Missile_ctor::speed}-->\n   <parameter name=\"speed\" type=\"uint8_t\"/>\n   <code>Missile *me = &amp;AO_Missile;\nQActive_ctor(&amp;me-&gt;super, Q_STATE_CAST(&amp;Missile_initial));\nme-&gt;speed = speed;</code>\n  </operation>\n  <!--${AOs::Mine1_ctor}-->\n  <operation name=\"Mine1_ctor\" type=\"QHsm *\" visibility=\"0x00\" properties=\"0x01\">\n   <!--${AOs::Mine1_ctor::id}-->\n   <parameter name=\"id\" type=\"uint8_t\"/>\n   <code>Mine1 *me;\nQ_REQUIRE(id &lt; GAME_MINES_MAX);\n\nme = &amp;l_mine1[id];\nQHsm_ctor(&amp;me-&gt;super, Q_STATE_CAST(&amp;Mine1_initial));\nreturn &amp;me-&gt;super;</code>\n  </operation>\n  <!--${AOs::Mine2_ctor}-->\n  <operation name=\"Mine2_ctor\" type=\"QHsm *\" visibility=\"0x00\" properties=\"0x01\">\n   <!--${AOs::Mine2_ctor::id}-->\n   <parameter name=\"id\" type=\"uint8_t\"/>\n   <code>Mine2 *me;\nQ_REQUIRE(id &lt; GAME_MINES_MAX);\n\nme = &amp;l_mine2[id];\nQHsm_ctor(&amp;me-&gt;super, Q_STATE_CAST(&amp;Mine2_initial));\nreturn &amp;me-&gt;super;</code>\n  </operation>\n </package>\n <!--${.}-->\n <directory name=\".\">\n  <!--${.::game.h}-->\n  <file name=\"game.h\">\n   <text>#ifndef GAME_H\n#define GAME_H\n\nenum GameSignals { /* signals used in the game */\n    TIME_TICK_SIG = Q_USER_SIG, /* published from tick ISR */\n    PLAYER_TRIGGER_SIG, /* posted by Player (ISR) to trigger the Missile */\n    PLAYER_QUIT_SIG,  /* posted by Player (ISR) to quit the game */\n    GAME_OVER_SIG,    /* posted by Ship when it finishes exploding */\n    PLAYER_SHIP_MOVE_SIG, /* posted by Player (ISR) to the Ship to move it */\n    TAKE_OFF_SIG,     /* from Tunnel to Ship to grant permission to take off */\n    HIT_WALL_SIG,     /* from Tunnel to Ship when Ship hits the wall */\n    HIT_MINE_SIG,     /* from Mine to Ship or Missile when it hits the mine */\n    SHIP_IMG_SIG,     /* from Ship to the Tunnel to draw and check for hits */\n    MISSILE_IMG_SIG,  /* from Missile the Tunnel to draw and check for hits */\n    MINE_IMG_SIG,     /* posted by Mine to the Tunnel to draw the mine */\n    MISSILE_FIRE_SIG, /* posted by Ship to the Missile to fire */\n    DESTROYED_MINE_SIG, /* from Missile to Ship when Missile destroyed Mine */\n    EXPLOSION_SIG,    /* from any exploding object to render the explosion */\n    MINE_PLANT_SIG,   /* from Tunnel to the Mine to plant it */\n    MINE_DISABLED_SIG,/* from Mine to Tunnel when it becomes disabled */\n    MINE_RECYCLE_SIG, /* posted by Tunnel to Mine to recycle the mine */\n    SCORE_SIG /* from Ship to Tunnel to adjust game level based on score */\n};\n\n/* active objects ..........................................................*/\nextern struct Tunnel  AO_Tunnel;\nextern struct Ship    AO_Ship;\nextern struct Missile AO_Missile;\n\n$declare(AOs::Tunnel_ctor)\n$declare(AOs::Ship_ctor)\n$declare(AOs::Missile_ctor)\n\n/* common constants and shared helper functions ............................*/\n#define GAME_TUNNEL_WIDTH          BSP_SCREEN_WIDTH\n#define GAME_TUNNEL_HEIGHT         (BSP_SCREEN_HEIGHT - 10U)\n#define GAME_MINES_MAX             5U\n#define GAME_MINES_DIST_MIN        10U\n#define GAME_SPEED_X               1U\n#define GAME_MISSILE_SPEED_X       2U\n#define GAME_SHIP_X                10U\n#define GAME_SHIP_Y                (GAME_TUNNEL_HEIGHT / 2U)\n#define GAME_WALLS_GAP_Y           50U\n#define GAME_WALLS_MIN_GAP_Y       20U\n\nenum GameBitmapIds {\n    SHIP_BMP,\n    MISSILE_BMP,\n    MINE1_BMP,\n    MINE2_BMP,\n    MINE2_MISSILE_BMP,\n    EXPLOSION0_BMP,\n    EXPLOSION1_BMP,\n    EXPLOSION2_BMP,\n    EXPLOSION3_BMP,\n    MAX_BMP\n};\n\n/* instantiation of the Mines orthogonal components */\n$declare(AOs::Mine1_ctor)\n$declare(AOs::Mine2_ctor)\n\n#endif  /* GAME_H */\n</text>\n  </file>\n  <!--${.::missile.c}-->\n  <file name=\"missile.c\">\n   <text>#include &quot;qpn.h&quot;\n#include &quot;game.h&quot;\n#include &quot;bsp.h&quot;\n\n/* Q_DEFINE_THIS_MODULE(&quot;missile&quot;) */\n\n/* encapsulated delcaration of the Missile active object -------------------*/\n$declare(AOs::Missile)\n\n/* global objects ----------------------------------------------------------*/\nMissile AO_Missile;\n\n/* Active object definition ------------------------------------------------*/\n$define(AOs::Missile_ctor)\n$define(AOs::Missile)</text>\n  </file>\n  <!--${.::ship.c}-->\n  <file name=\"ship.c\">\n   <text>#include &quot;qpn.h&quot;\n#include &quot;game.h&quot;\n#include &quot;bsp.h&quot;\n\n/* Q_DEFINE_THIS_MODULE(ship) */\n\n#define SHIP_WIDTH  5U\n#define SHIP_HEIGHT 3U\n\n/* encapsulated delcaration of the Ship active object ----------------------*/\n$declare(AOs::Ship)\n\n/* global objects ----------------------------------------------------------*/\nShip AO_Ship;\n\n/* Active object definition ------------------------------------------------*/\n$define(AOs::Ship_ctor)\n$define(AOs::Ship)</text>\n  </file>\n  <!--${.::tunnel.c}-->\n  <file name=\"tunnel.c\">\n   <text>#include &quot;qpn.h&quot;\n#include &quot;game.h&quot;\n#include &quot;bsp.h&quot;\n\nQ_DEFINE_THIS_MODULE(&quot;tunnel&quot;)\n\n/* local objects -----------------------------------------------------------*/\n$declare(AOs::Tunnel)\n\n/* global objects ----------------------------------------------------------*/\nTunnel AO_Tunnel;\n\n/* Active object definition ================================================*/\n$define(AOs::Tunnel_ctor)\n$define(AOs::Tunnel)</text>\n  </file>\n  <!--${.::mine1.c}-->\n  <file name=\"mine1.c\">\n   <text>#include &quot;qpn.h&quot;\n#include &quot;game.h&quot;\n#include &quot;bsp.h&quot;\n\nQ_DEFINE_THIS_MODULE(&quot;mine1&quot;)\n\n/* encapsulated delcaration of the Mine1 HSM -------------------------------*/\n$declare(AOs::Mine1)\n\n/* local objects -----------------------------------------------------------*/\nstatic Mine1 l_mine1[GAME_MINES_MAX]; /* a pool of type-1 mines */\n\n/* helper macro to provide the ID of this mine */\n#define MINE_ID(me_)    ((me_) - l_mine1)\n\n/* Mine1 class definition --------------------------------------------------*/\n$define(AOs::Mine1_ctor)\n$define(AOs::Mine1)</text>\n  </file>\n  <!--${.::mine2.c}-->\n  <file name=\"mine2.c\">\n   <text>#include &quot;qpn.h&quot;\n#include &quot;game.h&quot;\n#include &quot;bsp.h&quot;\n\nQ_DEFINE_THIS_MODULE(&quot;mine2&quot;)\n\n/* encapsulated delcaration of the Mine2 HSM -------------------------------*/\n$declare(AOs::Mine2)\n\n/* local objects -----------------------------------------------------------*/\nstatic Mine2 l_mine2[GAME_MINES_MAX]; /* a pool of type-2 mines */\n\n/* helper macro to provide the ID of this mine */\n#define MINE_ID(me_)    ((me_) - l_mine2)\n\n/* Mine2 class definition --------------------------------------------------*/\n$define(AOs::Mine2_ctor)\n$define(AOs::Mine2)</text>\n  </file>\n </directory>\n</model>\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/main.c",
    "content": "/*****************************************************************************\n* Product: \"Fly 'n' Shoot\" game example\n* Last Updated for Version: 5.8.0\n* Date of the Last Update:  2016-11-06\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"   /* QP-nano */\n#include \"game.h\"  /* Game application */\n#include \"bsp.h\"   /* Board Support Package */\n\n/*..........................................................................*/\nstatic QEvt l_tunnelQueue[GAME_MINES_MAX + 5];\nstatic QEvt l_shipQueue[3];\nstatic QEvt l_missileQueue[3];\n\n/* QF_active[] array defines all active object control blocks --------------*/\nQActiveCB const Q_ROM QF_active[] = {\n    { (QActive *)0,           (QEvt *)0,      0U                    },\n    { (QActive *)&AO_Tunnel,  l_tunnelQueue,  Q_DIM(l_tunnelQueue)  },\n    { (QActive *)&AO_Ship,    l_shipQueue,    Q_DIM(l_shipQueue)    },\n    { (QActive *)&AO_Missile, l_missileQueue, Q_DIM(l_missileQueue) }\n};\n\n/*..........................................................................*/\nint_t main() {\n    Tunnel_ctor();\n    Ship_ctor();\n    Missile_ctor(GAME_MISSILE_SPEED_X);\n\n    QF_init(Q_DIM(QF_active)); /* initialize the QF-nano framework */\n    BSP_init();      /* initialize the Board Support Package */\n\n    return QF_run(); /* transfer control to QF-nano */\n}\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/mine1.c",
    "content": "/*.$file${.::mine1.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: game.qm\n* File:  ${.::mine1.c}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::mine1.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"\n#include \"game.h\"\n#include \"bsp.h\"\n\nQ_DEFINE_THIS_MODULE(\"mine1\")\n\n/* encapsulated delcaration of the Mine1 HSM -------------------------------*/\n/*.$declare${AOs::Mine1} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Mine1} ...........................................................*/\ntypedef struct Mine1 {\n/* protected: */\n    QHsm super;\n\n/* private: */\n    uint8_t x;\n    uint8_t y;\n    uint8_t exp_ctr;\n} Mine1;\n\n/* protected: */\nstatic QState Mine1_initial(Mine1 * const me);\nstatic QState Mine1_unused(Mine1 * const me);\nstatic QState Mine1_used(Mine1 * const me);\nstatic QState Mine1_planted(Mine1 * const me);\nstatic QState Mine1_exploding(Mine1 * const me);\n/*.$enddecl${AOs::Mine1} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* local objects -----------------------------------------------------------*/\nstatic Mine1 l_mine1[GAME_MINES_MAX]; /* a pool of type-1 mines */\n\n/* helper macro to provide the ID of this mine */\n#define MINE_ID(me_)    ((me_) - l_mine1)\n\n/* Mine1 class definition --------------------------------------------------*/\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 650U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.5.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Mine1_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Mine1_ctor} ......................................................*/\nQHsm * Mine1_ctor(uint8_t id) {\n    Mine1 *me;\n    Q_REQUIRE(id < GAME_MINES_MAX);\n\n    me = &l_mine1[id];\n    QHsm_ctor(&me->super, Q_STATE_CAST(&Mine1_initial));\n    return &me->super;\n}\n/*.$enddef${AOs::Mine1_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Mine1} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Mine1} ...........................................................*/\n/*.${AOs::Mine1::SM} .......................................................*/\nstatic QState Mine1_initial(Mine1 * const me) {\n    /*.${AOs::Mine1::SM::initial} */\n    return Q_TRAN(&Mine1_unused);\n}\n/*.${AOs::Mine1::SM::unused} ...............................................*/\nstatic QState Mine1_unused(Mine1 * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Mine1::SM::unused::MINE_PLANT} */\n        case MINE_PLANT_SIG: {\n            me->x = (uint8_t)Q_PAR(me);\n            me->y = (uint8_t)(Q_PAR(me) >> 8);\n            status_ = Q_TRAN(&Mine1_planted);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Mine1::SM::used} .................................................*/\nstatic QState Mine1_used(Mine1 * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Mine1::SM::used} */\n        case Q_EXIT_SIG: {\n            /* tell the Tunnel that this mine is becoming disabled */\n            QACTIVE_POST(&AO_Tunnel, MINE_DISABLED_SIG, MINE_ID(me));\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Mine1::SM::used::MINE_RECYCLE} */\n        case MINE_RECYCLE_SIG: {\n            status_ = Q_TRAN(&Mine1_unused);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Mine1::SM::used::planted} ........................................*/\nstatic QState Mine1_planted(Mine1 * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Mine1::SM::used::planted::TIME_TICK} */\n        case TIME_TICK_SIG: {\n            /*.${AOs::Mine1::SM::used::planted::TIME_TICK::[me->x>=GAME_SPEED_X]} */\n            if (me->x >= GAME_SPEED_X) {\n                me->x -= GAME_SPEED_X;  /* move the mine 1 step */\n\n                /* tell the Tunnel to draw the Mine */\n                QACTIVE_POST(&AO_Tunnel, MINE_IMG_SIG,\n                             (MINE1_BMP << 16)\n                             | me->x\n                             | (me->y << 8));\n                status_ = Q_HANDLED();\n            }\n            /*.${AOs::Mine1::SM::used::planted::TIME_TICK::[else]} */\n            else {\n                status_ = Q_TRAN(&Mine1_unused);\n            }\n            break;\n        }\n        /*.${AOs::Mine1::SM::used::planted::SHIP_IMG} */\n        case SHIP_IMG_SIG: {\n            uint8_t x   = (uint8_t)Q_PAR(me);\n            uint8_t y   = (uint8_t)(Q_PAR(me) >> 8);\n            uint8_t bmp = (uint8_t)(Q_PAR(me) >> 16);\n            /*.${AOs::Mine1::SM::used::planted::SHIP_IMG::[BSP_doBitmapsOverlap(MINE1_BMP,~} */\n            if (BSP_doBitmapsOverlap(MINE1_BMP, me->x, me->y, bmp, x, y)) {\n                QACTIVE_POST(&AO_Ship, HIT_MINE_SIG,  1);\n\n                /* go straight to 'disabled' and let the Ship do\n                * the exploding\n                */\n                status_ = Q_TRAN(&Mine1_unused);\n            }\n            else {\n                status_ = Q_UNHANDLED();\n            }\n            break;\n        }\n        /*.${AOs::Mine1::SM::used::planted::MISSILE_IMG} */\n        case MISSILE_IMG_SIG: {\n            uint8_t x   = (uint8_t)Q_PAR(me);\n            uint8_t y   = (uint8_t)(Q_PAR(me) >> 8);\n            uint8_t bmp = (uint8_t)(Q_PAR(me) >> 16);\n            /*.${AOs::Mine1::SM::used::planted::MISSILE_IMG::[BSP_doBitmapsOverlap(MINE1_BMP,~} */\n            if (BSP_doBitmapsOverlap(MINE1_BMP, me->x, me->y, bmp, x, y)) {\n                /* post the score for destroying Mine type-1 */\n                QACTIVE_POST(&AO_Missile, DESTROYED_MINE_SIG, 25);\n                status_ = Q_TRAN(&Mine1_exploding);\n            }\n            else {\n                status_ = Q_UNHANDLED();\n            }\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Mine1_used);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Mine1::SM::used::exploding} ......................................*/\nstatic QState Mine1_exploding(Mine1 * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Mine1::SM::used::exploding} */\n        case Q_ENTRY_SIG: {\n            me->exp_ctr = 0;\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Mine1::SM::used::exploding::TIME_TICK} */\n        case TIME_TICK_SIG: {\n            /*.${AOs::Mine1::SM::used::exploding::TIME_TICK::[(me->x>=GAME_SPEED_X)&&(me->exp~} */\n            if ((me->x >= GAME_SPEED_X) && (me->exp_ctr < 15)) {\n                ++me->exp_ctr;  /* advance the explosion counter */\n                me->x -= GAME_SPEED_X; /* move explosion by 1 step */\n\n                /* tell the Game to render the current stage of Explosion */\n                QACTIVE_POST(&AO_Tunnel, EXPLOSION_SIG,\n                         ((EXPLOSION0_BMP + (me->exp_ctr >> 2)) << 16)\n                         | (me->x + 1)\n                         | (((int)me->y - 4 + 2)) << 8);\n                status_ = Q_HANDLED();\n            }\n            /*.${AOs::Mine1::SM::used::exploding::TIME_TICK::[else]} */\n            else {\n                status_ = Q_TRAN(&Mine1_unused);\n            }\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Mine1_used);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${AOs::Mine1} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/mine2.c",
    "content": "/*.$file${.::mine2.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: game.qm\n* File:  ${.::mine2.c}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::mine2.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"\n#include \"game.h\"\n#include \"bsp.h\"\n\nQ_DEFINE_THIS_MODULE(\"mine2\")\n\n/* encapsulated delcaration of the Mine2 HSM -------------------------------*/\n/*.$declare${AOs::Mine2} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Mine2} ...........................................................*/\ntypedef struct Mine2 {\n/* protected: */\n    QHsm super;\n\n/* private: */\n    uint8_t x;\n    uint8_t y;\n    uint8_t exp_ctr;\n} Mine2;\n\n/* protected: */\nstatic QState Mine2_initial(Mine2 * const me);\nstatic QState Mine2_unused(Mine2 * const me);\nstatic QState Mine2_used(Mine2 * const me);\nstatic QState Mine2_planted(Mine2 * const me);\nstatic QState Mine2_exploding(Mine2 * const me);\n/*.$enddecl${AOs::Mine2} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* local objects -----------------------------------------------------------*/\nstatic Mine2 l_mine2[GAME_MINES_MAX]; /* a pool of type-2 mines */\n\n/* helper macro to provide the ID of this mine */\n#define MINE_ID(me_)    ((me_) - l_mine2)\n\n/* Mine2 class definition --------------------------------------------------*/\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 650U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.5.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Mine2_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Mine2_ctor} ......................................................*/\nQHsm * Mine2_ctor(uint8_t id) {\n    Mine2 *me;\n    Q_REQUIRE(id < GAME_MINES_MAX);\n\n    me = &l_mine2[id];\n    QHsm_ctor(&me->super, Q_STATE_CAST(&Mine2_initial));\n    return &me->super;\n}\n/*.$enddef${AOs::Mine2_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Mine2} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Mine2} ...........................................................*/\n/*.${AOs::Mine2::SM} .......................................................*/\nstatic QState Mine2_initial(Mine2 * const me) {\n    /*.${AOs::Mine2::SM::initial} */\n    return Q_TRAN(&Mine2_unused);\n}\n/*.${AOs::Mine2::SM::unused} ...............................................*/\nstatic QState Mine2_unused(Mine2 * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Mine2::SM::unused::MINE_PLANT} */\n        case MINE_PLANT_SIG: {\n            me->x = (uint8_t)Q_PAR(me);\n            me->y = (uint8_t)(Q_PAR(me) >> 8);\n            status_ = Q_TRAN(&Mine2_planted);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Mine2::SM::used} .................................................*/\nstatic QState Mine2_used(Mine2 * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Mine2::SM::used} */\n        case Q_EXIT_SIG: {\n            /* tell the Tunnel that this mine is becoming disabled */\n            QACTIVE_POST(&AO_Tunnel, MINE_DISABLED_SIG, MINE_ID(me));\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Mine2::SM::used::MINE_RECYCLE} */\n        case MINE_RECYCLE_SIG: {\n            status_ = Q_TRAN(&Mine2_unused);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Mine2::SM::used::planted} ........................................*/\nstatic QState Mine2_planted(Mine2 * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Mine2::SM::used::planted::TIME_TICK} */\n        case TIME_TICK_SIG: {\n            /*.${AOs::Mine2::SM::used::planted::TIME_TICK::[me->x>=GAME_SPEED_X]} */\n            if (me->x >= GAME_SPEED_X) {\n                me->x -= GAME_SPEED_X;              /* move the mine 1 step */\n\n                /* tell the Tunnel to draw the Mine */\n                QACTIVE_POST(&AO_Tunnel, MINE_IMG_SIG,\n                             (MINE2_BMP << 16)\n                             | me->x\n                             | (me->y << 8));\n                status_ = Q_HANDLED();\n            }\n            /*.${AOs::Mine2::SM::used::planted::TIME_TICK::[else]} */\n            else {\n                status_ = Q_TRAN(&Mine2_unused);\n            }\n            break;\n        }\n        /*.${AOs::Mine2::SM::used::planted::SHIP_IMG} */\n        case SHIP_IMG_SIG: {\n            uint8_t x   = (uint8_t)Q_PAR(me);\n            uint8_t y   = (uint8_t)(Q_PAR(me) >> 8);\n            uint8_t bmp = (uint8_t)(Q_PAR(me) >> 16);\n            /*.${AOs::Mine2::SM::used::planted::SHIP_IMG::[BSP_doBitmapsOverlap(MINE2_BMP,~} */\n            if (BSP_doBitmapsOverlap(MINE2_BMP, me->x, me->y, bmp, x, y)) {\n                QACTIVE_POST(&AO_Ship, HIT_MINE_SIG,  2);\n                /* go straight to 'disabled' and let the Ship do the exploding */\n                status_ = Q_TRAN(&Mine2_unused);\n            }\n            else {\n                status_ = Q_UNHANDLED();\n            }\n            break;\n        }\n        /*.${AOs::Mine2::SM::used::planted::MISSILE_IMG} */\n        case MISSILE_IMG_SIG: {\n            uint8_t x   = (uint8_t)Q_PAR(me);\n            uint8_t y   = (uint8_t)(Q_PAR(me) >> 8);\n            uint8_t bmp = (uint8_t)(Q_PAR(me) >> 16);\n            /*.${AOs::Mine2::SM::used::planted::MISSILE_IMG::[BSP_doBitmapsOverlap(MINE2_MISS~} */\n            if (BSP_doBitmapsOverlap(MINE2_MISSILE_BMP, me->x, me->y, bmp, x, y)) {\n                /* NOTE: Mine type-2 is nastier than Mine type-1.\n                * The type-2 mine can hit the Ship with any of its\n                * \"tentacles\". However, it can be destroyed by the\n                * Missile only by hitting its center, defined as\n                * a smaller bitmap MINE2_MISSILE_BMP.\n                */\n                /* post the score for destroying Mine type-2 */\n                QACTIVE_POST(&AO_Missile, DESTROYED_MINE_SIG, 45);\n                status_ = Q_TRAN(&Mine2_exploding);\n            }\n            else {\n                status_ = Q_UNHANDLED();\n            }\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Mine2_used);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Mine2::SM::used::exploding} ......................................*/\nstatic QState Mine2_exploding(Mine2 * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Mine2::SM::used::exploding} */\n        case Q_ENTRY_SIG: {\n            me->exp_ctr = 0;\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Mine2::SM::used::exploding::TIME_TICK} */\n        case TIME_TICK_SIG: {\n            /*.${AOs::Mine2::SM::used::exploding::TIME_TICK::[(me->x>=GAME_SPEED_X)&&(me->exp~} */\n            if ((me->x >= GAME_SPEED_X) && (me->exp_ctr < 15)) {\n                ++me->exp_ctr; /* advance the explosion counter */\n                me->x -= GAME_SPEED_X; /* move explosion by 1 step */\n\n                /* tell the Game to render the current stage of Explosion */\n                QACTIVE_POST(&AO_Tunnel, EXPLOSION_SIG,\n                         ((EXPLOSION0_BMP + (me->exp_ctr >> 2)) << 16)\n                         | (me->x + 1)\n                         | (((int)me->y - 4 + 2)) << 8);\n                status_ = Q_HANDLED();\n            }\n            /*.${AOs::Mine2::SM::used::exploding::TIME_TICK::[else]} */\n            else {\n                status_ = Q_TRAN(&Mine2_unused);\n            }\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Mine2_used);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${AOs::Mine2} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/missile.c",
    "content": "/*.$file${.::missile.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: game.qm\n* File:  ${.::missile.c}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::missile.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"\n#include \"game.h\"\n#include \"bsp.h\"\n\n/* Q_DEFINE_THIS_MODULE(\"missile\") */\n\n/* encapsulated delcaration of the Missile active object -------------------*/\n/*.$declare${AOs::Missile} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Missile} .........................................................*/\ntypedef struct Missile {\n/* protected: */\n    QActive super;\n\n/* private: */\n    uint8_t x;\n    uint8_t y;\n    uint8_t exp_ctr;\n\n/* public: */\n    uint8_t speed;\n} Missile;\n\n/* protected: */\nstatic QState Missile_initial(Missile * const me);\nstatic QState Missile_armed(Missile * const me);\nstatic QState Missile_flying(Missile * const me);\nstatic QState Missile_exploding(Missile * const me);\n/*.$enddecl${AOs::Missile} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* global objects ----------------------------------------------------------*/\nMissile AO_Missile;\n\n/* Active object definition ------------------------------------------------*/\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 650U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.5.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Missile_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Missile_ctor} ....................................................*/\nvoid Missile_ctor(uint8_t speed) {\n    Missile *me = &AO_Missile;\n    QActive_ctor(&me->super, Q_STATE_CAST(&Missile_initial));\n    me->speed = speed;\n}\n/*.$enddef${AOs::Missile_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Missile} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Missile} .........................................................*/\n/*.${AOs::Missile::SM} .....................................................*/\nstatic QState Missile_initial(Missile * const me) {\n    /*.${AOs::Missile::SM::initial} */\n    return Q_TRAN(&Missile_armed);\n}\n/*.${AOs::Missile::SM::armed} ..............................................*/\nstatic QState Missile_armed(Missile * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Missile::SM::armed::MISSILE_FIRE} */\n        case MISSILE_FIRE_SIG: {\n            me->x = (uint8_t)Q_PAR(me); /* init position from the Ship */\n            me->y = (uint8_t)(Q_PAR(me) >> 8);\n            status_ = Q_TRAN(&Missile_flying);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Missile::SM::flying} .............................................*/\nstatic QState Missile_flying(Missile * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Missile::SM::flying::TIME_TICK} */\n        case TIME_TICK_SIG: {\n            /*.${AOs::Missile::SM::flying::TIME_TICK::[me->x+GAME_MISSILE_SPEED_X<GAME~} */\n            if (me->x + GAME_MISSILE_SPEED_X < GAME_TUNNEL_WIDTH) {\n                me->x += me->speed;\n                /*tell the Tunnel to draw the Missile and test for wall hits*/\n                QACTIVE_POST(&AO_Tunnel, MISSILE_IMG_SIG,\n                             (MISSILE_BMP << 16)\n                             | me->x\n                             | (me->y << 8));\n                status_ = Q_HANDLED();\n            }\n            /*.${AOs::Missile::SM::flying::TIME_TICK::[else]} */\n            else {\n                status_ = Q_TRAN(&Missile_armed);\n            }\n            break;\n        }\n        /*.${AOs::Missile::SM::flying::HIT_WALL} */\n        case HIT_WALL_SIG: {\n            status_ = Q_TRAN(&Missile_exploding);\n            break;\n        }\n        /*.${AOs::Missile::SM::flying::DESTROYED_MINE} */\n        case DESTROYED_MINE_SIG: {\n            /* tell the Ship the score for destroing this Mine */\n            QACTIVE_POST(&AO_Ship, Q_SIG(me), Q_PAR(me));\n            /* re-arm immediately & let the destroyed Mine do the exploding */\n            status_ = Q_TRAN(&Missile_armed);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Missile::SM::exploding} ..........................................*/\nstatic QState Missile_exploding(Missile * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Missile::SM::exploding} */\n        case Q_ENTRY_SIG: {\n            me->exp_ctr = 0;\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Missile::SM::exploding::TIME_TICK} */\n        case TIME_TICK_SIG: {\n            /*.${AOs::Missile::SM::exploding::TIME_TICK::[(me->x>=GAME_SPEED_X)&&(me->exp~} */\n            if ((me->x >= GAME_SPEED_X) && (me->exp_ctr < 15)) {\n                ++me->exp_ctr;             /* advance the explosion counter */\n                me->x -= me->speed;       /* move the explosion by one step */\n\n                /* tell the Tunnel to render the current stage of Explosion */\n                QACTIVE_POST(&AO_Tunnel, EXPLOSION_SIG,\n                         ((EXPLOSION0_BMP + (me->exp_ctr >> 2)) << 16)\n                         | (me->x + 3)\n                         | ((int)me->y - 4) << 8);\n                status_ = Q_HANDLED();\n            }\n            /*.${AOs::Missile::SM::exploding::TIME_TICK::[else]} */\n            else {\n                /* explosion finished or moved outside the game */\n                status_ = Q_TRAN(&Missile_armed);\n            }\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${AOs::Missile} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/qk/armclang/README.txt",
    "content": "About this Example\n==================\nThis example demonstrates how to use the uVision IDE together with\nthe MDK-ARM toolchain.\n\nuVision Project File\n====================\nThe MDK-ARM uVision project file provided with this example uses\nrelative paths to the QP framework location (includes, port, and\nlibraries. These relative paths must be modified when the project\nis moved to different relative location.\n\n\nAdjusting Stack and Heap Sizes\n==============================\nThe stack and heap sizes are determined in this project by the\ncommand-line options for the ARM assembler (see the Asm tab in\nthe \"Options for Target\" dialog box in uVision). Specifically,\nyou should define symbols: Stack_Size=xxx Heap_Size=yyy, where\nxxx represents a numerical value of stack size and yyy the\nnumerical value of the heap size (for most embedded projects\nyyy should be 0, as the using the heap is not recommended).\n\n\nStartup Code\n============\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\efm32pg1b\\arm\\startup_efm32pg1b.s\n\nThe file startup_efm32pg1b.s provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n  "
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/qk/armclang/game-qk.uvoptx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<ProjectOpt xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_optx.xsd\">\n\n  <SchemaVersion>1.0</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Extensions>\n    <cExt>*.c</cExt>\n    <aExt>*.s*; *.src; *.a*</aExt>\n    <oExt>*.obj; *.o</oExt>\n    <lExt>*.lib</lExt>\n    <tExt>*.txt; *.h; *.inc</tExt>\n    <pExt>*.plm</pExt>\n    <CppX>*.cpp</CppX>\n    <nMigrate>0</nMigrate>\n  </Extensions>\n\n  <DaveTm>\n    <dwLowDateTime>0</dwLowDateTime>\n    <dwHighDateTime>0</dwHighDateTime>\n  </DaveTm>\n\n  <Target>\n    <TargetName>game-dbg</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\dbg\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>1</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>3</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>1</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>3</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>Segger\\JL2CM3.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGUARM</Key>\n          <Name>/</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>JL2CM3</Key>\n          <Name>-U440060969 -O207 -S2 -ZTIFSpeedSel5000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00(\"ARM CoreSight SW-DP\") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO7 -FD20000000 -FC8000 -FN1 -FF0GECKOP2.FLM -FS00 -FL040000 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>UL2CM3(-O207 -S0 -C0 -FO7  -FN1 -FC8000 -FD20000000 -FF0GECKOP2 -FL020000 -FS00 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E2006F4 -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Target>\n    <TargetName>game-rel</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\rel\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>0</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>3</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>1</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>3</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>Segger\\JL2CM3.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>JL2CM3</Key>\n          <Name>-U440060969 -O207 -S2 -ZTIFSpeedSel5000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00(\"ARM CoreSight SW-DP\") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO7 -FD20000000 -FC8000 -FN1 -FF0GECKOP2.FLM -FS00 -FL020000 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGUARM</Key>\n          <Name>/</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E10259B -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>-O207 -S0 -C0 -FO7  -FN1 -FC8000 -FD20000000 -FF0GECKOP2 -FL020000 -FS00 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM)</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Group>\n    <GroupName>Applicatioin</GroupName>\n    <tvExp>0</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>1</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\bsp.c</PathWithFileName>\n      <FilenameWithoutPath>bsp.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>2</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\main.c</PathWithFileName>\n      <FilenameWithoutPath>main.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>3</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\game.h</PathWithFileName>\n      <FilenameWithoutPath>game.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>4</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\include\\qstamp.c</PathWithFileName>\n      <FilenameWithoutPath>qstamp.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>5</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\mine1.c</PathWithFileName>\n      <FilenameWithoutPath>mine1.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>6</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\mine2.c</PathWithFileName>\n      <FilenameWithoutPath>mine2.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>7</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\missile.c</PathWithFileName>\n      <FilenameWithoutPath>missile.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>8</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\ship.c</PathWithFileName>\n      <FilenameWithoutPath>ship.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>9</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\tunnel.c</PathWithFileName>\n      <FilenameWithoutPath>tunnel.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>efm32pg1b</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>10</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_cmu.c</PathWithFileName>\n      <FilenameWithoutPath>em_cmu.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>11</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_emu.c</PathWithFileName>\n      <FilenameWithoutPath>em_emu.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>12</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_gpio.c</PathWithFileName>\n      <FilenameWithoutPath>em_gpio.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>13</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_int.c</PathWithFileName>\n      <FilenameWithoutPath>em_int.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>14</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_rtcc.c</PathWithFileName>\n      <FilenameWithoutPath>em_rtcc.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>15</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_system.c</PathWithFileName>\n      <FilenameWithoutPath>em_system.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>16</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\system_efm32pg1b.c</PathWithFileName>\n      <FilenameWithoutPath>system_efm32pg1b.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>17</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\display_ls013b7dh03.c</PathWithFileName>\n      <FilenameWithoutPath>display_ls013b7dh03.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>18</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\displaypalemlib.c</PathWithFileName>\n      <FilenameWithoutPath>displaypalemlib.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>19</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_prs.c</PathWithFileName>\n      <FilenameWithoutPath>em_prs.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>20</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_usart.c</PathWithFileName>\n      <FilenameWithoutPath>em_usart.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>21</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\udelay.c</PathWithFileName>\n      <FilenameWithoutPath>udelay.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>22</FileNumber>\n      <FileType>2</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\arm\\startup_efm32pg1b.s</PathWithFileName>\n      <FilenameWithoutPath>startup_efm32pg1b.s</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>23</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</PathWithFileName>\n      <FilenameWithoutPath>qepn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>24</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</PathWithFileName>\n      <FilenameWithoutPath>qfn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>25</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qkn\\qkn.c</PathWithFileName>\n      <FilenameWithoutPath>qkn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP_port</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>26</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qfn_port.h</PathWithFileName>\n      <FilenameWithoutPath>qfn_port.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>27</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qkn_port.c</PathWithFileName>\n      <FilenameWithoutPath>qkn_port.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n</ProjectOpt>\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/qk/armclang/game-qk.uvprojx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<Project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_projx.xsd\">\n\n  <SchemaVersion>2.1</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Targets>\n    <Target>\n      <TargetName>game-dbg</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6130001::V6.13.1::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>EFM32PG1B200F256GM48</Device>\n          <Vendor>Silicon Labs</Vendor>\n          <PackID>SiliconLabs.EFM32PG1B_DFP.5.5.0</PackID>\n          <PackURL>https://www.silabs.com/documents/public/cmsis-packs/</PackURL>\n          <Cpu>IRAM(0x20000000,0x00008000) IROM(0x00000000,0x00020000) CPUTYPE(\"Cortex-M4\") FPU2 CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC8000 -FN1 -FF0GECKOP2 -FS00 -FL020000 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:EFM32PG1B200F256GM48$Device\\EFM32PG1B\\Include\\em_device.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:EFM32PG1B200F256GM48$SVD\\EFM32PG1B\\EFM32PG1B200F256GM48.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\dbg\\</OutputDirectory>\n          <OutputName>game-qk</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>1</DebugInformation>\n          <BrowseInformation>1</BrowseInformation>\n          <ListingPath>.\\dbg\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>cmd /c \"del .\\dbg\\qstamp.o\"</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\dbg\\game-qk.bin .\\dbg\\game-qk.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>1</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4096</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3>\"\" ()</Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M4\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>2</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x20000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x20000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>1</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>0</vShortEn>\n            <vShortWch>0</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>EFM32PG1B200F256GM48=1 __FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\efm32pg1b</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile></ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Applicatioin</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>game.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\game.h</FilePath>\n            </File>\n            <File>\n              <FileName>qstamp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\include\\qstamp.c</FilePath>\n            </File>\n            <File>\n              <FileName>mine1.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\mine1.c</FilePath>\n            </File>\n            <File>\n              <FileName>mine2.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\mine2.c</FilePath>\n            </File>\n            <File>\n              <FileName>missile.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\missile.c</FilePath>\n            </File>\n            <File>\n              <FileName>ship.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\ship.c</FilePath>\n            </File>\n            <File>\n              <FileName>tunnel.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\tunnel.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>efm32pg1b</GroupName>\n          <Files>\n            <File>\n              <FileName>em_cmu.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_cmu.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_emu.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_emu.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_gpio.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_gpio.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_int.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_int.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_rtcc.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_rtcc.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_system.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_system.c</FilePath>\n            </File>\n            <File>\n              <FileName>system_efm32pg1b.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\system_efm32pg1b.c</FilePath>\n            </File>\n            <File>\n              <FileName>display_ls013b7dh03.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\display_ls013b7dh03.c</FilePath>\n            </File>\n            <File>\n              <FileName>displaypalemlib.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\displaypalemlib.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_prs.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_prs.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_usart.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_usart.c</FilePath>\n            </File>\n            <File>\n              <FileName>udelay.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\udelay.c</FilePath>\n            </File>\n            <File>\n              <FileName>startup_efm32pg1b.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\arm\\startup_efm32pg1b.s</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qkn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qkn\\qkn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qkn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qkn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n    <Target>\n      <TargetName>game-rel</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6130001::V6.13.1::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>EFM32PG1B200F256GM48</Device>\n          <Vendor>Silicon Labs</Vendor>\n          <PackID>SiliconLabs.EFM32PG1B_DFP.5.5.0</PackID>\n          <PackURL>https://www.silabs.com/documents/public/cmsis-packs/</PackURL>\n          <Cpu>IRAM(0x20000000,0x00008000) IROM(0x00000000,0x00020000) CPUTYPE(\"Cortex-M4\") FPU2 CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC8000 -FN1 -FF0GECKOP2 -FS00 -FL020000 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:EFM32PG1B200F256GM48$Device\\EFM32PG1B\\Include\\em_device.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:EFM32PG1B200F256GM48$SVD\\EFM32PG1B\\EFM32PG1B200F256GM48.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\rel\\</OutputDirectory>\n          <OutputName>game-qk</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>0</DebugInformation>\n          <BrowseInformation>0</BrowseInformation>\n          <ListingPath>.\\rel\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>cmd /c \"del .\\rel\\qstamp.o\"</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\rel\\game-qk.bin .\\rel\\game-qk.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>1</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4096</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3>\"\" ()</Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M4\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>2</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x20000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x20000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>1</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>0</vShortEn>\n            <vShortWch>0</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>NDEBUG EFM32PG1B200F256GM48=1 __FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\efm32pg1b</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile>game-qk.sct</ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Applicatioin</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>game.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\game.h</FilePath>\n            </File>\n            <File>\n              <FileName>qstamp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\include\\qstamp.c</FilePath>\n            </File>\n            <File>\n              <FileName>mine1.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\mine1.c</FilePath>\n            </File>\n            <File>\n              <FileName>mine2.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\mine2.c</FilePath>\n            </File>\n            <File>\n              <FileName>missile.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\missile.c</FilePath>\n            </File>\n            <File>\n              <FileName>ship.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\ship.c</FilePath>\n            </File>\n            <File>\n              <FileName>tunnel.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\tunnel.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>efm32pg1b</GroupName>\n          <Files>\n            <File>\n              <FileName>em_cmu.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_cmu.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_emu.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_emu.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_gpio.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_gpio.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_int.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_int.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_rtcc.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_rtcc.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_system.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_system.c</FilePath>\n            </File>\n            <File>\n              <FileName>system_efm32pg1b.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\system_efm32pg1b.c</FilePath>\n            </File>\n            <File>\n              <FileName>display_ls013b7dh03.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\display_ls013b7dh03.c</FilePath>\n            </File>\n            <File>\n              <FileName>displaypalemlib.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\displaypalemlib.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_prs.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_prs.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_usart.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_usart.c</FilePath>\n            </File>\n            <File>\n              <FileName>udelay.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\udelay.c</FilePath>\n            </File>\n            <File>\n              <FileName>startup_efm32pg1b.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\arm\\startup_efm32pg1b.s</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qkn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qkn\\qkn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qkn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qkn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n  </Targets>\n\n  <RTE>\n    <apis/>\n    <components/>\n    <files/>\n  </RTE>\n\n</Project>\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/qk/bsp.c",
    "content": "/*****************************************************************************\n* Product: \"Fly 'n' Shoot\" game example, EFM32-SLSTK3401A board, QK kernel\n* Last updated for version 5.8.0\n* Last updated on  2016-11-06\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"game.h\"\n#include \"bsp.h\"\n\n#include \"em_device.h\"  /* the device specific header (SiLabs) */\n#include \"em_chip.h\"    /* Chip errata (SiLabs) */\n#include \"em_cmu.h\"     /* Clock Management Unit (SiLabs) */\n#include \"em_gpio.h\"    /* GPIO (SiLabs) */\n#include \"em_usart.h\"   /* USART (SiLabs) */\n#include \"display_ls013b7dh03.h\" /* LS013b7DH03 display (SiLabs/QL) */\n/* add other drivers if necessary... */\n\nQ_DEFINE_THIS_FILE\n\n/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n* Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n* DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n*/\nenum KernelUnawareISRs { /* see NOTE00 */\n    /* ... */\n    MAX_KERNEL_UNAWARE_CMSIS_PRI  /* keep always last */\n};\n/* \"kernel-unaware\" interrupts can't overlap \"kernel-aware\" interrupts */\nQ_ASSERT_COMPILE(MAX_KERNEL_UNAWARE_CMSIS_PRI <= QF_AWARE_ISR_CMSIS_PRI);\n\nenum KernelAwareISRs {\n    GPIO_EVEN_PRIO = QF_AWARE_ISR_CMSIS_PRI, /* see NOTE00 */\n    SYSTICK_PRIO,\n    /* ... */\n    MAX_KERNEL_AWARE_CMSIS_PRI /* keep always last */\n};\n/* \"kernel-aware\" interrupts should not overlap the PendSV priority */\nQ_ASSERT_COMPILE(MAX_KERNEL_AWARE_CMSIS_PRI <= (0xFF >>(8-__NVIC_PRIO_BITS)));\n\n/* ISRs defined in this BSP ------------------------------------------------*/\nvoid SysTick_Handler(void);\nvoid GPIO_EVEN_IRQHandler(void);\nvoid USART0_RX_IRQHandler(void);\n\n/* Local-scope objects -----------------------------------------------------*/\n#define LED_PORT    gpioPortF\n#define LED0_PIN    4\n#define LED1_PIN    5\n\n#define PB_PORT     gpioPortF\n#define PB0_PIN     6\n#define PB1_PIN     7\n\n/* LCD geometry and frame buffer */\nstatic uint32_t l_fb[BSP_SCREEN_HEIGHT + 1][BSP_SCREEN_WIDTH / 32U];\n\n/* the walls buffer */\nstatic uint32_t l_walls[GAME_TUNNEL_HEIGHT + 1][BSP_SCREEN_WIDTH / 32U];\n\nstatic unsigned l_rnd;  /* random seed */\nstatic void paintBits(uint8_t x, uint8_t y, uint8_t const *bits, uint8_t h);\nstatic void paintBitsClear(uint8_t x, uint8_t y,\n                           uint8_t const *bits, uint8_t h);\n\n/* ISRs used in the application ==========================================*/\nvoid SysTick_Handler(void) {\n    QK_ISR_ENTRY();  /* inform QK about entering an ISR */\n\n    QF_tickXISR(0U); /* process time events for rate 0 */\n\n    /* post TIME_TICK events to all interested active objects... */\n    QACTIVE_POST_ISR((QActive *)&AO_Tunnel,  TIME_TICK_SIG, 0);\n    QACTIVE_POST_ISR((QActive *)&AO_Ship,    TIME_TICK_SIG, 0);\n    QACTIVE_POST_ISR((QActive *)&AO_Missile, TIME_TICK_SIG, 0);\n\n    {\n        /* state of the button debouncing, see below */\n        static struct ButtonsDebouncing {\n            uint32_t depressed;\n            uint32_t previous;\n        } buttons = { ~0U, ~0U };\n        uint32_t current;\n        uint32_t tmp;\n\n       /* Perform the debouncing of buttons. The algorithm for debouncing\n       * adapted from the book \"Embedded Systems Dictionary\" by Jack Ganssle\n       * and Michael Barr, page 71.\n       */\n       current = ~GPIO->P[PB_PORT].DIN; /* read PB0 and BP1 */\n       tmp = buttons.depressed; /* save the debounced depressed buttons */\n       buttons.depressed |= (buttons.previous & current); /* set depressed */\n       buttons.depressed &= (buttons.previous | current); /* clear released */\n       buttons.previous   = current; /* update the history */\n       tmp ^= buttons.depressed;     /* changed debounced depressed */\n       if ((tmp & (1U << PB0_PIN)) != 0U) {  /* debounced PB0 state changed? */\n           if ((buttons.depressed & (1U << PB0_PIN)) != 0U) {/*PB0 depressed?*/\n               QACTIVE_POST_ISR((QActive *)&AO_Ship,   PLAYER_TRIGGER_SIG, 0U);\n               QACTIVE_POST_ISR((QActive *)&AO_Tunnel, PLAYER_TRIGGER_SIG, 0U);\n           }\n       }\n    }\n\n    QK_ISR_EXIT();  /* inform QK about exiting an ISR */\n}\n/*..........................................................................*/\nvoid GPIO_EVEN_IRQHandler(void) {\n    QK_ISR_ENTRY(); /* inform QK about entering an ISR */\n    QACTIVE_POST_ISR((QActive *)&AO_Tunnel, TAKE_OFF_SIG, 0U);\n    QK_ISR_EXIT();  /* inform QK about exiting an ISR */\n}\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    /* Chip errata */\n    CHIP_Init();\n\n    /* NOTE: SystemInit() already called from startup_TM4C123GH6PM.s\n    *  but SystemCoreClock needs to be updated\n    */\n    SystemCoreClockUpdate();\n\n    /* configure the FPU usage by choosing one of the options... */\n#if 1\n    /* OPTION 1:\n    * Use the automatic FPU state preservation and the FPU lazy stacking.\n    *\n    * NOTE:\n    * Use the following setting when FPU is used in more than one task or\n    * in any ISRs. This setting is the safest and recommended, but requires\n    * extra stack space and CPU cycles.\n    */\n    FPU->FPCCR |= (1U << FPU_FPCCR_ASPEN_Pos) | (1U << FPU_FPCCR_LSPEN_Pos);\n#else\n    /* OPTION 2:\n    * Do NOT to use the automatic FPU state preservation and\n    * do NOT to use the FPU lazy stacking.\n    *\n    * NOTE:\n    * Use the following setting when FPU is used in ONE task only and not\n    * in any ISR. This setting is very efficient, but if more than one task\n    * (or ISR) start using the FPU, this can lead to corruption of the\n    * FPU registers. This option should be used with CAUTION.\n    */\n    FPU->FPCCR &= ~((1U << FPU_FPCCR_ASPEN_Pos) | (1U << FPU_FPCCR_LSPEN_Pos));\n#endif\n\n    /* enable clock for to the peripherals used by this application... */\n    CMU_ClockEnable(cmuClock_HFPER, true);\n    CMU_ClockEnable(cmuClock_GPIO,  true);\n    CMU_ClockEnable(cmuClock_HFPER, true);\n    CMU_ClockEnable(cmuClock_GPIO,  true);\n\n    /* configure the LEDs */\n    GPIO_PinModeSet(LED_PORT, LED0_PIN, gpioModePushPull, 0);\n    GPIO_PinModeSet(LED_PORT, LED1_PIN, gpioModePushPull, 0);\n    GPIO_PinOutClear(LED_PORT, LED0_PIN);\n    GPIO_PinOutClear(LED_PORT, LED1_PIN);\n\n    /* configure the Buttons */\n    GPIO_PinModeSet(PB_PORT, PB0_PIN, gpioModeInputPull, 1);\n    GPIO_PinModeSet(PB_PORT, PB1_PIN, gpioModeInputPull, 1);\n\n    /* Initialize the DISPLAY driver. */\n    if (!Display_init()) {\n        Q_ERROR();\n    }\n}\n\n/*..........................................................................*/\nvoid BSP_updateScreen(void) {\n    GPIO->P[LED_PORT].DOUT |=  (1U << LED1_PIN);\n    Display_sendPA(&l_fb[0][0], 0, LS013B7DH03_HEIGHT);\n    GPIO->P[LED_PORT].DOUT &= ~(1U << LED1_PIN);\n}\n/*..........................................................................*/\nvoid BSP_clearFB() {\n    uint_fast8_t y;\n    for (y = 0U; y < BSP_SCREEN_HEIGHT; ++y) {\n        l_fb[y][0] = 0U;\n        l_fb[y][1] = 0U;\n        l_fb[y][2] = 0U;\n        l_fb[y][3] = 0U;\n    }\n}\n/*..........................................................................*/\nvoid BSP_clearWalls() {\n    uint_fast8_t y;\n    for (y = 0U; y < GAME_TUNNEL_HEIGHT; ++y) {\n        l_walls[y][0] = 0U;\n        l_walls[y][1] = 0U;\n        l_walls[y][2] = 0U;\n        l_walls[y][3] = 0U;\n    }\n}\n/*..........................................................................*/\nbool BSP_isThrottle(void) { /* is the throttle button depressed? */\n    return (GPIO->P[PB_PORT].DIN & (1U << PB1_PIN)) == 0U;\n}\n/*..........................................................................*/\nvoid BSP_paintString(uint8_t x, uint8_t y, char const *str) {\n    static uint8_t const font5x7[95][7] = {\n        { 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U }, /*   */\n        { 0x04U, 0x04U, 0x04U, 0x04U, 0x00U, 0x00U, 0x04U }, /* ! */\n        { 0x0AU, 0x0AU, 0x0AU, 0x00U, 0x00U, 0x00U, 0x00U }, /* \" */\n        { 0x0AU, 0x0AU, 0x1FU, 0x0AU, 0x1FU, 0x0AU, 0x0AU }, /* # */\n        { 0x04U, 0x1EU, 0x05U, 0x0EU, 0x14U, 0x0FU, 0x04U }, /* $ */\n        { 0x03U, 0x13U, 0x08U, 0x04U, 0x02U, 0x19U, 0x18U }, /* % */\n        { 0x06U, 0x09U, 0x05U, 0x02U, 0x15U, 0x09U, 0x16U }, /* & */\n        { 0x06U, 0x04U, 0x02U, 0x00U, 0x00U, 0x00U, 0x00U }, /* ' */\n        { 0x08U, 0x04U, 0x02U, 0x02U, 0x02U, 0x04U, 0x08U }, /* ( */\n        { 0x02U, 0x04U, 0x08U, 0x08U, 0x08U, 0x04U, 0x02U }, /* ) */\n        { 0x00U, 0x04U, 0x15U, 0x0EU, 0x15U, 0x04U, 0x00U }, /* * */\n        { 0x00U, 0x04U, 0x04U, 0x1FU, 0x04U, 0x04U, 0x00U }, /* + */\n        { 0x00U, 0x00U, 0x00U, 0x00U, 0x06U, 0x04U, 0x02U }, /* , */\n        { 0x00U, 0x00U, 0x00U, 0x1FU, 0x00U, 0x00U, 0x00U }, /* - */\n        { 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x06U, 0x06U }, /* . */\n        { 0x00U, 0x10U, 0x08U, 0x04U, 0x02U, 0x01U, 0x00U }, /* / */\n        { 0x0EU, 0x11U, 0x19U, 0x15U, 0x13U, 0x11U, 0x0EU }, /* 0 */\n        { 0x04U, 0x06U, 0x04U, 0x04U, 0x04U, 0x04U, 0x0EU }, /* 1 */\n        { 0x0EU, 0x11U, 0x10U, 0x08U, 0x04U, 0x02U, 0x1FU }, /* 2 */\n        { 0x1FU, 0x08U, 0x04U, 0x08U, 0x10U, 0x11U, 0x0EU }, /* 3 */\n        { 0x08U, 0x0CU, 0x0AU, 0x09U, 0x1FU, 0x08U, 0x08U }, /* 4 */\n        { 0x1FU, 0x01U, 0x0FU, 0x10U, 0x10U, 0x11U, 0x0EU }, /* 5 */\n        { 0x0CU, 0x02U, 0x01U, 0x0FU, 0x11U, 0x11U, 0x0EU }, /* 6 */\n        { 0x1FU, 0x10U, 0x08U, 0x04U, 0x02U, 0x02U, 0x02U }, /* 7 */\n        { 0x0EU, 0x11U, 0x11U, 0x0EU, 0x11U, 0x11U, 0x0EU }, /* 8 */\n        { 0x0EU, 0x11U, 0x11U, 0x1EU, 0x10U, 0x08U, 0x06U }, /* 9 */\n        { 0x00U, 0x06U, 0x06U, 0x00U, 0x06U, 0x06U, 0x00U }, /* : */\n        { 0x00U, 0x06U, 0x06U, 0x00U, 0x06U, 0x04U, 0x02U }, /* ; */\n        { 0x08U, 0x04U, 0x02U, 0x01U, 0x02U, 0x04U, 0x08U }, /* < */\n        { 0x00U, 0x00U, 0x1FU, 0x00U, 0x1FU, 0x00U, 0x00U }, /* = */\n        { 0x02U, 0x04U, 0x08U, 0x10U, 0x08U, 0x04U, 0x02U }, /* > */\n        { 0x0EU, 0x11U, 0x10U, 0x08U, 0x04U, 0x00U, 0x04U }, /* ? */\n        { 0x0EU, 0x11U, 0x10U, 0x16U, 0x15U, 0x15U, 0x0EU }, /* @ */\n        { 0x0EU, 0x11U, 0x11U, 0x11U, 0x1FU, 0x11U, 0x11U }, /* A */\n        { 0x0FU, 0x11U, 0x11U, 0x0FU, 0x11U, 0x11U, 0x0FU }, /* B */\n        { 0x0EU, 0x11U, 0x01U, 0x01U, 0x01U, 0x11U, 0x0EU }, /* C */\n        { 0x07U, 0x09U, 0x11U, 0x11U, 0x11U, 0x09U, 0x07U }, /* D */\n        { 0x1FU, 0x01U, 0x01U, 0x0FU, 0x01U, 0x01U, 0x1FU }, /* E */\n        { 0x1FU, 0x01U, 0x01U, 0x0FU, 0x01U, 0x01U, 0x01U }, /* F */\n        { 0x0EU, 0x11U, 0x01U, 0x1DU, 0x11U, 0x11U, 0x1EU }, /* G */\n        { 0x11U, 0x11U, 0x11U, 0x1FU, 0x11U, 0x11U, 0x11U }, /* H */\n        { 0x0EU, 0x04U, 0x04U, 0x04U, 0x04U, 0x04U, 0x0EU }, /* I */\n        { 0x1CU, 0x08U, 0x08U, 0x08U, 0x08U, 0x09U, 0x06U }, /* J */\n        { 0x11U, 0x09U, 0x05U, 0x03U, 0x05U, 0x09U, 0x11U }, /* K */\n        { 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, 0x1FU }, /* L */\n        { 0x11U, 0x1BU, 0x15U, 0x15U, 0x11U, 0x11U, 0x11U }, /* M */\n        { 0x11U, 0x11U, 0x13U, 0x15U, 0x19U, 0x11U, 0x11U }, /* N */\n        { 0x0EU, 0x11U, 0x11U, 0x11U, 0x11U, 0x11U, 0x0EU }, /* O */\n        { 0x0FU, 0x11U, 0x11U, 0x0FU, 0x01U, 0x01U, 0x01U }, /* P */\n        { 0x0EU, 0x11U, 0x11U, 0x11U, 0x15U, 0x09U, 0x16U }, /* Q */\n        { 0x0FU, 0x11U, 0x11U, 0x0FU, 0x05U, 0x09U, 0x11U }, /* R */\n        { 0x1EU, 0x01U, 0x01U, 0x0EU, 0x10U, 0x10U, 0x0FU }, /* S */\n        { 0x1FU, 0x04U, 0x04U, 0x04U, 0x04U, 0x04U, 0x04U }, /* T */\n        { 0x11U, 0x11U, 0x11U, 0x11U, 0x11U, 0x11U, 0x0EU }, /* U */\n        { 0x11U, 0x11U, 0x11U, 0x11U, 0x11U, 0x0AU, 0x04U }, /* V */\n        { 0x11U, 0x11U, 0x11U, 0x15U, 0x15U, 0x15U, 0x0AU }, /* W */\n        { 0x11U, 0x11U, 0x0AU, 0x04U, 0x0AU, 0x11U, 0x11U }, /* X */\n        { 0x11U, 0x11U, 0x11U, 0x0AU, 0x04U, 0x04U, 0x04U }, /* Y */\n        { 0x1FU, 0x10U, 0x08U, 0x04U, 0x02U, 0x01U, 0x1FU }, /* Z */\n        { 0x0EU, 0x02U, 0x02U, 0x02U, 0x02U, 0x02U, 0x0EU }, /* [ */\n        { 0x00U, 0x01U, 0x02U, 0x04U, 0x08U, 0x10U, 0x00U }, /* \\ */\n        { 0x0EU, 0x08U, 0x08U, 0x08U, 0x08U, 0x08U, 0x0EU }, /* ] */\n        { 0x04U, 0x0AU, 0x11U, 0x00U, 0x00U, 0x00U, 0x00U }, /* ^ */\n        { 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x1FU }, /* _ */\n        { 0x02U, 0x04U, 0x08U, 0x00U, 0x00U, 0x00U, 0x00U }, /* ` */\n        { 0x00U, 0x00U, 0x0EU, 0x10U, 0x1EU, 0x11U, 0x1EU }, /* a */\n        { 0x01U, 0x01U, 0x0DU, 0x13U, 0x11U, 0x11U, 0x0FU }, /* b */\n        { 0x00U, 0x00U, 0x0EU, 0x01U, 0x01U, 0x11U, 0x0EU }, /* c */\n        { 0x10U, 0x10U, 0x16U, 0x19U, 0x11U, 0x11U, 0x1EU }, /* d */\n        { 0x00U, 0x00U, 0x0EU, 0x11U, 0x1FU, 0x01U, 0x0EU }, /* e */\n        { 0x0CU, 0x12U, 0x02U, 0x07U, 0x02U, 0x02U, 0x02U }, /* f */\n        { 0x00U, 0x1EU, 0x11U, 0x11U, 0x1EU, 0x10U, 0x0EU }, /* g */\n        { 0x01U, 0x01U, 0x0DU, 0x13U, 0x11U, 0x11U, 0x11U }, /* h */\n        { 0x04U, 0x00U, 0x06U, 0x04U, 0x04U, 0x04U, 0x0EU }, /* i */\n        { 0x08U, 0x00U, 0x0CU, 0x08U, 0x08U, 0x09U, 0x06U }, /* j */\n        { 0x01U, 0x01U, 0x09U, 0x05U, 0x03U, 0x05U, 0x09U }, /* k */\n        { 0x06U, 0x04U, 0x04U, 0x04U, 0x04U, 0x04U, 0x0EU }, /* l */\n        { 0x00U, 0x00U, 0x0BU, 0x15U, 0x15U, 0x11U, 0x11U }, /* m */\n        { 0x00U, 0x00U, 0x0DU, 0x13U, 0x11U, 0x11U, 0x11U }, /* n */\n        { 0x00U, 0x00U, 0x0EU, 0x11U, 0x11U, 0x11U, 0x0EU }, /* o */\n        { 0x00U, 0x00U, 0x0FU, 0x11U, 0x0FU, 0x01U, 0x01U }, /* p */\n        { 0x00U, 0x00U, 0x16U, 0x19U, 0x1EU, 0x10U, 0x10U }, /* q */\n        { 0x00U, 0x00U, 0x0DU, 0x13U, 0x01U, 0x01U, 0x01U }, /* r */\n        { 0x00U, 0x00U, 0x0EU, 0x01U, 0x0EU, 0x10U, 0x0FU }, /* s */\n        { 0x02U, 0x02U, 0x07U, 0x02U, 0x02U, 0x12U, 0x0CU }, /* t */\n        { 0x00U, 0x00U, 0x11U, 0x11U, 0x11U, 0x19U, 0x16U }, /* u */\n        { 0x00U, 0x00U, 0x11U, 0x11U, 0x11U, 0x0AU, 0x04U }, /* v */\n        { 0x00U, 0x00U, 0x11U, 0x11U, 0x15U, 0x15U, 0x0AU }, /* w */\n        { 0x00U, 0x00U, 0x11U, 0x0AU, 0x04U, 0x0AU, 0x11U }, /* x */\n        { 0x00U, 0x00U, 0x11U, 0x11U, 0x1EU, 0x10U, 0x0EU }, /* y */\n        { 0x00U, 0x00U, 0x1FU, 0x08U, 0x04U, 0x02U, 0x1FU }, /* z */\n        { 0x08U, 0x04U, 0x04U, 0x02U, 0x04U, 0x04U, 0x08U }, /* { */\n        { 0x04U, 0x04U, 0x04U, 0x04U, 0x04U, 0x04U, 0x04U }, /* | */\n        { 0x02U, 0x04U, 0x04U, 0x08U, 0x04U, 0x04U, 0x02U }, /* } */\n        { 0x02U, 0x15U, 0x08U, 0x00U, 0x00U, 0x00U, 0x00U }, /* ~ */\n    };\n\n    for (; *str != '\\0'; ++str, x += 6) {\n        uint8_t const *ch = &font5x7[*str - ' '][0];\n        paintBitsClear(x, y, ch, 7);\n    }\n}\n\n/*==========================================================================*/\ntypedef struct { /* the auxiliary structure to hold const bitmaps */\n    uint8_t const *bits; /* the bits in the bitmap */\n    uint8_t height;      /* the height of the bitmap */\n} Bitmap;\n\n/* bitmap of the Ship:\n*\n*     x....\n*     xxx..\n*     xxxxx\n*/\nstatic uint8_t const ship_bits[] = {\n    0x01U, 0x07U, 0x1FU\n};\n\n/* bitmap of the Missile:\n*\n*     xxxx\n*/\nstatic uint8_t const missile_bits[] = {\n    0x0FU\n};\n\n/* bitmap of the Mine type-1:\n*\n*     .x.\n*     xxx\n*     .x.\n*/\nstatic uint8_t const mine1_bits[] = {\n    0x02U, 0x07U, 0x02U\n};\n\n/* bitmap of the Mine type-2:\n*\n*     x..x\n*     .xx.\n*     .xx.\n*     x..x\n*/\nstatic uint8_t const mine2_bits[] = {\n    0x09U, 0x06U, 0x06U, 0x09U\n};\n\n/* Mine type-2 is nastier than Mine type-1. The type-2 mine can\n* hit the Ship with any of its \"tentacles\". However, it can be\n* destroyed by the Missile only by hitting its center, defined as\n* the following bitmap:\n*\n*     ....\n*     .xx.\n*     .xx.\n*/\nstatic uint8_t const mine2_missile_bits[] = {\n    0x00U, 0x06U, 0x06U\n};\n\n/*\n* The bitmap of the explosion stage 0:\n*\n*     .......\n*     ...x...\n*     ..x.x..\n*     ...x...\n*/\nstatic uint8_t const explosion0_bits[] = {\n    0x00U, 0x08U, 0x14U, 0x08U\n};\n\n/*\n* The bitmap of the explosion stage 1:\n*\n*     .......\n*     ..x.x..\n*     ...x...\n*     ..x.x..\n*/\nstatic uint8_t const explosion1_bits[] = {\n    0x00U, 0x14U, 0x08U, 0x14U\n};\n\n/*\n* The bitmap of the explosion stage 2:\n*\n*     .x...x.\n*     ..x.x..\n*     ...x...\n*     ..x.x..\n*     .x...x.\n*/\nstatic uint8_t const explosion2_bits[] = {\n    0x11U, 0x0AU, 0x04U, 0x0AU, 0x11U\n};\n\n/*\n* The bitmap of the explosion stage 3:\n*\n*     x..x..x\n*     .x.x.x.\n*     ..x.x..\n*     xx.x.xx\n*     ..x.x..\n*     .x.x.x.\n*     x..x..x\n*/\nstatic uint8_t const explosion3_bits[] = {\n    0x49, 0x2A, 0x14, 0x6B, 0x14, 0x2A, 0x49\n};\n\nstatic Bitmap const l_bitmap[MAX_BMP] = {\n    { ship_bits,       Q_DIM(ship_bits) },\n    { missile_bits,    Q_DIM(missile_bits) },\n    { mine1_bits,      Q_DIM(mine1_bits) },\n    { mine2_bits,      Q_DIM(mine2_bits) },\n    { mine2_missile_bits, Q_DIM(mine2_missile_bits) },\n    { explosion0_bits, Q_DIM(explosion0_bits) },\n    { explosion1_bits, Q_DIM(explosion1_bits) },\n    { explosion2_bits, Q_DIM(explosion2_bits) },\n    { explosion3_bits, Q_DIM(explosion3_bits) }\n};\n\n/*..........................................................................*/\nvoid BSP_paintBitmap(uint8_t x, uint8_t y, uint8_t bmp_id) {\n    Bitmap const *bmp = &l_bitmap[bmp_id];\n    paintBits(x, y, bmp->bits, bmp->height);\n}\n/*..........................................................................*/\nvoid BSP_advanceWalls(uint8_t top, uint8_t bottom) {\n    uint_fast8_t y;\n    for (y = 0U; y < GAME_TUNNEL_HEIGHT; ++y) {\n        /* shift the walls one pixel to the left */\n        l_walls[y][0] = (l_walls[y][0] >> 1) | (l_walls[y][1] << 31);\n        l_walls[y][1] = (l_walls[y][1] >> 1) | (l_walls[y][2] << 31);\n        l_walls[y][2] = (l_walls[y][2] >> 1) | (l_walls[y][3] << 31);\n        l_walls[y][3] = (l_walls[y][3] >> 1);\n\n        /* add new column of walls at the end */\n        if (y <= top) {\n            l_walls[y][3] |= (1U << 31);\n        }\n        if (y >= (GAME_TUNNEL_HEIGHT - bottom)) {\n            l_walls[y][3] |= (1U << 31);\n        }\n\n        /* copy the walls to the frame buffer */\n        l_fb[y][0] = l_walls[y][0];\n        l_fb[y][1] = l_walls[y][1];\n        l_fb[y][2] = l_walls[y][2];\n        l_fb[y][3] = l_walls[y][3];\n    }\n}\n/*..........................................................................*/\nbool BSP_doBitmapsOverlap(uint8_t bmp_id1, uint8_t x1, uint8_t y1,\n                          uint8_t bmp_id2, uint8_t x2, uint8_t y2)\n{\n    uint8_t y;\n    uint8_t y0;\n    uint8_t h;\n    uint32_t bits1;\n    uint32_t bits2;\n    Bitmap const *bmp1;\n    Bitmap const *bmp2;\n\n    Q_REQUIRE((bmp_id1 < Q_DIM(l_bitmap)) && (bmp_id2 < Q_DIM(l_bitmap)));\n\n    /* are the bitmaps close enough in x? */\n    if (x1 >= x2) {\n        if (x1 > x2 + 8U) {\n            return false;\n        }\n        x1 -= x2;\n        x2 = 0U;\n    }\n    else {\n        if (x2 > x1 + 8U) {\n            return false;\n        }\n        x2 -= x1;\n        x1 = 0U;\n    }\n\n    bmp1 = &l_bitmap[bmp_id1];\n    bmp2 = &l_bitmap[bmp_id2];\n    if ((y1 <= y2) && (y1 + bmp1->height > y2)) {\n        y0 = y2 - y1;\n        h = y1 + bmp1->height - y2;\n        if (h > bmp2->height) {\n            h = bmp2->height;\n        }\n        for (y = 0; y < h; ++y) { /* scan over the overlapping rows */\n            bits1 = ((uint32_t)bmp1->bits[y + y0] << x1);\n            bits2 = ((uint32_t)bmp2->bits[y] << x2);\n            if ((bits1 & bits2) != 0U) { /* do the bits overlap? */\n                return true; /* yes! */\n            }\n        }\n    }\n    else {\n        if ((y1 > y2) && (y2 + bmp2->height > y1)) {\n            y0 = y1 - y2;\n            h = y2 + bmp2->height - y1;\n            if (h > bmp1->height) {\n                h = bmp1->height;\n            }\n            for (y = 0; y < h; ++y) {  /* scan over the overlapping rows */\n                bits1 = ((uint32_t)bmp1->bits[y] << x1);\n                bits2 = ((uint32_t)bmp2->bits[y + y0] << x2);\n                if ((bits1 & bits2) != 0U) { /* do the bits overlap? */\n                                       return true; /* yes! */\n                }\n            }\n        }\n    }\n    return false; /* the bitmaps do not overlap */\n}\n/*..........................................................................*/\nbool BSP_isWallHit(uint8_t bmp_id, uint8_t x, uint8_t y) {\n    Bitmap const *bmp = &l_bitmap[bmp_id];\n    uint32_t shft = (x & 0x1FU);\n    uint32_t *walls = &l_walls[y][x >> 5];\n    for (y = 0; y < bmp->height; ++y, walls += (BSP_SCREEN_WIDTH >> 5)) {\n        if (*walls & ((uint32_t)bmp->bits[y] << shft)) {\n            return true;\n        }\n        if (shft > 24U) {\n            if (*(walls + 1) & ((uint32_t)bmp->bits[y] >> (32U - shft))) {\n                return true;\n            }\n        }\n    }\n    return false;\n}\n\n/*..........................................................................*/\nvoid BSP_updateScore(uint16_t score) {\n    char str[5];\n    uint16_t s = score;\n\n    if (score == 0U) {\n        BSP_paintString(1U, BSP_SCREEN_HEIGHT - 8U, \"SCORE:\");\n    }\n\n    /* update the SCORE area on the screeen */\n    str[4] = '\\0';\n    str[3] = (s % 10U) + '0'; s /= 10U;\n    str[2] = (s % 10U) + '0'; s /= 10U;\n    str[1] = (s % 10U) + '0'; s /= 10U;\n    str[0] = (s % 10U) + '0';\n    BSP_paintString(6U*6U, BSP_SCREEN_HEIGHT - 8U, str);\n}\n/*..........................................................................*/\nvoid BSP_displayOn(void) {\n    Display_enable(true);\n}\n/*..........................................................................*/\nvoid BSP_displayOff(void) {\n    Display_enable(false);\n}\n/*..........................................................................*/\nuint32_t BSP_random(void) {  /* a very cheap pseudo-random-number generator */\n    /* \"Super-Duper\" Linear Congruential Generator (LCG)\n    * LCG(2^32, 3*7*11*13*23, 0, seed)\n    */\n    l_rnd = l_rnd * (3U*7U*11U*13U*23U);\n    return l_rnd >> 8;\n}\n/*..........................................................................*/\nvoid BSP_randomSeed(uint32_t seed) {\n    l_rnd = seed;\n}\n\n/*--------------------------------------------------------------------------*/\n/*..........................................................................*/\nstatic void paintBits(uint8_t x, uint8_t y, uint8_t const *bits, uint8_t h) {\n    uint32_t *fb = &l_fb[y][x >> 5];\n    uint32_t shft = (x & 0x1FU);\n    for (y = 0; y < h; ++y, fb += (BSP_SCREEN_WIDTH >> 5)) {\n        *fb |= ((uint32_t)bits[y] << shft);\n        if (shft > 24U) {\n            *(fb + 1) |= ((uint32_t)bits[y] >> (32U - shft));\n        }\n    }\n}\n/*..........................................................................*/\nstatic void paintBitsClear(uint8_t x, uint8_t y,\n                           uint8_t const *bits, uint8_t h)\n{\n    uint32_t *fb = &l_fb[y][x >> 5];\n    uint32_t shft = (x & 0x1FU);\n    uint32_t mask1 = ~((uint32_t)0xFFU << shft);\n    uint32_t mask2;\n    if (shft > 24U) {\n        mask2 = ~(0xFFU >> (32U - shft));\n    }\n    for (y = 0; y < h; ++y, fb += (BSP_SCREEN_WIDTH >> 5)) {\n        *fb = ((*fb & mask1) | ((uint32_t)bits[y] << shft));\n        if (shft > 24U) {\n            *(fb + 1) = ((*(fb + 1) & mask2)\n                | ((uint32_t)bits[y] >> (32U - shft)));\n        }\n    }\n}\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    /* set up the SysTick timer to fire at BSP_TICKS_PER_SEC rate */\n    SysTick_Config(SystemCoreClock / BSP_TICKS_PER_SEC);\n\n    /* assing all priority bits for preemption-prio. and none to sub-prio. */\n    NVIC_SetPriorityGrouping(0U);\n\n    /* set priorities of ALL ISRs used in the system, see NOTE00\n    *\n    * !!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n    * Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n    * DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n    */\n    NVIC_SetPriority(SysTick_IRQn,   SYSTICK_PRIO);\n    NVIC_SetPriority(GPIO_EVEN_IRQn, GPIO_EVEN_PRIO);\n    /* ... */\n\n    /* enable IRQs... */\n    NVIC_EnableIRQ(GPIO_EVEN_IRQn);\n}\n/*..........................................................................*/\nvoid QF_stop(void) {\n}\n/*..........................................................................*/\nvoid QK_onIdle(void) {\n    /* toggle the User LED on and then off, see NOTE01 */\n    QF_INT_DISABLE();\n    GPIO->P[LED_PORT].DOUT |=  (1U << LED1_PIN);\n    GPIO->P[LED_PORT].DOUT &= ~(1U << LED1_PIN);\n    QF_INT_ENABLE();\n\n#ifdef NDEBUG\n    /* Put the CPU and peripherals to the low-power mode.\n    * you might need to customize the clock management for your application,\n    * see the datasheet for your particular Cortex-M3 MCU.\n    */\n    __WFI(); /* Wait-For-Interrupt */\n#endif\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const module, int loc) {\n    /*\n    * NOTE: add here your application-specific error handling\n    */\n    (void)module;\n    (void)loc;\n\n#ifndef NDEBUG\n    /* light up both LEDs */\n    GPIO->P[LED_PORT].DOUT |= ((1U << LED0_PIN) | (1U << LED1_PIN));\n    /* for debugging, hang on in an endless loop until PB1 is pressed... */\n    while ((GPIO->P[PB_PORT].DIN & (1U << PB1_PIN)) != 0) {\n    }\n#endif\n\n    NVIC_SystemReset();\n}\n\n/*****************************************************************************\n* NOTE00:\n* The QF_AWARE_ISR_CMSIS_PRI constant from the QF port specifies the highest\n* ISR priority that is disabled by the QF framework. The value is suitable\n* for the NVIC_SetPriority() CMSIS function.\n*\n* Only ISRs prioritized at or below the QF_AWARE_ISR_CMSIS_PRI level (i.e.,\n* with the numerical values of priorities equal or higher than\n* QF_AWARE_ISR_CMSIS_PRI) are allowed to call the QK_ISR_ENTRY/QK_ISR_ENTRY\n* macros or any other QF/QK  services. These ISRs are \"QF-aware\".\n*\n* Conversely, any ISRs prioritized above the QF_AWARE_ISR_CMSIS_PRI priority\n* level (i.e., with the numerical values of priorities less than\n* QF_AWARE_ISR_CMSIS_PRI) are never disabled and are not aware of the kernel.\n* Such \"QF-unaware\" ISRs cannot call any QF/QK services. In particular they\n* can NOT call the macros QK_ISR_ENTRY/QK_ISR_ENTRY. The only mechanism\n* by which a \"QF-unaware\" ISR can communicate with the QF framework is by\n* triggering a \"QF-aware\" ISR, which can post/publish events.\n*\n* NOTE01:\n* The User LED is used to visualize the idle loop activity. The brightness\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/qk/gnu/Makefile",
    "content": "##############################################################################\n# Product: Makefile for QP-nano on EMF32-SLSTK3401A, QK-nano kernel, GNU-ARM\n# Last Updated for Version: 6.5.0\n# Date of the Last Update:  2019-04-15\n#\n#                    Q u a n t u m  L e a P s\n#                    ------------------------\n#                    Modern Embedded Software\n#\n# Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# https://www.state-machine.com\n# mailto:info@state-machine.com\n##############################################################################\n# examples of invoking this Makefile:\n# building configurations: Debug (default), Release, and Spy\n# make\n# make CONF=rel\n#\n# cleaning configurations: Debug (default), Release, and Spy\n# make clean\n# make CONF=rel clean\n#\n# NOTE:\n# To use this Makefile on Windows, you will need the GNU make utility, which\n# is included in the Qtools collection for Windows, see:\n#    http://sourceforge.net/projects/qpc/files/Qtools/\n#\n\n#-----------------------------------------------------------------------------\n# project name\n#\nPROJECT     := game-qk\n\n#-----------------------------------------------------------------------------\n# project directories\n#\n\n# location of the QP-nano framework (if not provided in an environemnt var.)\nifeq ($(QPN),)\nQPN := ../../../../..\nendif\n\n# QP port used in this project\nQP_PORT_DIR := $(QPN)/ports/arm-cm/qk/gnu\n\n# list of all source directories used by this project\nVPATH = \\\n\t.. \\\n\t../.. \\\n\t$(QPN)/src/qfn \\\n\t$(QPN)/src/qkn \\\n\t$(QP_PORT_DIR) \\\n\t$(QPN)/3rd_party/efm32pg1b \\\n\t$(QPN)/3rd_party/efm32pg1b/gnu\n\n# list of all include directories needed by this project\nINCLUDES  = \\\n\t-I../.. \\\n\t-I$(QPN)/include \\\n\t-I$(QP_PORT_DIR) \\\n\t-I$(QPN)/3rd_party/CMSIS/Include \\\n\t-I$(QPN)/3rd_party/efm32pg1b\n\n#-----------------------------------------------------------------------------\n# files\n#\n\n# assembler source files\nASM_SRCS :=\n\n# C source files\nC_SRCS := \\\n\tbsp.c \\\n\tmain.c \\\n\tmine1.c \\\n\tmine2.c \\\n\tmissile.c \\\n\tship.c \\\n\ttunnel.c \\\n\tstartup_efm32pg1b.c \\\n\tsystem_efm32pg1b.c \\\n\tem_cmu.c \\\n\tem_emu.c \\\n\tem_gpio.c \\\n\tem_int.c \\\n\tem_prs.c \\\n\tem_rtcc.c \\\n\tem_system.c \\\n\tem_usart.c \\\n\tudelay.c \\\n\tdisplay_ls013b7dh03.c \\\n\tdisplaypalemlib.c\n\n# C++ source files\nCPP_SRCS :=\n\nOUTPUT    := $(PROJECT)\nLD_SCRIPT := $(PROJECT).ld\n\nQP_SRCS := \\\n\tqepn.c \\\n\tqfn.c \\\n\tqkn.c \\\n\tqkn_port.c\n\nQP_ASMS :=\n\nLIB_DIRS  :=\nLIBS      :=\n\n# defines\nDEFINES   := -DEFM32PG1B200F256GM48=1\n\n# ARM CPU, ARCH, FPU, and Float-ABI types...\n# ARM_CPU:   [cortex-m0 | cortex-m0plus | cortex-m1 | cortex-m3 | cortex-m4]\n# ARM_ARCH:  [6 | 7] (NOTE: must match ARM_CPU!)\n# ARM_FPU:   [ | vfp]\n# FLOAT_ABI: [ | soft | softfp | hard]\n#\nARM_CPU   := -mcpu=cortex-m4\nARM_ARCH  := 7   # NOTE: must match the ARM_CPU!\nARM_FPU   := -mfpu=vfp\nFLOAT_ABI := -mfloat-abi=softfp\n\n#-----------------------------------------------------------------------------\n# GNU-ARM toolset (NOTE: You need to adjust to your machine)\n# see https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads\n#\nifeq ($(GNU_ARM),)\nGNU_ARM := $(QTOOLS)/gnu_arm-none-eabi\nendif\n\n# make sure that the GNU-ARM toolset exists...\nifeq (\"$(wildcard $(GNU_ARM))\",\"\")\n$(error GNU_ARM toolset not found. Please adjust the Makefile)\nendif\n\nCC    := $(GNU_ARM)/bin/arm-none-eabi-gcc\nCPP   := $(GNU_ARM)/bin/arm-none-eabi-g++\nAS    := $(GNU_ARM)/bin/arm-none-eabi-as\nLINK  := $(GNU_ARM)/bin/arm-none-eabi-g++\nBIN   := $(GNU_ARM)/bin/arm-none-eabi-objcopy\n\n\n##############################################################################\n# Typically, you should not need to change anything below this line\n\n# basic utilities (included in Qtools for Windows), see:\n#    http://sourceforge.net/projects/qpc/files/Qtools\n\nMKDIR := mkdir\nRM    := rm\n\n#-----------------------------------------------------------------------------\n# build options for various configurations for ARM Cortex-M\n#\n\n# combine all the soruces...\nC_SRCS += $(QP_SRCS)\nASM_SRCS += $(QP_ASMS)\n\nifeq (rel, $(CONF)) # Release configuration ..................................\n\nBIN_DIR := rel\n\nASFLAGS = $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O1 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nCPPFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O1 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nelse # default Debug configuration ..........................................\n\nBIN_DIR := dbg\n\nASFLAGS = -g $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O $(INCLUDES) $(DEFINES)\n\nCPPFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O $(INCLUDES) $(DEFINES)\n\nendif # ......................................................................\n\n\nLINKFLAGS = -T$(LD_SCRIPT) $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb \\\n\t-specs=nosys.specs -specs=nano.specs \\\n\t-Wl,-Map,$(BIN_DIR)/$(OUTPUT).map,--cref,--gc-sections $(LIB_DIRS)\n\n\nASM_OBJS     := $(patsubst %.s,%.o,  $(notdir $(ASM_SRCS)))\nC_OBJS       := $(patsubst %.c,%.o,  $(notdir $(C_SRCS)))\nCPP_OBJS     := $(patsubst %.cpp,%.o,$(notdir $(CPP_SRCS)))\n\nTARGET_BIN   := $(BIN_DIR)/$(OUTPUT).bin\nTARGET_ELF   := $(BIN_DIR)/$(OUTPUT).elf\nASM_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(ASM_OBJS))\nC_OBJS_EXT   := $(addprefix $(BIN_DIR)/, $(C_OBJS))\nC_DEPS_EXT   := $(patsubst %.o, %.d, $(C_OBJS_EXT))\nCPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))\nCPP_DEPS_EXT := $(patsubst %.o, %.d, $(CPP_OBJS_EXT))\n\n# create $(BIN_DIR) if it does not exist\nifeq (\"$(wildcard $(BIN_DIR))\",\"\")\n$(shell $(MKDIR) $(BIN_DIR))\nendif\n\n#-----------------------------------------------------------------------------\n# rules\n#\n\nall: $(TARGET_BIN)\n#all: $(TARGET_ELF)\n\n$(TARGET_BIN): $(TARGET_ELF)\n\t$(BIN) -O binary $< $@\n\n$(TARGET_ELF) : $(ASM_OBJS_EXT) $(C_OBJS_EXT) $(CPP_OBJS_EXT)\n\t$(CC) $(CFLAGS) $(QPN)/include/qstamp.c -o $(BIN_DIR)/qstamp.o\n\t$(LINK) $(LINKFLAGS) -o $@ $^ $(BIN_DIR)/qstamp.o $(LIBS)\n\n$(BIN_DIR)/%.d : %.c\n\t$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@\n\n$(BIN_DIR)/%.d : %.cpp\n\t$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@\n\n$(BIN_DIR)/%.o : %.s\n\t$(AS) $(ASFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.c\n\t$(CC) $(CFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.cpp\n\t$(CPP) $(CPPFLAGS) $< -o $@\n\n# include dependency files only if our goal depends on their existence\nifneq ($(MAKECMDGOALS),clean)\n  ifneq ($(MAKECMDGOALS),show)\n-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)\n  endif\nendif\n\n\n.PHONY : clean\nclean:\n\t-$(RM) $(BIN_DIR)/*.o \\\n\t$(BIN_DIR)/*.d \\\n\t$(BIN_DIR)/*.bin \\\n\t$(BIN_DIR)/*.elf \\\n\t$(BIN_DIR)/*.map\n\t\nshow:\n\t@echo PROJECT = $(PROJECT)\n\t@echo CONF = $(CONF)\n\t@echo DEFINES = $(DEFINES)\n\t@echo ASM_FPU = $(ASM_FPU)\n\t@echo ASM_SRCS = $(ASM_SRCS)\n\t@echo C_SRCS = $(C_SRCS)\n\t@echo CPP_SRCS = $(CPP_SRCS)\n\t@echo ASM_OBJS_EXT = $(ASM_OBJS_EXT)\n\t@echo C_OBJS_EXT = $(C_OBJS_EXT)\n\t@echo C_DEPS_EXT = $(C_DEPS_EXT)\n\t@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)\n\t@echo TARGET_ELF = $(TARGET_ELF)\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/qk/gnu/README.txt",
    "content": "About this Example\n==================\nThis example can be built from the command prompt with the provided\nMakefile. The example can also be imported as a Makefile-based\nproject into Eclipse-based IDEs.\n\n\nThe Makefile\n============\nThe provided Makefile should be easy to adapt for your own projects.\nIt contains three build configurations: Debug (default), Release, and\nSpy.\n\nAlso, the Makefile has been specifically designed to work as an external\nMakefile with the Eclipse CDT.\n\nThe various build configurations are built as follows:\n\nmake\nmake CONF=rel\nmake CONF=spy\n\nmake clean\nmake CONF=rel clean\nmake CONF=spy clean\n\n***\nNOTE:\nThe installation folder of the GNU-ARM toolset on YOUR machine needs\nto be adjusted in the provided Makefile, by editing the symbol: GNU_ARM.\nAs described in the comment for this symbol, the GNU-ARM toolset is taken\nfrom: http://gnutoolchains.com/arm-eabi\n\nIt is highly recommened to use the same GNU-ARM distribution, especially\nfor ARM Cortex-M4F projects, due to the support for the hardware FPU\n(float-abi=hard).\n***\n\n\nAdjusting Stack and Heap Sizes\n==============================\nThe stack and heap sizes are determined in this project by the GCC linker\nscript (.ld file), which provides a template of the recommended GCC linker\nscript for QP applications.\n\n\nStartup Code\n============\nThe startup code for the EFM32PG1B200F256GM48 MCU used in this project\nis located in the \"3rd_party\" folder in the following location:\n\n3rd_party\\efm32pg1b\\gnu\\startup_efm32pg1b.c\n\nThe file startup_efm32pg1b.c provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/qk/gnu/flash.bat",
    "content": "::============================================================================\n:: Batch file to program the flash of EFM32-SLSTK3401A board\n:: \n:: NOTE: requires the J-Link commander (JLink.exe) from SEGGER, see:\n:: https://www.segger.com/j-link-commander.html\n:: \nsetlocal\n\n@echo off\n@echo Load a given binary file to the flash of EFM32-SLSTK3401A \n@echo usage:   flash bin-file\n@echo example: flash dbg\\blinky-qk.bin\n\n::----------------------------------------------------------------------------\n:: NOTE: Adjust the following symbol to the location of the\n:: JLink utility on your machine\n::\nif [%JLINK%] EQU [] set JLINK=%QTOOLS%\\..\\JLink\nif not exist \"%JLINK%\\JLink.exe\" (\n    @echo The JLink tool not found. Please adjust flash.bat \n    @goto end\n)\n\nif [\"%~1\"]==[\"\"] (\n    @echo The binary file missing\n    @goto end\n)\nif not exist %~s1 (\n    @echo The binary file '%1' does not exist\n    @goto end\n)\n\n:: generate the Jlink command file depending on the first parameter %1\n@echo si 1 >flash.jlink\n@echo speed 4000 >>flash.jlink\n@echo r >>flash.jlink\n@echo h >>flash.jlink\n@echo loadbin %1, 0 >>flash.jlink\n@echo exit >>flash.jlink\n\n@echo on\n%JLINK%\\JLink.exe -device EFM32PG1B200F256GM48 flash.jlink\n@echo off\n\n@del flash.jlink\n\n:end\n\nendlocal"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/qk/gnu/game-qk.ld",
    "content": "/*****************************************************************************\n* Product: Linker script for EFM32-SLSTK3401A, GNU-ARM linker\n* Last Updated for Version: 5.9.8\n* Date of the Last Update:  2017-09-13\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <http://www.gnu.org/licenses/>.\n*\n* Contact information:\n* https://state-machine.com\n* mailto:info@state-machine.com\n*****************************************************************************/\nOUTPUT_FORMAT(\"elf32-littlearm\", \"elf32-bigarm\", \"elf32-littlearm\")\nOUTPUT_ARCH(arm)\nENTRY(Reset_Handler) /* entry Point */\n\nMEMORY { /* memory map of Pearl Gecko EFM32PG1B200F256GM48 */\n    ROM (rx)  : ORIGIN = 0x00000000, LENGTH = 256K\n    RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K\n}\n\n/* The size of the stack used by the application. NOTE: you need to adjust  */\nSTACK_SIZE = 1024;\n\n/* The size of the heap used by the application. NOTE: you need to adjust   */\nHEAP_SIZE = 0;\n\nSECTIONS {\n\n    .isr_vector : {        /* the vector table goes FIRST into ROM */\n        KEEP(*(.isr_vector)) /* vector table */\n        . = ALIGN(4);\n    } >ROM\n\n    .text : {              /* code and constants */\n        . = ALIGN(4);\n        *(.text)           /* .text sections (code) */\n        *(.text*)          /* .text* sections (code) */\n        *(.rodata)         /* .rodata sections (constants, strings, etc.) */\n        *(.rodata*)        /* .rodata* sections (constants, strings, etc.) */\n\n        KEEP (*(.init))\n        KEEP (*(.fini))\n\n        . = ALIGN(4);\n    } >ROM\n\n    .preinit_array : {\n        PROVIDE_HIDDEN (__preinit_array_start = .);\n        KEEP (*(.preinit_array*))\n        PROVIDE_HIDDEN (__preinit_array_end = .);\n    } >ROM\n\n    .init_array : {\n        PROVIDE_HIDDEN (__init_array_start = .);\n        KEEP (*(SORT(.init_array.*)))\n        KEEP (*(.init_array*))\n        PROVIDE_HIDDEN (__init_array_end = .);\n    } >ROM\n\n    .fini_array : {\n        PROVIDE_HIDDEN (__fini_array_start = .);\n        KEEP (*(.fini_array*))\n        KEEP (*(SORT(.fini_array.*)))\n        PROVIDE_HIDDEN (__fini_array_end = .);\n    } >ROM\n\n    _etext = .;            /* global symbols at end of code */\n\n    .stack : {\n        __stack_start__ = .;\n        . = . + STACK_SIZE;\n        . = ALIGN(4);\n        __stack_end__ = .;\n    } >RAM\n\n    .data :  AT (_etext) {\n        __data_load = LOADADDR (.data);\n        __data_start = .;\n        *(.data)           /* .data sections */\n        *(.data*)          /* .data* sections */\n        . = ALIGN(4);\n        __data_end__ = .;\n        _edata = __data_end__;\n    } >RAM\n\n    .bss : {\n        __bss_start__ = .;\n        *(.bss)\n        *(.bss*)\n        *(COMMON)\n        . = ALIGN(4);\n        _ebss = .;         /* define a global symbol at bss end */\n        __bss_end__ = .;\n    } >RAM\n\n    __exidx_start = .;\n    .ARM.exidx   : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } >RAM\n    __exidx_end = .;\n\n    PROVIDE ( end = _ebss );\n    PROVIDE ( _end = _ebss );\n    PROVIDE ( __end__ = _ebss );\n\n    .heap : {\n        __heap_start__ = .;\n        . = . + HEAP_SIZE;\n        . = ALIGN(4);\n        __heap_end__ = .;\n    } >RAM\n\n    /* Remove information from the standard libraries */\n    /DISCARD/ : {\n        libc.a ( * )\n        libm.a ( * )\n        libgcc.a ( * )\n    }\n}\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/qk/iar/README.txt",
    "content": "About this Example\n==================\nThis example demonstrates how to use the IAR EWARM IDE to build\na QP application.\n\n\nIAR Project File\n----------------\nThe IAR EWARM project file provided with this example uses relative paths\nto the QP/C framework location (includes, port, and libraries. These\nrelative paths must be modified when the project is moved to different\nrelative location.\n\n\nStack Size and Heap Size\n------------------------\nIn this project, the size of the C stack and heap are determined in\nthe linker script blinky-qk.icf (see the next section).\n\n\nLinker Script\n-------------\nThe IAR linker script provides a template of the recommended linker script\nfor QP applications. This file needs to be customized to set the\napplication-specific sizes of the Stack and Heap. This file can be edited\nfrom the IAR EWARM IDE via the Project Options/Linker settings.\n\n\nStartup Code\n============\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\efm32pg1b\\iar\\startup_efm32pg1b.s\n\nThe file startup_efm32pg1b.s provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/qk/iar/game-qk.ewd",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<project>\n  <fileVersion>2</fileVersion>\n  <configuration>\n    <name>Debug</name>\n    <toolchain>\n      <name>ARM</name>\n    </toolchain>\n    <debug>1</debug>\n    <settings>\n      <name>C-SPY</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>28</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CEndian</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCVariant</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>MemOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MemFile</name>\n          <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\SiliconLaboratories\\EFM32PG1B200F256GM48.ddf</state>\n        </option>\n        <option>\n          <name>RunToEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RunToName</name>\n          <state>main</state>\n        </option>\n        <option>\n          <name>CExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CFpuProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCDDFArgumentProducer</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCDownloadSuppressDownload</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDownloadVerifyAll</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCProductVersion</name>\n          <state>7.30.4.8186</state>\n        </option>\n        <option>\n          <name>OCDynDriverList</name>\n          <state>JLINK_ID</state>\n        </option>\n        <option>\n          <name>OCLastSavedByProductVersion</name>\n          <state>7.60.1.11206</state>\n        </option>\n        <option>\n          <name>UseFlashLoader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CLowLevel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCBE8Slave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacFile2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CDevice</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>FlashLoadersV3</name>\n          <state>$TOOLKIT_DIR$\\config\\flashloader\\SiliconLaboratories\\FlashGECKOP2.board</state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OverrideDefFlashBoard</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesOffset1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesUse1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDeviceConfigMacroFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCDebuggerExtraOption</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCAllMTBOptions</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCMulticoreNrOfCores</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCMulticoreMaster</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCMulticorePort</name>\n          <state>53461</state>\n        </option>\n        <option>\n          <name>OCMulticoreWorkspace</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCMulticoreSlaveProject</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCMulticoreSlaveConfiguration</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCDownloadExtraImage</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCAttachSlave</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ARMSIM_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCSimDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCSimEnablePSP</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCSimPspOverrideConfig</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCSimPspConfigFile</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ANGEL_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CCAngelHeartbeat</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CAngelCommunication</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CAngelCommBaud</name>\n          <version>0</version>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CAngelCommPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ANGELTCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>DoAngelLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AngelLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CMSISDAP_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>4</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCIarProbeScriptFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CMSISDAPResetList</name>\n          <version>1</version>\n          <state>10</state>\n        </option>\n        <option>\n          <name>CMSISDAPHWResetDuration</name>\n          <state>300</state>\n        </option>\n        <option>\n          <name>CMSISDAPHWResetDelay</name>\n          <state>200</state>\n        </option>\n        <option>\n          <name>CMSISDAPDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CMSISDAPInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiTargetEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPJtagSpeedList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPRestoreBreakpointsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPUpdateBreakpointsEdit</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>RDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchUndef</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchData</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchPrefetch</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchMMERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchNOCPERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchCHKERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchSTATERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchBUSERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchINTERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchHARDERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiCPUEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiCPUNumber</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeCfgOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeConfig</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CMSISDAPProbeConfigRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPSelectedCPUBehaviour</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ICpuName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCJetEmuParams</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCCMSISDAPUsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCCMSISDAPUsbSerialNoSelect</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>GDBSERVER_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCJTagBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>IARROM_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CRomLogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRomLogFileEditB</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CRomCommPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRomCommBaud</name>\n          <version>0</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>IJET_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>8</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCIarProbeScriptFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetResetList</name>\n          <version>1</version>\n          <state>10</state>\n        </option>\n        <option>\n          <name>IjetHWResetDuration</name>\n          <state>300</state>\n        </option>\n        <option>\n          <name>IjetHWResetDelay</name>\n          <state>200</state>\n        </option>\n        <option>\n          <name>IjetPowerFromProbe</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetPowerRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>IjetInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiTargetEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetScanChainNonARMDevices</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetIRLength</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetJtagSpeedList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetProtocolRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetSwoPin</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetCpuClockEdit</name>\n          <state>72.0</state>\n        </option>\n        <option>\n          <name>IjetSwoPrescalerList</name>\n          <version>1</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetRestoreBreakpointsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetUpdateBreakpointsEdit</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>RDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchUndef</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchData</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchPrefetch</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchMMERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchNOCPERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchCHKERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchSTATERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchBUSERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchINTERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchHARDERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeCfgOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeConfig</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IjetProbeConfigRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiCPUEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiCPUNumber</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetSelectedCPUBehaviour</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ICpuName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCJetEmuParams</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetPreferETB</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetTraceSettingsList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetTraceSizeList</name>\n          <version>0</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>FlashBoardPathSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCIjetUsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCIjetUsbSerialNoSelect</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JLINK_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>16</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>JLinkSpeed</name>\n          <state>1000</state>\n        </option>\n        <option>\n          <name>CCJLinkDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCJLinkHWResetDelay</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>JLinkInitialSpeed</name>\n          <state>1000</state>\n        </option>\n        <option>\n          <name>CCDoJlinkMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCScanChainNonARMDevices</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkIRLength</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkCommRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkTCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>CCJLinkSpeedRadioV2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCUSBDevice</name>\n          <version>1</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchUndef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchPrefetch</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>CCJLinkInterfaceRadio</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCJLinkResetList</name>\n          <version>6</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>CCJLinkInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchMMERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchNOCPERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchCHRERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchSTATERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchBUSERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchINTERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchHARDERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkScriptFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCJLinkUsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCTcpIpAlt</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkTcpIpSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCCpuClockEdit</name>\n          <state>72.0</state>\n        </option>\n        <option>\n          <name>CCSwoClockAuto</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSwoClockEdit</name>\n          <state>2000</state>\n        </option>\n        <option>\n          <name>OCJLinkTraceSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkTraceSourceDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkDeviceName</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>LMIFTDI_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>LmiftdiSpeed</name>\n          <state>500</state>\n        </option>\n        <option>\n          <name>CCLmiftdiDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLmiftdiLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCLmiFtdiInterfaceRadio</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCLmiFtdiInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>MACRAIGOR_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>3</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>jtag</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EmuSpeed</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>DoEmuMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EmuMultiTarget</name>\n          <state>0@ARM7TDMI</state>\n        </option>\n        <option>\n          <name>EmuHWReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CEmuCommBaud</name>\n          <version>0</version>\n          <state>4</state>\n        </option>\n        <option>\n          <name>CEmuCommPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>jtago</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UnusedAddr</name>\n          <state>0x00800000</state>\n        </option>\n        <option>\n          <name>CCMacraigorHWResetDelay</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCJTagBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>CCMacraigorInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMacraigorInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>PEMICRO_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>3</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCJPEMicroShowSettings</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>RDI_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CRDIDriverDll</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>CRDILogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRDILogFileEdit</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCRDIHWReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchUndef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchPrefetch</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>STLINK_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>3</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCSTLinkInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkResetList</name>\n          <version>1</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCpuClockEdit</name>\n          <state>72.0</state>\n        </option>\n        <option>\n          <name>CCSwoClockAuto</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSwoClockEdit</name>\n          <state>2000</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCSTLinkDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchMMERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchNOCPERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchCHRERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchSTATERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchBUSERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchINTERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchHARDERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkUsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCSTLinkUsbSerialNoSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkJtagSpeedList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>THIRDPARTY_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CThirdPartyDriverDll</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>CThirdPartyLogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CThirdPartyLogFileEditB</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>TIFET_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCMSPFetResetList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetTargetVccTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetTargetVoltage</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>CCMSPFetVCCDefault</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCMSPFetTargetSettlingtime</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetRadioJtagSpeedType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCMSPFetConnection</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetUsbComPort</name>\n          <state>Automatic</state>\n        </option>\n        <option>\n          <name>CCMSPFetAllowAccessToBSL</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCMSPFetRadioEraseFlash</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>XDS100_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>5</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TIPackageOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>TIPackage</name>\n          <state></state>\n        </option>\n        <option>\n          <name>BoardFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCXds100BreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100DoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100UpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>CCXds100CatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchUndef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchPrefetch</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchMMERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchNOCPERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchCHRERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchSTATERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchBUSERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchINTERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchHARDERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CpuClockEdit</name>\n          <state>72.0</state>\n        </option>\n        <option>\n          <name>CCXds100SwoClockAuto</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100SwoClockEdit</name>\n          <state>1000</state>\n        </option>\n        <option>\n          <name>CCXds100HWResetDelay</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100ResetList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100UsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCXds100UsbSerialNoSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100JtagSpeedList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100InterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100InterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100ProbeList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <debuggerPlugins>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\middleware\\HCCWare\\HCCWare.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\middleware\\PercepioTraceExporter\\PercepioTraceExportPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\AVIX\\AVIX.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\MQX\\MQXRtosPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\Quadros\\Quadros_EWB7_Plugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n    </debuggerPlugins>\n  </configuration>\n  <configuration>\n    <name>Release</name>\n    <toolchain>\n      <name>ARM</name>\n    </toolchain>\n    <debug>0</debug>\n    <settings>\n      <name>C-SPY</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>28</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CEndian</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCVariant</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>MemOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MemFile</name>\n          <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\SiliconLaboratories\\EFM32PG1B200F256GM48.ddf</state>\n        </option>\n        <option>\n          <name>RunToEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RunToName</name>\n          <state>main</state>\n        </option>\n        <option>\n          <name>CExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CFpuProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCDDFArgumentProducer</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCDownloadSuppressDownload</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDownloadVerifyAll</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCProductVersion</name>\n          <state>7.30.4.8186</state>\n        </option>\n        <option>\n          <name>OCDynDriverList</name>\n          <state>JLINK_ID</state>\n        </option>\n        <option>\n          <name>OCLastSavedByProductVersion</name>\n          <state>7.60.1.11206</state>\n        </option>\n        <option>\n          <name>UseFlashLoader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CLowLevel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCBE8Slave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacFile2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CDevice</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>FlashLoadersV3</name>\n          <state>$TOOLKIT_DIR$\\config\\flashloader\\SiliconLaboratories\\FlashGECKOP2.board</state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OverrideDefFlashBoard</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesOffset1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesUse1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDeviceConfigMacroFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCDebuggerExtraOption</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCAllMTBOptions</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCMulticoreNrOfCores</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCMulticoreMaster</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCMulticorePort</name>\n          <state>53461</state>\n        </option>\n        <option>\n          <name>OCMulticoreWorkspace</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCMulticoreSlaveProject</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCMulticoreSlaveConfiguration</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCDownloadExtraImage</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCAttachSlave</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ARMSIM_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCSimDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCSimEnablePSP</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCSimPspOverrideConfig</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCSimPspConfigFile</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ANGEL_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CCAngelHeartbeat</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CAngelCommunication</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CAngelCommBaud</name>\n          <version>0</version>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CAngelCommPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ANGELTCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>DoAngelLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AngelLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CMSISDAP_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>4</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCIarProbeScriptFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CMSISDAPResetList</name>\n          <version>1</version>\n          <state>10</state>\n        </option>\n        <option>\n          <name>CMSISDAPHWResetDuration</name>\n          <state>300</state>\n        </option>\n        <option>\n          <name>CMSISDAPHWResetDelay</name>\n          <state>200</state>\n        </option>\n        <option>\n          <name>CMSISDAPDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CMSISDAPInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiTargetEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPJtagSpeedList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPRestoreBreakpointsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPUpdateBreakpointsEdit</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>RDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchUndef</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchData</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchPrefetch</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchMMERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchNOCPERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchCHKERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchSTATERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchBUSERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchINTERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchHARDERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiCPUEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiCPUNumber</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeCfgOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeConfig</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CMSISDAPProbeConfigRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPSelectedCPUBehaviour</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ICpuName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCJetEmuParams</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCCMSISDAPUsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCCMSISDAPUsbSerialNoSelect</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>GDBSERVER_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCJTagBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>IARROM_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CRomLogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRomLogFileEditB</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CRomCommPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRomCommBaud</name>\n          <version>0</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>IJET_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>8</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCIarProbeScriptFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetResetList</name>\n          <version>1</version>\n          <state>10</state>\n        </option>\n        <option>\n          <name>IjetHWResetDuration</name>\n          <state>300</state>\n        </option>\n        <option>\n          <name>IjetHWResetDelay</name>\n          <state>200</state>\n        </option>\n        <option>\n          <name>IjetPowerFromProbe</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetPowerRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>IjetInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiTargetEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetScanChainNonARMDevices</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetIRLength</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetJtagSpeedList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetProtocolRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetSwoPin</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetCpuClockEdit</name>\n          <state>72.0</state>\n        </option>\n        <option>\n          <name>IjetSwoPrescalerList</name>\n          <version>1</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetRestoreBreakpointsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetUpdateBreakpointsEdit</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>RDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchUndef</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchData</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchPrefetch</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchMMERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchNOCPERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchCHKERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchSTATERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchBUSERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchINTERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchHARDERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeCfgOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeConfig</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IjetProbeConfigRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiCPUEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiCPUNumber</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetSelectedCPUBehaviour</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ICpuName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCJetEmuParams</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetPreferETB</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetTraceSettingsList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetTraceSizeList</name>\n          <version>0</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>FlashBoardPathSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCIjetUsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCIjetUsbSerialNoSelect</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JLINK_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>16</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>JLinkSpeed</name>\n          <state>1000</state>\n        </option>\n        <option>\n          <name>CCJLinkDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCJLinkHWResetDelay</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>JLinkInitialSpeed</name>\n          <state>1000</state>\n        </option>\n        <option>\n          <name>CCDoJlinkMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCScanChainNonARMDevices</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkIRLength</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkCommRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkTCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>CCJLinkSpeedRadioV2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCUSBDevice</name>\n          <version>1</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchUndef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchPrefetch</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>CCJLinkInterfaceRadio</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCJLinkResetList</name>\n          <version>6</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>CCJLinkInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchMMERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchNOCPERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchCHRERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchSTATERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchBUSERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchINTERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchHARDERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkScriptFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCJLinkUsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCTcpIpAlt</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkTcpIpSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCCpuClockEdit</name>\n          <state>72.0</state>\n        </option>\n        <option>\n          <name>CCSwoClockAuto</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSwoClockEdit</name>\n          <state>2000</state>\n        </option>\n        <option>\n          <name>OCJLinkTraceSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkTraceSourceDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkDeviceName</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>LMIFTDI_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>LmiftdiSpeed</name>\n          <state>500</state>\n        </option>\n        <option>\n          <name>CCLmiftdiDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLmiftdiLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCLmiFtdiInterfaceRadio</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCLmiFtdiInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>MACRAIGOR_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>3</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>jtag</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EmuSpeed</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>DoEmuMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EmuMultiTarget</name>\n          <state>0@ARM7TDMI</state>\n        </option>\n        <option>\n          <name>EmuHWReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CEmuCommBaud</name>\n          <version>0</version>\n          <state>4</state>\n        </option>\n        <option>\n          <name>CEmuCommPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>jtago</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UnusedAddr</name>\n          <state>0x00800000</state>\n        </option>\n        <option>\n          <name>CCMacraigorHWResetDelay</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCJTagBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>CCMacraigorInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMacraigorInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>PEMICRO_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>3</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCJPEMicroShowSettings</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>RDI_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CRDIDriverDll</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>CRDILogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRDILogFileEdit</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCRDIHWReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchUndef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchPrefetch</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>STLINK_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>3</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCSTLinkInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkResetList</name>\n          <version>1</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCpuClockEdit</name>\n          <state>72.0</state>\n        </option>\n        <option>\n          <name>CCSwoClockAuto</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSwoClockEdit</name>\n          <state>2000</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCSTLinkDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchMMERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchNOCPERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchCHRERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchSTATERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchBUSERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchINTERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchHARDERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkUsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCSTLinkUsbSerialNoSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkJtagSpeedList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>THIRDPARTY_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CThirdPartyDriverDll</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>CThirdPartyLogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CThirdPartyLogFileEditB</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>TIFET_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCMSPFetResetList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetTargetVccTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetTargetVoltage</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>CCMSPFetVCCDefault</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCMSPFetTargetSettlingtime</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetRadioJtagSpeedType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCMSPFetConnection</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetUsbComPort</name>\n          <state>Automatic</state>\n        </option>\n        <option>\n          <name>CCMSPFetAllowAccessToBSL</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCMSPFetRadioEraseFlash</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>XDS100_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>5</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TIPackageOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>TIPackage</name>\n          <state></state>\n        </option>\n        <option>\n          <name>BoardFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCXds100BreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100DoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100UpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>CCXds100CatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchUndef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchPrefetch</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchMMERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchNOCPERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchCHRERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchSTATERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchBUSERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchINTERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchHARDERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CpuClockEdit</name>\n          <state>72.0</state>\n        </option>\n        <option>\n          <name>CCXds100SwoClockAuto</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100SwoClockEdit</name>\n          <state>1000</state>\n        </option>\n        <option>\n          <name>CCXds100HWResetDelay</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100ResetList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100UsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCXds100UsbSerialNoSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100JtagSpeedList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100InterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100InterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100ProbeList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <debuggerPlugins>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\middleware\\HCCWare\\HCCWare.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\middleware\\PercepioTraceExporter\\PercepioTraceExportPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\AVIX\\AVIX.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\MQX\\MQXRtosPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\Quadros\\Quadros_EWB7_Plugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n    </debuggerPlugins>\n  </configuration>\n</project>\n\n\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/qk/iar/game-qk.ewp",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<project>\n  <fileVersion>2</fileVersion>\n  <configuration>\n    <name>Debug</name>\n    <toolchain>\n      <name>ARM</name>\n    </toolchain>\n    <debug>1</debug>\n    <settings>\n      <name>General</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>24</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>ExePath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>ObjPath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>ListPath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>GEndianMode</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Input variant</name>\n          <version>3</version>\n          <state>6</state>\n        </option>\n        <option>\n          <name>Input description</name>\n          <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n        </option>\n        <option>\n          <name>Output variant</name>\n          <version>2</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>Output description</name>\n          <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n        </option>\n        <option>\n          <name>GOutputBinary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGCoreOrChip</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelect</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelectSlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RTDescription</name>\n          <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n        </option>\n        <option>\n          <name>OGProductVersion</name>\n          <state>5.11.0.50579</state>\n        </option>\n        <option>\n          <name>OGLastSavedByProductVersion</name>\n          <state>7.60.1.11206</state>\n        </option>\n        <option>\n          <name>GeneralEnableMisra</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVerbose</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGChipSelectEditMenu</name>\n          <state>EFM32PG1B200F256GM48\tSiliconLaboratories EFM32PG1B200F256GM48</state>\n        </option>\n        <option>\n          <name>GenLowLevelInterface</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEndianModeBE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OGBufferedTerminalOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GenStdoutInterface</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>GeneralMisraVer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>RTConfigPath2</name>\n          <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n        </option>\n        <option>\n          <name>GBECoreSlave</name>\n          <version>24</version>\n          <state>39</state>\n        </option>\n        <option>\n          <name>OGUseCmsis</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGUseCmsisDspLib</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibThreads</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CoreVariant</name>\n          <version>24</version>\n          <state>39</state>\n        </option>\n        <option>\n          <name>GFPUDeviceSlave</name>\n          <state>EFM32PG1B200F256GM48\tSiliconLaboratories EFM32PG1B200F256GM48</state>\n        </option>\n        <option>\n          <name>FPU2</name>\n          <version>0</version>\n          <state>4</state>\n        </option>\n        <option>\n          <name>NrRegs</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>NEON</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GFPUCoreSlave2</name>\n          <version>24</version>\n          <state>39</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICCARM</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>31</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CCOptimizationNoSizeConstraints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDefines</name>\n          <state>EFM32PG1B200F256GM48</state>\n        </option>\n        <option>\n          <name>CCPreprocFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocComments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMnemonics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMessages</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagSuppress</name>\n          <state>Pa050</state>\n        </option>\n        <option>\n          <name>CCDiagRemark</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagWarning</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagError</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCAllowList</name>\n          <version>1</version>\n          <state>00000000</state>\n        </option>\n        <option>\n          <name>CCDebugInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IEndianMode</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCLangConformance</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSignedPlainChar</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRequirePrototypes</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagWarnAreErr</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCompilerRuntimeInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IFpuProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.o</state>\n        </option>\n        <option>\n          <name>CCLibConfigHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>PreInclude</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CompilerMisraOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCIncludePath2</name>\n          <state>$PROJ_DIR$\\..</state>\n          <state>$PROJ_DIR$\\..\\..</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\iar</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b</state>\n        </option>\n        <option>\n          <name>CCStdIncCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCodeSection</name>\n          <state>.text</state>\n        </option>\n        <option>\n          <name>IInterwork2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IProcessorMode2</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptStrategy</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevelSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>CCPosIndRopi</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPosIndRwpi</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPosIndNoDynInit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccLang</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>IccCDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccAllowVLA</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCppDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccExceptions</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccRTTI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccStaticDestr</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccCppInlineSemantics</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccCmsis</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccFloatSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCNoLiteralPool</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOptStrategySlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCGuardCalls</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>AARM</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>9</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>AObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AEndian</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ACaseSensitivity</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacroChars</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnWhat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnOne</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ADebug</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AltRegisterNames</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state>ewarm</state>\n        </option>\n        <option>\n          <name>AList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AListHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AListing</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Includes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacExps</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacExec</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OnlyAssed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MultiLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>TabSpacing</name>\n          <state>8</state>\n        </option>\n        <option>\n          <name>AXRef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDefines</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefInternal</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDual</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AFpuProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AOutputFile</name>\n          <state>$FILE_BNAME$.o</state>\n        </option>\n        <option>\n          <name>AMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ALimitErrorsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ALimitErrorsEdit</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>AIgnoreStdInclude</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AUserIncludes</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AExtraOptionsCheckV2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptionsV2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AsmNoLiteralPool</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>OBJCOPY</name>\n      <archiveVersion>0</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OOCOutputFormat</name>\n          <version>3</version>\n          <state>3</state>\n        </option>\n        <option>\n          <name>OCOutputOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OOCOutputFile</name>\n          <state>game-qk.bin</state>\n        </option>\n        <option>\n          <name>OOCCommandLineProducer</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OOCObjCopyEnable</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CUSTOM</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <extensions></extensions>\n        <cmdline></cmdline>\n        <hasPrio>0</hasPrio>\n      </data>\n    </settings>\n    <settings>\n      <name>BICOMP</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>BUILDACTION</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <prebuild>cmd /c \"if exist $OBJ_DIR$\\qstamp.o del $OBJ_DIR$\\qstamp.o\"</prebuild>\n        <postbuild></postbuild>\n      </data>\n    </settings>\n    <settings>\n      <name>ILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data>\n        <version>17</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>IlinkLibIOConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XLinkMisraHandler</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkInputFileSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkOutputFile</name>\n          <state>game-qk.out</state>\n        </option>\n        <option>\n          <name>IlinkDebugInfoEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkKeepSymbols</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinaryFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinarySymbol</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinarySegment</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinaryAlign</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkConfigDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkMapFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkLogFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogInitialization</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogModule</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogSection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogVeneer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkIcfOverride</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkIcfFile</name>\n          <state>$PROJ_DIR$\\game-qk.icf</state>\n        </option>\n        <option>\n          <name>IlinkIcfFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkSuppressDiags</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkTreatAsRem</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkTreatAsWarn</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkTreatAsErr</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkWarningsAreErrors</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkUseExtraOptions</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkLowLevelInterfaceSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkAutoLibEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkAdditionalLibs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkOverrideProgramEntryLabel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkProgramEntryLabelSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkProgramEntryLabel</name>\n          <state>__iar_program_start</state>\n        </option>\n        <option>\n          <name>DoFill</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FillerByte</name>\n          <state>0xFF</state>\n        </option>\n        <option>\n          <name>FillerStart</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>FillerEnd</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>CrcSize</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcAlign</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcPoly</name>\n          <state>0x11021</state>\n        </option>\n        <option>\n          <name>CrcCompl</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcBitOrder</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcInitialValue</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>DoCrc</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkBE8Slave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkBufferedTerminalOutput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkStdoutInterfaceSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcFullSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkIElfToolPostProcess</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogAutoLibSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogRedirSymbols</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogUnusedFragments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkCrcReverseByteOrder</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkCrcUseAsInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptInline</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkOptExceptionsAllow</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptExceptionsForce</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkCmsis</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptMergeDuplSections</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkOptUseVfe</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptForceVfe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkStackAnalysisEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkStackControlFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkStackCallGraphFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CrcAlgorithm</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcUnitSize</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkThreadsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkLogCallGraph</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>IARCHIVE</name>\n      <archiveVersion>0</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>IarchiveInputs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IarchiveOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IarchiveOutput</name>\n          <state>###Unitialized###</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>BILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>Coder</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n  </configuration>\n  <configuration>\n    <name>Release</name>\n    <toolchain>\n      <name>ARM</name>\n    </toolchain>\n    <debug>0</debug>\n    <settings>\n      <name>General</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>24</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>ExePath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>ObjPath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>ListPath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>GEndianMode</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Input variant</name>\n          <version>3</version>\n          <state>6</state>\n        </option>\n        <option>\n          <name>Input description</name>\n          <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n        </option>\n        <option>\n          <name>Output variant</name>\n          <version>2</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>Output description</name>\n          <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n        </option>\n        <option>\n          <name>GOutputBinary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGCoreOrChip</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelect</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelectSlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RTDescription</name>\n          <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n        </option>\n        <option>\n          <name>OGProductVersion</name>\n          <state>5.11.0.50579</state>\n        </option>\n        <option>\n          <name>OGLastSavedByProductVersion</name>\n          <state>7.60.1.11206</state>\n        </option>\n        <option>\n          <name>GeneralEnableMisra</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVerbose</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGChipSelectEditMenu</name>\n          <state>EFM32PG1B200F256GM48\tSiliconLaboratories EFM32PG1B200F256GM48</state>\n        </option>\n        <option>\n          <name>GenLowLevelInterface</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEndianModeBE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OGBufferedTerminalOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GenStdoutInterface</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>GeneralMisraVer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>RTConfigPath2</name>\n          <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n        </option>\n        <option>\n          <name>GBECoreSlave</name>\n          <version>24</version>\n          <state>39</state>\n        </option>\n        <option>\n          <name>OGUseCmsis</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGUseCmsisDspLib</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibThreads</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CoreVariant</name>\n          <version>24</version>\n          <state>39</state>\n        </option>\n        <option>\n          <name>GFPUDeviceSlave</name>\n          <state>EFM32PG1B200F256GM48\tSiliconLaboratories EFM32PG1B200F256GM48</state>\n        </option>\n        <option>\n          <name>FPU2</name>\n          <version>0</version>\n          <state>4</state>\n        </option>\n        <option>\n          <name>NrRegs</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>NEON</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GFPUCoreSlave2</name>\n          <version>24</version>\n          <state>39</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICCARM</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>31</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CCOptimizationNoSizeConstraints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDefines</name>\n          <state>NDEBUG</state>\n          <state>EFM32PG1B200F256GM48</state>\n        </option>\n        <option>\n          <name>CCPreprocFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocComments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMnemonics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMessages</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagSuppress</name>\n          <state>Pa050</state>\n        </option>\n        <option>\n          <name>CCDiagRemark</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagWarning</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagError</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCAllowList</name>\n          <version>1</version>\n          <state>11111110</state>\n        </option>\n        <option>\n          <name>CCDebugInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IEndianMode</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCLangConformance</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSignedPlainChar</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRequirePrototypes</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagWarnAreErr</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCompilerRuntimeInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IFpuProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.o</state>\n        </option>\n        <option>\n          <name>CCLibConfigHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>PreInclude</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CompilerMisraOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCIncludePath2</name>\n          <state>$PROJ_DIR$\\..</state>\n          <state>$PROJ_DIR$\\..\\..</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\iar</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b</state>\n        </option>\n        <option>\n          <name>CCStdIncCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCodeSection</name>\n          <state>.text</state>\n        </option>\n        <option>\n          <name>IInterwork2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IProcessorMode2</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevel</name>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CCOptStrategy</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevelSlave</name>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>CCPosIndRopi</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPosIndRwpi</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPosIndNoDynInit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccLang</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>IccCDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccAllowVLA</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCppDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccExceptions</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccRTTI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccStaticDestr</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccCppInlineSemantics</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccCmsis</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccFloatSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCNoLiteralPool</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOptStrategySlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCGuardCalls</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>AARM</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>9</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>AObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AEndian</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ACaseSensitivity</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacroChars</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnWhat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnOne</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ADebug</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AltRegisterNames</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state>ewarm</state>\n        </option>\n        <option>\n          <name>AList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AListHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AListing</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Includes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacExps</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacExec</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OnlyAssed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MultiLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>TabSpacing</name>\n          <state>8</state>\n        </option>\n        <option>\n          <name>AXRef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDefines</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefInternal</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDual</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AFpuProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AOutputFile</name>\n          <state>$FILE_BNAME$.o</state>\n        </option>\n        <option>\n          <name>AMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ALimitErrorsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ALimitErrorsEdit</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>AIgnoreStdInclude</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AUserIncludes</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AExtraOptionsCheckV2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptionsV2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AsmNoLiteralPool</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>OBJCOPY</name>\n      <archiveVersion>0</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OOCOutputFormat</name>\n          <version>3</version>\n          <state>3</state>\n        </option>\n        <option>\n          <name>OCOutputOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OOCOutputFile</name>\n          <state>game-qk.bin</state>\n        </option>\n        <option>\n          <name>OOCCommandLineProducer</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OOCObjCopyEnable</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CUSTOM</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <extensions></extensions>\n        <cmdline></cmdline>\n        <hasPrio>0</hasPrio>\n      </data>\n    </settings>\n    <settings>\n      <name>BICOMP</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>BUILDACTION</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <prebuild>cmd /c \"if exist $OBJ_DIR$\\qstamp.o del $OBJ_DIR$\\qstamp.o\"</prebuild>\n        <postbuild></postbuild>\n      </data>\n    </settings>\n    <settings>\n      <name>ILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data>\n        <version>17</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>IlinkLibIOConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XLinkMisraHandler</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkInputFileSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkOutputFile</name>\n          <state>game-qk.out</state>\n        </option>\n        <option>\n          <name>IlinkDebugInfoEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkKeepSymbols</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinaryFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinarySymbol</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinarySegment</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinaryAlign</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkConfigDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkMapFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkLogFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogInitialization</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogModule</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogSection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogVeneer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkIcfOverride</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkIcfFile</name>\n          <state>$PROJ_DIR$\\game-qk.icf</state>\n        </option>\n        <option>\n          <name>IlinkIcfFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkSuppressDiags</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkTreatAsRem</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkTreatAsWarn</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkTreatAsErr</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkWarningsAreErrors</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkUseExtraOptions</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkLowLevelInterfaceSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkAutoLibEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkAdditionalLibs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkOverrideProgramEntryLabel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkProgramEntryLabelSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkProgramEntryLabel</name>\n          <state>__iar_program_start</state>\n        </option>\n        <option>\n          <name>DoFill</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FillerByte</name>\n          <state>0xFF</state>\n        </option>\n        <option>\n          <name>FillerStart</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>FillerEnd</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>CrcSize</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcAlign</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcPoly</name>\n          <state>0x11021</state>\n        </option>\n        <option>\n          <name>CrcCompl</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcBitOrder</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcInitialValue</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>DoCrc</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkBE8Slave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkBufferedTerminalOutput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkStdoutInterfaceSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcFullSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkIElfToolPostProcess</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogAutoLibSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogRedirSymbols</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogUnusedFragments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkCrcReverseByteOrder</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkCrcUseAsInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptInline</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptExceptionsAllow</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptExceptionsForce</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkCmsis</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptMergeDuplSections</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkOptUseVfe</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptForceVfe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkStackAnalysisEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkStackControlFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkStackCallGraphFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CrcAlgorithm</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcUnitSize</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkThreadsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkLogCallGraph</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>IARCHIVE</name>\n      <archiveVersion>0</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>IarchiveInputs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IarchiveOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IarchiveOutput</name>\n          <state>###Unitialized###</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>BILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>Coder</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n  </configuration>\n  <group>\n    <name>Application</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\bsp.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\bsp.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\game.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\main.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\mine1.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\mine2.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\missile.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\qpn_conf.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\include\\qstamp.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\ship.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\tunnel.c</name>\n    </file>\n  </group>\n  <group>\n    <name>efm32pg1b</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\display_ls013b7dh03.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\displaypalemlib.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_assert.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_cmu.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_emu.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_gpio.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_int.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_prs.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_rtcc.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_system.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_usart.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\iar\\startup_efm32pg1b.s</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\system_efm32pg1b.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\udelay.c</name>\n    </file>\n  </group>\n  <group>\n    <name>QP</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qepn.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qfn.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qkn\\qkn.c</name>\n    </file>\n  </group>\n  <group>\n    <name>QP_port</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\iar\\qkn_port.c</name>\n    </file>\n  </group>\n</project>\n\n\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/qk/iar/game-qk.eww",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<workspace>\n  <project>\n    <path>$WS_DIR$\\game-qk.ewp</path>\n  </project>\n  <batchBuild/>\n</workspace>\n\n\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/qk/iar/game-qk.icf",
    "content": "/*###ICF### Section handled by ICF editor, don't touch! ****/\n/*-Editor annotation file-*/\n/* IcfEditorFile=\"$TOOLKIT_DIR$\\config\\ide\\IcfEditor\\cortex_v1_0.xml\" */\n/*-Specials-*/\ndefine symbol __ICFEDIT_intvec_start__ = 0x00000000;\n/*-Memory Regions-*/\ndefine symbol __ICFEDIT_region_ROM_start__ = 0x00000000;\ndefine symbol __ICFEDIT_region_ROM_end__   = 0x0003FFFF;\ndefine symbol __ICFEDIT_region_RAM_start__ = 0x20000000;\ndefine symbol __ICFEDIT_region_RAM_end__   = 0x20007FFF;\n/*-Sizes-*/\ndefine symbol __ICFEDIT_size_cstack__ = 1024;\ndefine symbol __ICFEDIT_size_heap__   = 0;\n/**** End of ICF editor section. ###ICF###*/\n\ndefine memory mem with size = 4G;\ndefine region ROM_region   = mem:[from __ICFEDIT_region_ROM_start__   to __ICFEDIT_region_ROM_end__];\ndefine region RAM_region   = mem:[from __ICFEDIT_region_RAM_start__   to __ICFEDIT_region_RAM_end__];\n\ndefine block CSTACK    with alignment = 8, size = __ICFEDIT_size_cstack__   { };\ndefine block HEAP      with alignment = 8, size = __ICFEDIT_size_heap__     { };\n\ninitialize by copy { readwrite };\ndo not initialize  { section .noinit };\n\nplace at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };\nplace in ROM_region   { readonly };\nplace at start of RAM_region {block CSTACK }; \nplace in RAM_region   { readwrite, block HEAP  };"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/qpn_conf.h",
    "content": "/*****************************************************************************\n* Product: QP-nano configuration for the \"Fly 'n' Shoot\" game\n* Last Updated for Version: 5.8.0\n* Date of the Last Update:  2016-11-18\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef QPN_CONF_H\n#define QPN_CONF_H\n\n#define Q_PARAM_SIZE            4U\n#define QF_MAX_TICK_RATE        2\n#define QF_TIMEEVT_CTR_SIZE     2U\n#define QF_TIMEEVT_PERIODIC\n\n#endif /* QPN_CONF_H */\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/qv/armclang/README.txt",
    "content": "About this Example\n==================\nThis example demonstrates how to use the uVision IDE together with\nthe MDK-ARM toolchain.\n\nuVision Project File\n====================\nThe MDK-ARM uVision project file provided with this example uses\nrelative paths to the QP framework location (includes, port, and\nlibraries. These relative paths must be modified when the project\nis moved to different relative location.\n\n\nAdjusting Stack and Heap Sizes\n==============================\nThe stack and heap sizes are determined in this project by the\ncommand-line options for the ARM assembler (see the Asm tab in\nthe \"Options for Target\" dialog box in uVision). Specifically,\nyou should define symbols: Stack_Size=xxx Heap_Size=yyy, where\nxxx represents a numerical value of stack size and yyy the\nnumerical value of the heap size (for most embedded projects\nyyy should be 0, as the using the heap is not recommended).\n\n\nStartup Code\n============\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\efm32pg1b\\arm\\startup_efm32pg1b.s\n\nThe file startup_efm32pg1b.s provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n  "
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/qv/armclang/game-qv.uvoptx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<ProjectOpt xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_optx.xsd\">\n\n  <SchemaVersion>1.0</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Extensions>\n    <cExt>*.c</cExt>\n    <aExt>*.s*; *.src; *.a*</aExt>\n    <oExt>*.obj; *.o</oExt>\n    <lExt>*.lib</lExt>\n    <tExt>*.txt; *.h; *.inc</tExt>\n    <pExt>*.plm</pExt>\n    <CppX>*.cpp</CppX>\n    <nMigrate>0</nMigrate>\n  </Extensions>\n\n  <DaveTm>\n    <dwLowDateTime>0</dwLowDateTime>\n    <dwHighDateTime>0</dwHighDateTime>\n  </DaveTm>\n\n  <Target>\n    <TargetName>game-dbg</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\dbg\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>1</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>3</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>1</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>3</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>Segger\\JL2CM3.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGUARM</Key>\n          <Name>/</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>JL2CM3</Key>\n          <Name>-U440060969 -O207 -S2 -ZTIFSpeedSel5000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00(\"ARM CoreSight SW-DP\") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO7 -FD20000000 -FC8000 -FN1 -FF0GECKOP2.FLM -FS00 -FL040000 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>UL2CM3(-O207 -S0 -C0 -FO7  -FN1 -FC8000 -FD20000000 -FF0GECKOP2 -FL020000 -FS00 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E2006F4 -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Target>\n    <TargetName>game-rel</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\rel\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>0</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>3</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>1</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>3</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>Segger\\JL2CM3.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>JL2CM3</Key>\n          <Name>-U440060969 -O207 -S2 -ZTIFSpeedSel5000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00(\"ARM CoreSight SW-DP\") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO7 -FD20000000 -FC8000 -FN1 -FF0GECKOP2.FLM -FS00 -FL020000 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGUARM</Key>\n          <Name>/</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E10259B -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>-O207 -S0 -C0 -FO7  -FN1 -FC8000 -FD20000000 -FF0GECKOP2 -FL020000 -FS00 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM)</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Group>\n    <GroupName>Applicatioin</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>1</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\bsp.c</PathWithFileName>\n      <FilenameWithoutPath>bsp.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>2</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\main.c</PathWithFileName>\n      <FilenameWithoutPath>main.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>3</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\game.h</PathWithFileName>\n      <FilenameWithoutPath>game.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>4</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\include\\qstamp.c</PathWithFileName>\n      <FilenameWithoutPath>qstamp.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>5</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\mine1.c</PathWithFileName>\n      <FilenameWithoutPath>mine1.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>6</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\mine2.c</PathWithFileName>\n      <FilenameWithoutPath>mine2.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>7</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\missile.c</PathWithFileName>\n      <FilenameWithoutPath>missile.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>8</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\ship.c</PathWithFileName>\n      <FilenameWithoutPath>ship.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>9</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\tunnel.c</PathWithFileName>\n      <FilenameWithoutPath>tunnel.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>efm32pg1b</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>10</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_cmu.c</PathWithFileName>\n      <FilenameWithoutPath>em_cmu.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>11</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_emu.c</PathWithFileName>\n      <FilenameWithoutPath>em_emu.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>12</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_gpio.c</PathWithFileName>\n      <FilenameWithoutPath>em_gpio.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>13</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_int.c</PathWithFileName>\n      <FilenameWithoutPath>em_int.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>14</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_rtcc.c</PathWithFileName>\n      <FilenameWithoutPath>em_rtcc.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>15</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_system.c</PathWithFileName>\n      <FilenameWithoutPath>em_system.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>16</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\system_efm32pg1b.c</PathWithFileName>\n      <FilenameWithoutPath>system_efm32pg1b.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>17</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\display_ls013b7dh03.c</PathWithFileName>\n      <FilenameWithoutPath>display_ls013b7dh03.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>18</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\displaypalemlib.c</PathWithFileName>\n      <FilenameWithoutPath>displaypalemlib.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>19</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_prs.c</PathWithFileName>\n      <FilenameWithoutPath>em_prs.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>20</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_usart.c</PathWithFileName>\n      <FilenameWithoutPath>em_usart.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>21</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\udelay.c</PathWithFileName>\n      <FilenameWithoutPath>udelay.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>22</FileNumber>\n      <FileType>2</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\arm\\startup_efm32pg1b.s</PathWithFileName>\n      <FilenameWithoutPath>startup_efm32pg1b.s</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>23</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</PathWithFileName>\n      <FilenameWithoutPath>qepn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>24</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</PathWithFileName>\n      <FilenameWithoutPath>qfn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>25</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qvn\\qvn.c</PathWithFileName>\n      <FilenameWithoutPath>qvn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP_port</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>26</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qfn_port.h</PathWithFileName>\n      <FilenameWithoutPath>qfn_port.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>27</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qvn_port.c</PathWithFileName>\n      <FilenameWithoutPath>qvn_port.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n</ProjectOpt>\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/qv/armclang/game-qv.uvprojx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<Project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_projx.xsd\">\n\n  <SchemaVersion>2.1</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Targets>\n    <Target>\n      <TargetName>game-dbg</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6130001::V6.13.1::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>EFM32PG1B200F256GM48</Device>\n          <Vendor>Silicon Labs</Vendor>\n          <PackID>SiliconLabs.EFM32PG1B_DFP.5.5.0</PackID>\n          <PackURL>https://www.silabs.com/documents/public/cmsis-packs/</PackURL>\n          <Cpu>IRAM(0x20000000,0x00008000) IROM(0x00000000,0x00020000) CPUTYPE(\"Cortex-M4\") FPU2 CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC8000 -FN1 -FF0GECKOP2 -FS00 -FL020000 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:EFM32PG1B200F256GM48$Device\\EFM32PG1B\\Include\\em_device.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:EFM32PG1B200F256GM48$SVD\\EFM32PG1B\\EFM32PG1B200F256GM48.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\dbg\\</OutputDirectory>\n          <OutputName>game-qv</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>1</DebugInformation>\n          <BrowseInformation>1</BrowseInformation>\n          <ListingPath>.\\dbg\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>cmd /c \"del .\\dbg\\qstamp.o\"</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\dbg\\game-qv.bin .\\dbg\\game-qv.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>1</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4096</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3>\"\" ()</Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M4\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>2</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x20000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x20000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>1</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>0</vShortEn>\n            <vShortWch>0</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>EFM32PG1B200F256GM48=1 __FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\efm32pg1b</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile></ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Applicatioin</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>game.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\game.h</FilePath>\n            </File>\n            <File>\n              <FileName>qstamp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\include\\qstamp.c</FilePath>\n            </File>\n            <File>\n              <FileName>mine1.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\mine1.c</FilePath>\n            </File>\n            <File>\n              <FileName>mine2.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\mine2.c</FilePath>\n            </File>\n            <File>\n              <FileName>missile.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\missile.c</FilePath>\n            </File>\n            <File>\n              <FileName>ship.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\ship.c</FilePath>\n            </File>\n            <File>\n              <FileName>tunnel.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\tunnel.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>efm32pg1b</GroupName>\n          <Files>\n            <File>\n              <FileName>em_cmu.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_cmu.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_emu.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_emu.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_gpio.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_gpio.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_int.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_int.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_rtcc.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_rtcc.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_system.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_system.c</FilePath>\n            </File>\n            <File>\n              <FileName>system_efm32pg1b.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\system_efm32pg1b.c</FilePath>\n            </File>\n            <File>\n              <FileName>display_ls013b7dh03.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\display_ls013b7dh03.c</FilePath>\n            </File>\n            <File>\n              <FileName>displaypalemlib.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\displaypalemlib.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_prs.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_prs.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_usart.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_usart.c</FilePath>\n            </File>\n            <File>\n              <FileName>udelay.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\udelay.c</FilePath>\n            </File>\n            <File>\n              <FileName>startup_efm32pg1b.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\arm\\startup_efm32pg1b.s</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qvn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qvn\\qvn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qvn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qvn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n    <Target>\n      <TargetName>game-rel</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6130001::V6.13.1::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>EFM32PG1B200F256GM48</Device>\n          <Vendor>Silicon Labs</Vendor>\n          <PackID>SiliconLabs.EFM32PG1B_DFP.5.5.0</PackID>\n          <PackURL>https://www.silabs.com/documents/public/cmsis-packs/</PackURL>\n          <Cpu>IRAM(0x20000000,0x00008000) IROM(0x00000000,0x00020000) CPUTYPE(\"Cortex-M4\") FPU2 CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC8000 -FN1 -FF0GECKOP2 -FS00 -FL020000 -FP0($$Device:EFM32PG1B200F256GM48$Flash\\GECKOP2.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:EFM32PG1B200F256GM48$Device\\EFM32PG1B\\Include\\em_device.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:EFM32PG1B200F256GM48$SVD\\EFM32PG1B\\EFM32PG1B200F256GM48.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\rel\\</OutputDirectory>\n          <OutputName>game-qv</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>0</DebugInformation>\n          <BrowseInformation>0</BrowseInformation>\n          <ListingPath>.\\rel\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>cmd /c \"del .\\rel\\qstamp.o\"</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\rel\\game-qv.bin .\\rel\\game-qv.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>1</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4096</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3>\"\" ()</Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M4\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>2</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x20000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x20000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>1</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>0</vShortEn>\n            <vShortWch>0</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>NDEBUG EFM32PG1B200F256GM48=1 __FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\efm32pg1b</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile>game-qv.sct</ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Applicatioin</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>game.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\game.h</FilePath>\n            </File>\n            <File>\n              <FileName>qstamp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\include\\qstamp.c</FilePath>\n            </File>\n            <File>\n              <FileName>mine1.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\mine1.c</FilePath>\n            </File>\n            <File>\n              <FileName>mine2.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\mine2.c</FilePath>\n            </File>\n            <File>\n              <FileName>missile.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\missile.c</FilePath>\n            </File>\n            <File>\n              <FileName>ship.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\ship.c</FilePath>\n            </File>\n            <File>\n              <FileName>tunnel.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\tunnel.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>efm32pg1b</GroupName>\n          <Files>\n            <File>\n              <FileName>em_cmu.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_cmu.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_emu.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_emu.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_gpio.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_gpio.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_int.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_int.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_rtcc.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_rtcc.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_system.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_system.c</FilePath>\n            </File>\n            <File>\n              <FileName>system_efm32pg1b.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\system_efm32pg1b.c</FilePath>\n            </File>\n            <File>\n              <FileName>display_ls013b7dh03.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\display_ls013b7dh03.c</FilePath>\n            </File>\n            <File>\n              <FileName>displaypalemlib.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\displaypalemlib.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_prs.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_prs.c</FilePath>\n            </File>\n            <File>\n              <FileName>em_usart.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_usart.c</FilePath>\n            </File>\n            <File>\n              <FileName>udelay.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\udelay.c</FilePath>\n            </File>\n            <File>\n              <FileName>startup_efm32pg1b.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\arm\\startup_efm32pg1b.s</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qvn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qvn\\qvn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qvn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qvn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n  </Targets>\n\n  <RTE>\n    <apis/>\n    <components/>\n    <files/>\n  </RTE>\n\n</Project>\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/qv/bsp.c",
    "content": "/*****************************************************************************\n* Product: \"Fly 'n' Shoot\" game example, EFM32-SLSTK3401A board, QV kernel\n* Last updated for version 5.8.0\n* Last updated on  2016-11-06\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"game.h\"\n#include \"bsp.h\"\n\n#include \"em_device.h\"  /* the device specific header (SiLabs) */\n#include \"em_chip.h\"    /* Chip errata (SiLabs) */\n#include \"em_cmu.h\"     /* Clock Management Unit (SiLabs) */\n#include \"em_gpio.h\"    /* GPIO (SiLabs) */\n#include \"em_usart.h\"   /* USART (SiLabs) */\n#include \"display_ls013b7dh03.h\" /* LS013b7DH03 display (SiLabs/QL) */\n/* add other drivers if necessary... */\n\nQ_DEFINE_THIS_FILE\n\n/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n* Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n* DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n*/\nenum KernelUnawareISRs { /* see NOTE00 */\n    /* ... */\n    MAX_KERNEL_UNAWARE_CMSIS_PRI  /* keep always last */\n};\n/* \"kernel-unaware\" interrupts can't overlap \"kernel-aware\" interrupts */\nQ_ASSERT_COMPILE(MAX_KERNEL_UNAWARE_CMSIS_PRI <= QF_AWARE_ISR_CMSIS_PRI);\n\nenum KernelAwareISRs {\n    GPIO_EVEN_PRIO = QF_AWARE_ISR_CMSIS_PRI, /* see NOTE00 */\n    SYSTICK_PRIO,\n    /* ... */\n    MAX_KERNEL_AWARE_CMSIS_PRI /* keep always last */\n};\n/* \"kernel-aware\" interrupts should not overlap the PendSV priority */\nQ_ASSERT_COMPILE(MAX_KERNEL_AWARE_CMSIS_PRI <= (0xFF >>(8-__NVIC_PRIO_BITS)));\n\n/* ISRs defined in this BSP ------------------------------------------------*/\nvoid SysTick_Handler(void);\nvoid GPIO_EVEN_IRQHandler(void);\nvoid USART0_RX_IRQHandler(void);\n\n/* Local-scope objects -----------------------------------------------------*/\n#define LED_PORT    gpioPortF\n#define LED0_PIN    4\n#define LED1_PIN    5\n\n#define PB_PORT     gpioPortF\n#define PB0_PIN     6\n#define PB1_PIN     7\n\n/* LCD geometry and frame buffer */\nstatic uint32_t l_fb[BSP_SCREEN_HEIGHT + 1][BSP_SCREEN_WIDTH / 32U];\n\n/* the walls buffer */\nstatic uint32_t l_walls[GAME_TUNNEL_HEIGHT + 1][BSP_SCREEN_WIDTH / 32U];\n\nstatic unsigned l_rnd;  /* random seed */\nstatic void paintBits(uint8_t x, uint8_t y, uint8_t const *bits, uint8_t h);\nstatic void paintBitsClear(uint8_t x, uint8_t y,\n                           uint8_t const *bits, uint8_t h);\n\n/* ISRs used in the application ==========================================*/\nvoid SysTick_Handler(void) {\n    QF_tickXISR(0U); /* process time events for rate 0 */\n\n    /* post TIME_TICK events to all interested active objects... */\n    QACTIVE_POST_ISR((QActive *)&AO_Tunnel,  TIME_TICK_SIG, 0);\n    QACTIVE_POST_ISR((QActive *)&AO_Ship,    TIME_TICK_SIG, 0);\n    QACTIVE_POST_ISR((QActive *)&AO_Missile, TIME_TICK_SIG, 0);\n\n    {\n        /* state of the button debouncing, see below */\n        static struct ButtonsDebouncing {\n            uint32_t depressed;\n            uint32_t previous;\n        } buttons = { ~0U, ~0U };\n        uint32_t current;\n        uint32_t tmp;\n\n       /* Perform the debouncing of buttons. The algorithm for debouncing\n       * adapted from the book \"Embedded Systems Dictionary\" by Jack Ganssle\n       * and Michael Barr, page 71.\n       */\n       current = ~GPIO->P[PB_PORT].DIN; /* read PB0 and BP1 */\n       tmp = buttons.depressed; /* save the debounced depressed buttons */\n       buttons.depressed |= (buttons.previous & current); /* set depressed */\n       buttons.depressed &= (buttons.previous | current); /* clear released */\n       buttons.previous   = current; /* update the history */\n       tmp ^= buttons.depressed;     /* changed debounced depressed */\n       if ((tmp & (1U << PB0_PIN)) != 0U) {  /* debounced PB0 state changed? */\n           if ((buttons.depressed & (1U << PB0_PIN)) != 0U) {/*PB0 depressed?*/\n               QACTIVE_POST_ISR((QActive *)&AO_Ship,   PLAYER_TRIGGER_SIG, 0U);\n               QACTIVE_POST_ISR((QActive *)&AO_Tunnel, PLAYER_TRIGGER_SIG, 0U);\n           }\n       }\n    }\n}\n/*..........................................................................*/\nvoid GPIO_EVEN_IRQHandler(void) {\n    QACTIVE_POST_ISR((QActive *)&AO_Tunnel, TAKE_OFF_SIG, 0U);\n}\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    /* Chip errata */\n    CHIP_Init();\n\n    /* NOTE: SystemInit() already called from startup_TM4C123GH6PM.s\n    *  but SystemCoreClock needs to be updated\n    */\n    SystemCoreClockUpdate();\n\n\n    /* Do NOT to use the automatic FPU state preservation and\n    * do NOT to use the FPU lazy stacking.\n    *\n    * NOTE:\n    * Use the following setting when FPU is NOT used in any ISR.\n    */\n    FPU->FPCCR &= ~((1U << FPU_FPCCR_ASPEN_Pos) | (1U << FPU_FPCCR_LSPEN_Pos));\n\n    /* enable clock for to the peripherals used by this application... */\n    CMU_ClockEnable(cmuClock_HFPER, true);\n    CMU_ClockEnable(cmuClock_GPIO,  true);\n    CMU_ClockEnable(cmuClock_HFPER, true);\n    CMU_ClockEnable(cmuClock_GPIO,  true);\n\n    /* configure the LEDs */\n    GPIO_PinModeSet(LED_PORT, LED0_PIN, gpioModePushPull, 0);\n    GPIO_PinModeSet(LED_PORT, LED1_PIN, gpioModePushPull, 0);\n    GPIO_PinOutClear(LED_PORT, LED0_PIN);\n    GPIO_PinOutClear(LED_PORT, LED1_PIN);\n\n    /* configure the Buttons */\n    GPIO_PinModeSet(PB_PORT, PB0_PIN, gpioModeInputPull, 1);\n    GPIO_PinModeSet(PB_PORT, PB1_PIN, gpioModeInputPull, 1);\n\n    /* Initialize the DISPLAY driver. */\n    if (!Display_init()) {\n        Q_ERROR();\n    }\n}\n\n/*..........................................................................*/\nvoid BSP_updateScreen(void) {\n    GPIO->P[LED_PORT].DOUT |=  (1U << LED1_PIN);\n    Display_sendPA(&l_fb[0][0], 0, LS013B7DH03_HEIGHT);\n    GPIO->P[LED_PORT].DOUT &= ~(1U << LED1_PIN);\n}\n/*..........................................................................*/\nvoid BSP_clearFB() {\n    uint_fast8_t y;\n    for (y = 0U; y < BSP_SCREEN_HEIGHT; ++y) {\n        l_fb[y][0] = 0U;\n        l_fb[y][1] = 0U;\n        l_fb[y][2] = 0U;\n        l_fb[y][3] = 0U;\n    }\n}\n/*..........................................................................*/\nvoid BSP_clearWalls() {\n    uint_fast8_t y;\n    for (y = 0U; y < GAME_TUNNEL_HEIGHT; ++y) {\n        l_walls[y][0] = 0U;\n        l_walls[y][1] = 0U;\n        l_walls[y][2] = 0U;\n        l_walls[y][3] = 0U;\n    }\n}\n/*..........................................................................*/\nbool BSP_isThrottle(void) { /* is the throttle button depressed? */\n    return (GPIO->P[PB_PORT].DIN & (1U << PB1_PIN)) == 0U;\n}\n/*..........................................................................*/\nvoid BSP_paintString(uint8_t x, uint8_t y, char const *str) {\n    static uint8_t const font5x7[95][7] = {\n        { 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U }, /*   */\n        { 0x04U, 0x04U, 0x04U, 0x04U, 0x00U, 0x00U, 0x04U }, /* ! */\n        { 0x0AU, 0x0AU, 0x0AU, 0x00U, 0x00U, 0x00U, 0x00U }, /* \" */\n        { 0x0AU, 0x0AU, 0x1FU, 0x0AU, 0x1FU, 0x0AU, 0x0AU }, /* # */\n        { 0x04U, 0x1EU, 0x05U, 0x0EU, 0x14U, 0x0FU, 0x04U }, /* $ */\n        { 0x03U, 0x13U, 0x08U, 0x04U, 0x02U, 0x19U, 0x18U }, /* % */\n        { 0x06U, 0x09U, 0x05U, 0x02U, 0x15U, 0x09U, 0x16U }, /* & */\n        { 0x06U, 0x04U, 0x02U, 0x00U, 0x00U, 0x00U, 0x00U }, /* ' */\n        { 0x08U, 0x04U, 0x02U, 0x02U, 0x02U, 0x04U, 0x08U }, /* ( */\n        { 0x02U, 0x04U, 0x08U, 0x08U, 0x08U, 0x04U, 0x02U }, /* ) */\n        { 0x00U, 0x04U, 0x15U, 0x0EU, 0x15U, 0x04U, 0x00U }, /* * */\n        { 0x00U, 0x04U, 0x04U, 0x1FU, 0x04U, 0x04U, 0x00U }, /* + */\n        { 0x00U, 0x00U, 0x00U, 0x00U, 0x06U, 0x04U, 0x02U }, /* , */\n        { 0x00U, 0x00U, 0x00U, 0x1FU, 0x00U, 0x00U, 0x00U }, /* - */\n        { 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x06U, 0x06U }, /* . */\n        { 0x00U, 0x10U, 0x08U, 0x04U, 0x02U, 0x01U, 0x00U }, /* / */\n        { 0x0EU, 0x11U, 0x19U, 0x15U, 0x13U, 0x11U, 0x0EU }, /* 0 */\n        { 0x04U, 0x06U, 0x04U, 0x04U, 0x04U, 0x04U, 0x0EU }, /* 1 */\n        { 0x0EU, 0x11U, 0x10U, 0x08U, 0x04U, 0x02U, 0x1FU }, /* 2 */\n        { 0x1FU, 0x08U, 0x04U, 0x08U, 0x10U, 0x11U, 0x0EU }, /* 3 */\n        { 0x08U, 0x0CU, 0x0AU, 0x09U, 0x1FU, 0x08U, 0x08U }, /* 4 */\n        { 0x1FU, 0x01U, 0x0FU, 0x10U, 0x10U, 0x11U, 0x0EU }, /* 5 */\n        { 0x0CU, 0x02U, 0x01U, 0x0FU, 0x11U, 0x11U, 0x0EU }, /* 6 */\n        { 0x1FU, 0x10U, 0x08U, 0x04U, 0x02U, 0x02U, 0x02U }, /* 7 */\n        { 0x0EU, 0x11U, 0x11U, 0x0EU, 0x11U, 0x11U, 0x0EU }, /* 8 */\n        { 0x0EU, 0x11U, 0x11U, 0x1EU, 0x10U, 0x08U, 0x06U }, /* 9 */\n        { 0x00U, 0x06U, 0x06U, 0x00U, 0x06U, 0x06U, 0x00U }, /* : */\n        { 0x00U, 0x06U, 0x06U, 0x00U, 0x06U, 0x04U, 0x02U }, /* ; */\n        { 0x08U, 0x04U, 0x02U, 0x01U, 0x02U, 0x04U, 0x08U }, /* < */\n        { 0x00U, 0x00U, 0x1FU, 0x00U, 0x1FU, 0x00U, 0x00U }, /* = */\n        { 0x02U, 0x04U, 0x08U, 0x10U, 0x08U, 0x04U, 0x02U }, /* > */\n        { 0x0EU, 0x11U, 0x10U, 0x08U, 0x04U, 0x00U, 0x04U }, /* ? */\n        { 0x0EU, 0x11U, 0x10U, 0x16U, 0x15U, 0x15U, 0x0EU }, /* @ */\n        { 0x0EU, 0x11U, 0x11U, 0x11U, 0x1FU, 0x11U, 0x11U }, /* A */\n        { 0x0FU, 0x11U, 0x11U, 0x0FU, 0x11U, 0x11U, 0x0FU }, /* B */\n        { 0x0EU, 0x11U, 0x01U, 0x01U, 0x01U, 0x11U, 0x0EU }, /* C */\n        { 0x07U, 0x09U, 0x11U, 0x11U, 0x11U, 0x09U, 0x07U }, /* D */\n        { 0x1FU, 0x01U, 0x01U, 0x0FU, 0x01U, 0x01U, 0x1FU }, /* E */\n        { 0x1FU, 0x01U, 0x01U, 0x0FU, 0x01U, 0x01U, 0x01U }, /* F */\n        { 0x0EU, 0x11U, 0x01U, 0x1DU, 0x11U, 0x11U, 0x1EU }, /* G */\n        { 0x11U, 0x11U, 0x11U, 0x1FU, 0x11U, 0x11U, 0x11U }, /* H */\n        { 0x0EU, 0x04U, 0x04U, 0x04U, 0x04U, 0x04U, 0x0EU }, /* I */\n        { 0x1CU, 0x08U, 0x08U, 0x08U, 0x08U, 0x09U, 0x06U }, /* J */\n        { 0x11U, 0x09U, 0x05U, 0x03U, 0x05U, 0x09U, 0x11U }, /* K */\n        { 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, 0x1FU }, /* L */\n        { 0x11U, 0x1BU, 0x15U, 0x15U, 0x11U, 0x11U, 0x11U }, /* M */\n        { 0x11U, 0x11U, 0x13U, 0x15U, 0x19U, 0x11U, 0x11U }, /* N */\n        { 0x0EU, 0x11U, 0x11U, 0x11U, 0x11U, 0x11U, 0x0EU }, /* O */\n        { 0x0FU, 0x11U, 0x11U, 0x0FU, 0x01U, 0x01U, 0x01U }, /* P */\n        { 0x0EU, 0x11U, 0x11U, 0x11U, 0x15U, 0x09U, 0x16U }, /* Q */\n        { 0x0FU, 0x11U, 0x11U, 0x0FU, 0x05U, 0x09U, 0x11U }, /* R */\n        { 0x1EU, 0x01U, 0x01U, 0x0EU, 0x10U, 0x10U, 0x0FU }, /* S */\n        { 0x1FU, 0x04U, 0x04U, 0x04U, 0x04U, 0x04U, 0x04U }, /* T */\n        { 0x11U, 0x11U, 0x11U, 0x11U, 0x11U, 0x11U, 0x0EU }, /* U */\n        { 0x11U, 0x11U, 0x11U, 0x11U, 0x11U, 0x0AU, 0x04U }, /* V */\n        { 0x11U, 0x11U, 0x11U, 0x15U, 0x15U, 0x15U, 0x0AU }, /* W */\n        { 0x11U, 0x11U, 0x0AU, 0x04U, 0x0AU, 0x11U, 0x11U }, /* X */\n        { 0x11U, 0x11U, 0x11U, 0x0AU, 0x04U, 0x04U, 0x04U }, /* Y */\n        { 0x1FU, 0x10U, 0x08U, 0x04U, 0x02U, 0x01U, 0x1FU }, /* Z */\n        { 0x0EU, 0x02U, 0x02U, 0x02U, 0x02U, 0x02U, 0x0EU }, /* [ */\n        { 0x00U, 0x01U, 0x02U, 0x04U, 0x08U, 0x10U, 0x00U }, /* \\ */\n        { 0x0EU, 0x08U, 0x08U, 0x08U, 0x08U, 0x08U, 0x0EU }, /* ] */\n        { 0x04U, 0x0AU, 0x11U, 0x00U, 0x00U, 0x00U, 0x00U }, /* ^ */\n        { 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x1FU }, /* _ */\n        { 0x02U, 0x04U, 0x08U, 0x00U, 0x00U, 0x00U, 0x00U }, /* ` */\n        { 0x00U, 0x00U, 0x0EU, 0x10U, 0x1EU, 0x11U, 0x1EU }, /* a */\n        { 0x01U, 0x01U, 0x0DU, 0x13U, 0x11U, 0x11U, 0x0FU }, /* b */\n        { 0x00U, 0x00U, 0x0EU, 0x01U, 0x01U, 0x11U, 0x0EU }, /* c */\n        { 0x10U, 0x10U, 0x16U, 0x19U, 0x11U, 0x11U, 0x1EU }, /* d */\n        { 0x00U, 0x00U, 0x0EU, 0x11U, 0x1FU, 0x01U, 0x0EU }, /* e */\n        { 0x0CU, 0x12U, 0x02U, 0x07U, 0x02U, 0x02U, 0x02U }, /* f */\n        { 0x00U, 0x1EU, 0x11U, 0x11U, 0x1EU, 0x10U, 0x0EU }, /* g */\n        { 0x01U, 0x01U, 0x0DU, 0x13U, 0x11U, 0x11U, 0x11U }, /* h */\n        { 0x04U, 0x00U, 0x06U, 0x04U, 0x04U, 0x04U, 0x0EU }, /* i */\n        { 0x08U, 0x00U, 0x0CU, 0x08U, 0x08U, 0x09U, 0x06U }, /* j */\n        { 0x01U, 0x01U, 0x09U, 0x05U, 0x03U, 0x05U, 0x09U }, /* k */\n        { 0x06U, 0x04U, 0x04U, 0x04U, 0x04U, 0x04U, 0x0EU }, /* l */\n        { 0x00U, 0x00U, 0x0BU, 0x15U, 0x15U, 0x11U, 0x11U }, /* m */\n        { 0x00U, 0x00U, 0x0DU, 0x13U, 0x11U, 0x11U, 0x11U }, /* n */\n        { 0x00U, 0x00U, 0x0EU, 0x11U, 0x11U, 0x11U, 0x0EU }, /* o */\n        { 0x00U, 0x00U, 0x0FU, 0x11U, 0x0FU, 0x01U, 0x01U }, /* p */\n        { 0x00U, 0x00U, 0x16U, 0x19U, 0x1EU, 0x10U, 0x10U }, /* q */\n        { 0x00U, 0x00U, 0x0DU, 0x13U, 0x01U, 0x01U, 0x01U }, /* r */\n        { 0x00U, 0x00U, 0x0EU, 0x01U, 0x0EU, 0x10U, 0x0FU }, /* s */\n        { 0x02U, 0x02U, 0x07U, 0x02U, 0x02U, 0x12U, 0x0CU }, /* t */\n        { 0x00U, 0x00U, 0x11U, 0x11U, 0x11U, 0x19U, 0x16U }, /* u */\n        { 0x00U, 0x00U, 0x11U, 0x11U, 0x11U, 0x0AU, 0x04U }, /* v */\n        { 0x00U, 0x00U, 0x11U, 0x11U, 0x15U, 0x15U, 0x0AU }, /* w */\n        { 0x00U, 0x00U, 0x11U, 0x0AU, 0x04U, 0x0AU, 0x11U }, /* x */\n        { 0x00U, 0x00U, 0x11U, 0x11U, 0x1EU, 0x10U, 0x0EU }, /* y */\n        { 0x00U, 0x00U, 0x1FU, 0x08U, 0x04U, 0x02U, 0x1FU }, /* z */\n        { 0x08U, 0x04U, 0x04U, 0x02U, 0x04U, 0x04U, 0x08U }, /* { */\n        { 0x04U, 0x04U, 0x04U, 0x04U, 0x04U, 0x04U, 0x04U }, /* | */\n        { 0x02U, 0x04U, 0x04U, 0x08U, 0x04U, 0x04U, 0x02U }, /* } */\n        { 0x02U, 0x15U, 0x08U, 0x00U, 0x00U, 0x00U, 0x00U }, /* ~ */\n    };\n\n    for (; *str != '\\0'; ++str, x += 6) {\n        uint8_t const *ch = &font5x7[*str - ' '][0];\n        paintBitsClear(x, y, ch, 7);\n    }\n}\n\n/*==========================================================================*/\ntypedef struct { /* the auxiliary structure to hold const bitmaps */\n    uint8_t const *bits; /* the bits in the bitmap */\n    uint8_t height;      /* the height of the bitmap */\n} Bitmap;\n\n/* bitmap of the Ship:\n*\n*     x....\n*     xxx..\n*     xxxxx\n*/\nstatic uint8_t const ship_bits[] = {\n    0x01U, 0x07U, 0x1FU\n};\n\n/* bitmap of the Missile:\n*\n*     xxxx\n*/\nstatic uint8_t const missile_bits[] = {\n    0x0FU\n};\n\n/* bitmap of the Mine type-1:\n*\n*     .x.\n*     xxx\n*     .x.\n*/\nstatic uint8_t const mine1_bits[] = {\n    0x02U, 0x07U, 0x02U\n};\n\n/* bitmap of the Mine type-2:\n*\n*     x..x\n*     .xx.\n*     .xx.\n*     x..x\n*/\nstatic uint8_t const mine2_bits[] = {\n    0x09U, 0x06U, 0x06U, 0x09U\n};\n\n/* Mine type-2 is nastier than Mine type-1. The type-2 mine can\n* hit the Ship with any of its \"tentacles\". However, it can be\n* destroyed by the Missile only by hitting its center, defined as\n* the following bitmap:\n*\n*     ....\n*     .xx.\n*     .xx.\n*/\nstatic uint8_t const mine2_missile_bits[] = {\n    0x00U, 0x06U, 0x06U\n};\n\n/*\n* The bitmap of the explosion stage 0:\n*\n*     .......\n*     ...x...\n*     ..x.x..\n*     ...x...\n*/\nstatic uint8_t const explosion0_bits[] = {\n    0x00U, 0x08U, 0x14U, 0x08U\n};\n\n/*\n* The bitmap of the explosion stage 1:\n*\n*     .......\n*     ..x.x..\n*     ...x...\n*     ..x.x..\n*/\nstatic uint8_t const explosion1_bits[] = {\n    0x00U, 0x14U, 0x08U, 0x14U\n};\n\n/*\n* The bitmap of the explosion stage 2:\n*\n*     .x...x.\n*     ..x.x..\n*     ...x...\n*     ..x.x..\n*     .x...x.\n*/\nstatic uint8_t const explosion2_bits[] = {\n    0x11U, 0x0AU, 0x04U, 0x0AU, 0x11U\n};\n\n/*\n* The bitmap of the explosion stage 3:\n*\n*     x..x..x\n*     .x.x.x.\n*     ..x.x..\n*     xx.x.xx\n*     ..x.x..\n*     .x.x.x.\n*     x..x..x\n*/\nstatic uint8_t const explosion3_bits[] = {\n    0x49, 0x2A, 0x14, 0x6B, 0x14, 0x2A, 0x49\n};\n\nstatic Bitmap const l_bitmap[MAX_BMP] = {\n    { ship_bits,       Q_DIM(ship_bits) },\n    { missile_bits,    Q_DIM(missile_bits) },\n    { mine1_bits,      Q_DIM(mine1_bits) },\n    { mine2_bits,      Q_DIM(mine2_bits) },\n    { mine2_missile_bits, Q_DIM(mine2_missile_bits) },\n    { explosion0_bits, Q_DIM(explosion0_bits) },\n    { explosion1_bits, Q_DIM(explosion1_bits) },\n    { explosion2_bits, Q_DIM(explosion2_bits) },\n    { explosion3_bits, Q_DIM(explosion3_bits) }\n};\n\n/*..........................................................................*/\nvoid BSP_paintBitmap(uint8_t x, uint8_t y, uint8_t bmp_id) {\n    Bitmap const *bmp = &l_bitmap[bmp_id];\n    paintBits(x, y, bmp->bits, bmp->height);\n}\n/*..........................................................................*/\nvoid BSP_advanceWalls(uint8_t top, uint8_t bottom) {\n    uint_fast8_t y;\n    for (y = 0U; y < GAME_TUNNEL_HEIGHT; ++y) {\n        /* shift the walls one pixel to the left */\n        l_walls[y][0] = (l_walls[y][0] >> 1) | (l_walls[y][1] << 31);\n        l_walls[y][1] = (l_walls[y][1] >> 1) | (l_walls[y][2] << 31);\n        l_walls[y][2] = (l_walls[y][2] >> 1) | (l_walls[y][3] << 31);\n        l_walls[y][3] = (l_walls[y][3] >> 1);\n\n        /* add new column of walls at the end */\n        if (y <= top) {\n            l_walls[y][3] |= (1U << 31);\n        }\n        if (y >= (GAME_TUNNEL_HEIGHT - bottom)) {\n            l_walls[y][3] |= (1U << 31);\n        }\n\n        /* copy the walls to the frame buffer */\n        l_fb[y][0] = l_walls[y][0];\n        l_fb[y][1] = l_walls[y][1];\n        l_fb[y][2] = l_walls[y][2];\n        l_fb[y][3] = l_walls[y][3];\n    }\n}\n/*..........................................................................*/\nbool BSP_doBitmapsOverlap(uint8_t bmp_id1, uint8_t x1, uint8_t y1,\n                          uint8_t bmp_id2, uint8_t x2, uint8_t y2)\n{\n    uint8_t y;\n    uint8_t y0;\n    uint8_t h;\n    uint32_t bits1;\n    uint32_t bits2;\n    Bitmap const *bmp1;\n    Bitmap const *bmp2;\n\n    Q_REQUIRE((bmp_id1 < Q_DIM(l_bitmap)) && (bmp_id2 < Q_DIM(l_bitmap)));\n\n    /* are the bitmaps close enough in x? */\n    if (x1 >= x2) {\n        if (x1 > x2 + 8U) {\n            return false;\n        }\n        x1 -= x2;\n        x2 = 0U;\n    }\n    else {\n        if (x2 > x1 + 8U) {\n            return false;\n        }\n        x2 -= x1;\n        x1 = 0U;\n    }\n\n    bmp1 = &l_bitmap[bmp_id1];\n    bmp2 = &l_bitmap[bmp_id2];\n    if ((y1 <= y2) && (y1 + bmp1->height > y2)) {\n        y0 = y2 - y1;\n        h = y1 + bmp1->height - y2;\n        if (h > bmp2->height) {\n            h = bmp2->height;\n        }\n        for (y = 0; y < h; ++y) { /* scan over the overlapping rows */\n            bits1 = ((uint32_t)bmp1->bits[y + y0] << x1);\n            bits2 = ((uint32_t)bmp2->bits[y] << x2);\n            if ((bits1 & bits2) != 0U) { /* do the bits overlap? */\n                return true; /* yes! */\n            }\n        }\n    }\n    else {\n        if ((y1 > y2) && (y2 + bmp2->height > y1)) {\n            y0 = y1 - y2;\n            h = y2 + bmp2->height - y1;\n            if (h > bmp1->height) {\n                h = bmp1->height;\n            }\n            for (y = 0; y < h; ++y) {  /* scan over the overlapping rows */\n                bits1 = ((uint32_t)bmp1->bits[y] << x1);\n                bits2 = ((uint32_t)bmp2->bits[y + y0] << x2);\n                if ((bits1 & bits2) != 0U) { /* do the bits overlap? */\n                                       return true; /* yes! */\n                }\n            }\n        }\n    }\n    return false; /* the bitmaps do not overlap */\n}\n/*..........................................................................*/\nbool BSP_isWallHit(uint8_t bmp_id, uint8_t x, uint8_t y) {\n    Bitmap const *bmp = &l_bitmap[bmp_id];\n    uint32_t shft = (x & 0x1FU);\n    uint32_t *walls = &l_walls[y][x >> 5];\n    for (y = 0; y < bmp->height; ++y, walls += (BSP_SCREEN_WIDTH >> 5)) {\n        if (*walls & ((uint32_t)bmp->bits[y] << shft)) {\n            return true;\n        }\n        if (shft > 24U) {\n            if (*(walls + 1) & ((uint32_t)bmp->bits[y] >> (32U - shft))) {\n                return true;\n            }\n        }\n    }\n    return false;\n}\n\n/*..........................................................................*/\nvoid BSP_updateScore(uint16_t score) {\n    char str[5];\n    uint16_t s = score;\n\n    if (score == 0U) {\n        BSP_paintString(1U, BSP_SCREEN_HEIGHT - 8U, \"SCORE:\");\n    }\n\n    /* update the SCORE area on the screeen */\n    str[4] = '\\0';\n    str[3] = (s % 10U) + '0'; s /= 10U;\n    str[2] = (s % 10U) + '0'; s /= 10U;\n    str[1] = (s % 10U) + '0'; s /= 10U;\n    str[0] = (s % 10U) + '0';\n    BSP_paintString(6U*6U, BSP_SCREEN_HEIGHT - 8U, str);\n}\n/*..........................................................................*/\nvoid BSP_displayOn(void) {\n    Display_enable(true);\n}\n/*..........................................................................*/\nvoid BSP_displayOff(void) {\n    Display_enable(false);\n}\n/*..........................................................................*/\nuint32_t BSP_random(void) {  /* a very cheap pseudo-random-number generator */\n    /* \"Super-Duper\" Linear Congruential Generator (LCG)\n    * LCG(2^32, 3*7*11*13*23, 0, seed)\n    */\n    l_rnd = l_rnd * (3U*7U*11U*13U*23U);\n    return l_rnd >> 8;\n}\n/*..........................................................................*/\nvoid BSP_randomSeed(uint32_t seed) {\n    l_rnd = seed;\n}\n\n/*--------------------------------------------------------------------------*/\n/*..........................................................................*/\nstatic void paintBits(uint8_t x, uint8_t y, uint8_t const *bits, uint8_t h) {\n    uint32_t *fb = &l_fb[y][x >> 5];\n    uint32_t shft = (x & 0x1FU);\n    for (y = 0; y < h; ++y, fb += (BSP_SCREEN_WIDTH >> 5)) {\n        *fb |= ((uint32_t)bits[y] << shft);\n        if (shft > 24U) {\n            *(fb + 1) |= ((uint32_t)bits[y] >> (32U - shft));\n        }\n    }\n}\n/*..........................................................................*/\nstatic void paintBitsClear(uint8_t x, uint8_t y,\n                           uint8_t const *bits, uint8_t h)\n{\n    uint32_t *fb = &l_fb[y][x >> 5];\n    uint32_t shft = (x & 0x1FU);\n    uint32_t mask1 = ~((uint32_t)0xFFU << shft);\n    uint32_t mask2;\n    if (shft > 24U) {\n        mask2 = ~(0xFFU >> (32U - shft));\n    }\n    for (y = 0; y < h; ++y, fb += (BSP_SCREEN_WIDTH >> 5)) {\n        *fb = ((*fb & mask1) | ((uint32_t)bits[y] << shft));\n        if (shft > 24U) {\n            *(fb + 1) = ((*(fb + 1) & mask2)\n                | ((uint32_t)bits[y] >> (32U - shft)));\n        }\n    }\n}\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    /* set up the SysTick timer to fire at BSP_TICKS_PER_SEC rate */\n    SysTick_Config(SystemCoreClock / BSP_TICKS_PER_SEC);\n\n    /* assing all priority bits for preemption-prio. and none to sub-prio. */\n    NVIC_SetPriorityGrouping(0U);\n\n    /* set priorities of ALL ISRs used in the system, see NOTE00\n    *\n    * !!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n    * Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n    * DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n    */\n    NVIC_SetPriority(SysTick_IRQn,   SYSTICK_PRIO);\n    NVIC_SetPriority(GPIO_EVEN_IRQn, GPIO_EVEN_PRIO);\n    /* ... */\n\n    /* enable IRQs... */\n    NVIC_EnableIRQ(GPIO_EVEN_IRQn);\n#ifdef Q_SPY\n    NVIC_EnableIRQ(USART0_RX_IRQn); /* UART0 interrupt used for QS-RX */\n#endif\n}\n/*..........................................................................*/\nvoid QF_stop(void) {\n}\n/*..........................................................................*/\nvoid QV_onIdle(void) {  /* called with interrupts disabled, see NOTE01 */\n    /* toggle the User LED on and then off, see NOTE02 */\n    GPIO->P[LED_PORT].DOUT |=  (1U << LED0_PIN);\n    GPIO->P[LED_PORT].DOUT &= ~(1U << LED0_PIN);\n\n#ifdef NDEBUG\n    /* Put the CPU and peripherals to the low-power mode.\n    * you might need to customize the clock management for your application,\n    * see the datasheet for your particular Cortex-M MCU.\n    */\n    QV_CPU_SLEEP();  /* atomically go to sleep and enable interrupts */\n#else\n    QF_INT_ENABLE(); /* just enable interrupts */\n#endif\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const *module, int loc) {\n    /*\n    * NOTE: add here your application-specific error handling\n    */\n    (void)module;\n    (void)loc;\n\n#ifndef NDEBUG\n    /* light up both LEDs */\n    GPIO->P[LED_PORT].DOUT |= ((1U << LED0_PIN) | (1U << LED1_PIN));\n    /* for debugging, hang on in an endless loop until PB1 is pressed... */\n    while ((GPIO->P[PB_PORT].DIN & (1U << PB1_PIN)) != 0) {\n    }\n#endif\n\n    NVIC_SystemReset();\n}\n\n/*****************************************************************************\n* NOTE00:\n* The QF_AWARE_ISR_CMSIS_PRI constant from the QF port specifies the highest\n* ISR priority that is disabled by the QF framework. The value is suitable\n* for the NVIC_SetPriority() CMSIS function.\n*\n* Only ISRs prioritized at or below the QF_AWARE_ISR_CMSIS_PRI level (i.e.,\n* with the numerical values of priorities equal or higher than\n* QF_AWARE_ISR_CMSIS_PRI) are allowed to call the QK_ISR_ENTRY/QK_ISR_ENTRY\n* macros or any other QF/QK  services. These ISRs are \"QF-aware\".\n*\n* Conversely, any ISRs prioritized above the QF_AWARE_ISR_CMSIS_PRI priority\n* level (i.e., with the numerical values of priorities less than\n* QF_AWARE_ISR_CMSIS_PRI) are never disabled and are not aware of the kernel.\n* Such \"QF-unaware\" ISRs cannot call any QF/QK services. In particular they\n* can NOT call the macros QK_ISR_ENTRY/QK_ISR_ENTRY. The only mechanism\n* by which a \"QF-unaware\" ISR can communicate with the QF framework is by\n* triggering a \"QF-aware\" ISR, which can post/publish events.\n*\n* NOTE01:\n* The QV_onIdle() callback is called with interrupts disabled, because the\n* determination of the idle condition might change by any interrupt posting\n* an event. QV_onIdle() must internally enable interrupts, ideally\n* atomically with putting the CPU to the power-saving mode.\n*\n* NOTE02:\n* The User LED is used to visualize the idle loop activity. The brightness\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/qv/gnu/Makefile",
    "content": "##############################################################################\n# Product: Makefile for QP-nano on EMF32-SLSTK3401A, QV-nano kernel, GNU-ARM\n# Last Updated for Version: 6.5.0\n# Date of the Last Update:  2019-04-15\n#\n#                    Q u a n t u m  L e a P s\n#                    ------------------------\n#                    Modern Embedded Software\n#\n# Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# https://www.state-machine.com\n# mailto:info@state-machine.com\n##############################################################################\n# examples of invoking this Makefile:\n# building configurations: Debug (default), Release, and Spy\n# make\n# make CONF=rel\n#\n# cleaning configurations: Debug (default), Release, and Spy\n# make clean\n# make CONF=rel clean\n#\n# NOTE:\n# To use this Makefile on Windows, you will need the GNU make utility, which\n# is included in the Qtools collection for Windows, see:\n#    http://sourceforge.net/projects/qpc/files/Qtools/\n#\n\n#-----------------------------------------------------------------------------\n# project name\n#\nPROJECT     := game-qv\n\n#-----------------------------------------------------------------------------\n# project directories\n#\n\n# location of the QP-nano framework (if not provided in an environemnt var.)\nifeq ($(QPN),)\nQPN := ../../../../..\nendif\n\n# QP port used in this project\nQP_PORT_DIR := $(QPN)/ports/arm-cm/qv/gnu\n\n# list of all source directories used by this project\nVPATH = \\\n\t.. \\\n\t../.. \\\n\t$(QPN)/src/qfn \\\n\t$(QPN)/src/qvn \\\n\t$(QP_PORT_DIR) \\\n\t$(QPN)/3rd_party/efm32pg1b \\\n\t$(QPN)/3rd_party/efm32pg1b/gnu\n\n# list of all include directories needed by this project\nINCLUDES  = \\\n\t-I../.. \\\n\t-I$(QPN)/include \\\n\t-I$(QP_PORT_DIR) \\\n\t-I$(QPN)/3rd_party/CMSIS/Include \\\n\t-I$(QPN)/3rd_party/efm32pg1b\n\n#-----------------------------------------------------------------------------\n# files\n#\n\n# assembler source files\nASM_SRCS :=\n\n# C source files\nC_SRCS := \\\n\tbsp.c \\\n\tmain.c \\\n\tmine1.c \\\n\tmine2.c \\\n\tmissile.c \\\n\tship.c \\\n\ttunnel.c \\\n\tstartup_efm32pg1b.c \\\n\tsystem_efm32pg1b.c \\\n\tem_cmu.c \\\n\tem_emu.c \\\n\tem_gpio.c \\\n\tem_int.c \\\n\tem_prs.c \\\n\tem_rtcc.c \\\n\tem_system.c \\\n\tem_usart.c \\\n\tudelay.c \\\n\tdisplay_ls013b7dh03.c \\\n\tdisplaypalemlib.c\n\n# C++ source files\nCPP_SRCS :=\n\nOUTPUT    := $(PROJECT)\nLD_SCRIPT := $(PROJECT).ld\n\nQP_SRCS := \\\n\tqepn.c \\\n\tqfn.c \\\n\tqvn.c \\\n\tqvn_port.c\n\nQP_ASMS := \\\n\n\nLIB_DIRS  :=\nLIBS      :=\n\n# defines\nDEFINES   := -DEFM32PG1B200F256GM48=1\n\n# ARM CPU, ARCH, FPU, and Float-ABI types...\n# ARM_CPU:   [cortex-m0 | cortex-m0plus | cortex-m1 | cortex-m3 | cortex-m4]\n# ARM_ARCH:  [6 | 7] (NOTE: must match ARM_CPU!)\n# ARM_FPU:   [ | vfp]\n# FLOAT_ABI: [ | soft | softfp | hard]\n#\nARM_CPU   := -mcpu=cortex-m4\nARM_ARCH  := 7   # NOTE: must match the ARM_CPU!\nARM_FPU   := -mfpu=vfp\nFLOAT_ABI := -mfloat-abi=softfp\n\n#-----------------------------------------------------------------------------\n# GNU-ARM toolset (NOTE: You need to adjust to your machine)\n# see https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads\n#\nifeq ($(GNU_ARM),)\nGNU_ARM := $(QTOOLS)/gnu_arm-none-eabi\nendif\n\n# make sure that the GNU-ARM toolset exists...\nifeq (\"$(wildcard $(GNU_ARM))\",\"\")\n$(error GNU_ARM toolset not found. Please adjust the Makefile)\nendif\n\nCC    := $(GNU_ARM)/bin/arm-none-eabi-gcc\nCPP   := $(GNU_ARM)/bin/arm-none-eabi-g++\nAS    := $(GNU_ARM)/bin/arm-none-eabi-as\nLINK  := $(GNU_ARM)/bin/arm-none-eabi-g++\nBIN   := $(GNU_ARM)/bin/arm-none-eabi-objcopy\n\n\n##############################################################################\n# Typically, you should not need to change anything below this line\n\n# basic utilities (included in Qtools for Windows), see:\n#    http://sourceforge.net/projects/qpc/files/Qtools\n\nMKDIR := mkdir\nRM    := rm\n\n#-----------------------------------------------------------------------------\n# build options for various configurations for ARM Cortex-M\n#\n\n# combine all the soruces...\nC_SRCS += $(QP_SRCS)\nASM_SRCS += $(QP_ASMS)\n\nifeq (rel, $(CONF)) # Release configuration ..................................\n\nBIN_DIR := rel\n\nASFLAGS = $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O1 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nCPPFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O1 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nelse # default Debug configuration ..........................................\n\nBIN_DIR := dbg\n\nASFLAGS = -g $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O $(INCLUDES) $(DEFINES)\n\nCPPFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O $(INCLUDES) $(DEFINES)\n\nendif # ......................................................................\n\n\nLINKFLAGS = -T$(LD_SCRIPT) $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb \\\n\t-specs=nosys.specs -specs=nano.specs \\\n\t-Wl,-Map,$(BIN_DIR)/$(OUTPUT).map,--cref,--gc-sections $(LIB_DIRS)\n\n\nASM_OBJS     := $(patsubst %.s,%.o,  $(notdir $(ASM_SRCS)))\nC_OBJS       := $(patsubst %.c,%.o,  $(notdir $(C_SRCS)))\nCPP_OBJS     := $(patsubst %.cpp,%.o,$(notdir $(CPP_SRCS)))\n\nTARGET_BIN   := $(BIN_DIR)/$(OUTPUT).bin\nTARGET_ELF   := $(BIN_DIR)/$(OUTPUT).elf\nASM_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(ASM_OBJS))\nC_OBJS_EXT   := $(addprefix $(BIN_DIR)/, $(C_OBJS))\nC_DEPS_EXT   := $(patsubst %.o, %.d, $(C_OBJS_EXT))\nCPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))\nCPP_DEPS_EXT := $(patsubst %.o, %.d, $(CPP_OBJS_EXT))\n\n# create $(BIN_DIR) if it does not exist\nifeq (\"$(wildcard $(BIN_DIR))\",\"\")\n$(shell $(MKDIR) $(BIN_DIR))\nendif\n\n#-----------------------------------------------------------------------------\n# rules\n#\n\nall: $(TARGET_BIN)\n#all: $(TARGET_ELF)\n\n$(TARGET_BIN): $(TARGET_ELF)\n\t$(BIN) -O binary $< $@\n\n$(TARGET_ELF) : $(ASM_OBJS_EXT) $(C_OBJS_EXT) $(CPP_OBJS_EXT)\n\t$(CC) $(CFLAGS) $(QPN)/include/qstamp.c -o $(BIN_DIR)/qstamp.o\n\t$(LINK) $(LINKFLAGS) -o $@ $^ $(BIN_DIR)/qstamp.o $(LIBS)\n\n$(BIN_DIR)/%.d : %.c\n\t$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@\n\n$(BIN_DIR)/%.d : %.cpp\n\t$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@\n\n$(BIN_DIR)/%.o : %.s\n\t$(AS) $(ASFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.c\n\t$(CC) $(CFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.cpp\n\t$(CPP) $(CPPFLAGS) $< -o $@\n\n# include dependency files only if our goal depends on their existence\nifneq ($(MAKECMDGOALS),clean)\n  ifneq ($(MAKECMDGOALS),show)\n-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)\n  endif\nendif\n\n\n.PHONY : clean\nclean:\n\t-$(RM) $(BIN_DIR)/*.o \\\n\t$(BIN_DIR)/*.d \\\n\t$(BIN_DIR)/*.bin \\\n\t$(BIN_DIR)/*.elf \\\n\t$(BIN_DIR)/*.map\n\t\nshow:\n\t@echo PROJECT = $(PROJECT)\n\t@echo CONF = $(CONF)\n\t@echo DEFINES = $(DEFINES)\n\t@echo ASM_FPU = $(ASM_FPU)\n\t@echo ASM_SRCS = $(ASM_SRCS)\n\t@echo C_SRCS = $(C_SRCS)\n\t@echo CPP_SRCS = $(CPP_SRCS)\n\t@echo ASM_OBJS_EXT = $(ASM_OBJS_EXT)\n\t@echo C_OBJS_EXT = $(C_OBJS_EXT)\n\t@echo C_DEPS_EXT = $(C_DEPS_EXT)\n\t@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)\n\t@echo TARGET_ELF = $(TARGET_ELF)\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/qv/gnu/README.txt",
    "content": "About this Example\n==================\nThis example can be built from the command prompt with the provided\nMakefile. The example can also be imported as a Makefile-based\nproject into Eclipse-based IDEs.\n\n\nThe Makefile\n============\nThe provided Makefile should be easy to adapt for your own projects.\nIt contains three build configurations: Debug (default), Release, and\nSpy.\n\nAlso, the Makefile has been specifically designed to work as an external\nMakefile with the Eclipse CDT.\n\nThe various build configurations are built as follows:\n\nmake\nmake CONF=rel\nmake CONF=spy\n\nmake clean\nmake CONF=rel clean\nmake CONF=spy clean\n\n***\nNOTE:\nThe installation folder of the GNU-ARM toolset on YOUR machine needs\nto be adjusted in the provided Makefile, by editing the symbol: GNU_ARM.\nAs described in the comment for this symbol, the GNU-ARM toolset is taken\nfrom: http://gnutoolchains.com/arm-eabi\n\nIt is highly recommened to use the same GNU-ARM distribution, especially\nfor ARM Cortex-M4F projects, due to the support for the hardware FPU\n(float-abi=hard).\n***\n\n\nAdjusting Stack and Heap Sizes\n==============================\nThe stack and heap sizes are determined in this project by the GCC linker\nscript (.ld file), which provides a template of the recommended GCC linker\nscript for QP applications.\n\n\nStartup Code\n============\nThe startup code for the EFM32PG1B200F256GM48 MCU used in this project\nis located in the \"3rd_party\" folder in the following location:\n\n3rd_party\\efm32pg1b\\gnu\\startup_efm32pg1b.c\n\nThe file startup_efm32pg1b.c provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/qv/gnu/flash.bat",
    "content": "::============================================================================\n:: Batch file to program the flash of EFM32-SLSTK3401A board\n:: \n:: NOTE: requires the J-Link commander (JLink.exe) from SEGGER, see:\n:: https://www.segger.com/j-link-commander.html\n:: \nsetlocal\n\n@echo off\n@echo Load a given binary file to the flash of EFM32-SLSTK3401A \n@echo usage:   flash bin-file\n@echo example: flash dbg\\blinky-qk.bin\n\n::----------------------------------------------------------------------------\n:: NOTE: Adjust the following symbol to the location of the\n:: JLink utility on your machine\n::\nif [%JLINK%] EQU [] set JLINK=%QTOOLS%\\..\\JLink\nif not exist \"%JLINK%\\JLink.exe\" (\n    @echo The JLink tool not found. Please adjust flash.bat \n    @goto end\n)\n\nif [\"%~1\"]==[\"\"] (\n    @echo The binary file missing\n    @goto end\n)\nif not exist %~s1 (\n    @echo The binary file '%1' does not exist\n    @goto end\n)\n\n:: generate the Jlink command file depending on the first parameter %1\n@echo si 1 >flash.jlink\n@echo speed 4000 >>flash.jlink\n@echo r >>flash.jlink\n@echo h >>flash.jlink\n@echo loadbin %1, 0 >>flash.jlink\n@echo exit >>flash.jlink\n\n@echo on\n%JLINK%\\JLink.exe -device EFM32PG1B200F256GM48 flash.jlink\n@echo off\n\n@del flash.jlink\n\n:end\n\nendlocal"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/qv/gnu/game-qv.ld",
    "content": "/*****************************************************************************\n* Product: Linker script for EFM32-SLSTK3401A, GNU-ARM linker\n* Last Updated for Version: 5.9.8\n* Date of the Last Update:  2017-09-13\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <http://www.gnu.org/licenses/>.\n*\n* Contact information:\n* https://state-machine.com\n* mailto:info@state-machine.com\n*****************************************************************************/\nOUTPUT_FORMAT(\"elf32-littlearm\", \"elf32-bigarm\", \"elf32-littlearm\")\nOUTPUT_ARCH(arm)\nENTRY(Reset_Handler) /* entry Point */\n\nMEMORY { /* memory map of Pearl Gecko EFM32PG1B200F256GM48 */\n    ROM (rx)  : ORIGIN = 0x00000000, LENGTH = 256K\n    RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K\n}\n\n/* The size of the stack used by the application. NOTE: you need to adjust  */\nSTACK_SIZE = 1024;\n\n/* The size of the heap used by the application. NOTE: you need to adjust   */\nHEAP_SIZE = 0;\n\nSECTIONS {\n\n    .isr_vector : {        /* the vector table goes FIRST into ROM */\n        KEEP(*(.isr_vector)) /* vector table */\n        . = ALIGN(4);\n    } >ROM\n\n    .text : {              /* code and constants */\n        . = ALIGN(4);\n        *(.text)           /* .text sections (code) */\n        *(.text*)          /* .text* sections (code) */\n        *(.rodata)         /* .rodata sections (constants, strings, etc.) */\n        *(.rodata*)        /* .rodata* sections (constants, strings, etc.) */\n\n        KEEP (*(.init))\n        KEEP (*(.fini))\n\n        . = ALIGN(4);\n    } >ROM\n\n    .preinit_array : {\n        PROVIDE_HIDDEN (__preinit_array_start = .);\n        KEEP (*(.preinit_array*))\n        PROVIDE_HIDDEN (__preinit_array_end = .);\n    } >ROM\n\n    .init_array : {\n        PROVIDE_HIDDEN (__init_array_start = .);\n        KEEP (*(SORT(.init_array.*)))\n        KEEP (*(.init_array*))\n        PROVIDE_HIDDEN (__init_array_end = .);\n    } >ROM\n\n    .fini_array : {\n        PROVIDE_HIDDEN (__fini_array_start = .);\n        KEEP (*(.fini_array*))\n        KEEP (*(SORT(.fini_array.*)))\n        PROVIDE_HIDDEN (__fini_array_end = .);\n    } >ROM\n\n    _etext = .;            /* global symbols at end of code */\n\n    .stack : {\n        __stack_start__ = .;\n        . = . + STACK_SIZE;\n        . = ALIGN(4);\n        __stack_end__ = .;\n    } >RAM\n\n    .data :  AT (_etext) {\n        __data_load = LOADADDR (.data);\n        __data_start = .;\n        *(.data)           /* .data sections */\n        *(.data*)          /* .data* sections */\n        . = ALIGN(4);\n        __data_end__ = .;\n        _edata = __data_end__;\n    } >RAM\n\n    .bss : {\n        __bss_start__ = .;\n        *(.bss)\n        *(.bss*)\n        *(COMMON)\n        . = ALIGN(4);\n        _ebss = .;         /* define a global symbol at bss end */\n        __bss_end__ = .;\n    } >RAM\n\n    __exidx_start = .;\n    .ARM.exidx   : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } >RAM\n    __exidx_end = .;\n\n    PROVIDE ( end = _ebss );\n    PROVIDE ( _end = _ebss );\n    PROVIDE ( __end__ = _ebss );\n\n    .heap : {\n        __heap_start__ = .;\n        . = . + HEAP_SIZE;\n        . = ALIGN(4);\n        __heap_end__ = .;\n    } >RAM\n\n    /* Remove information from the standard libraries */\n    /DISCARD/ : {\n        libc.a ( * )\n        libm.a ( * )\n        libgcc.a ( * )\n    }\n}\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/qv/iar/README.txt",
    "content": "About this Example\n==================\nThis example demonstrates how to use the IAR EWARM IDE to build\na QP application.\n\n\nIAR Project File\n----------------\nThe IAR EWARM project file provided with this example uses relative paths\nto the QP/C framework location (includes, port, and libraries. These\nrelative paths must be modified when the project is moved to different\nrelative location.\n\n\nStack Size and Heap Size\n------------------------\nIn this project, the size of the C stack and heap are determined in\nthe linker script blinky-qk.icf (see the next section).\n\n\nLinker Script\n-------------\nThe IAR linker script provides a template of the recommended linker script\nfor QP applications. This file needs to be customized to set the\napplication-specific sizes of the Stack and Heap. This file can be edited\nfrom the IAR EWARM IDE via the Project Options/Linker settings.\n\n\nStartup Code\n============\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\efm32pg1b\\iar\\startup_efm32pg1b.s\n\nThe file startup_efm32pg1b.s provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/qv/iar/game-qv.ewd",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project>\n    <fileVersion>3</fileVersion>\n    <configuration>\n        <name>Debug</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>1</debug>\n        <settings>\n            <name>C-SPY</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCVariant</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>MemOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MemFile</name>\n                    <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\SiliconLaboratories\\EFM32PG1B200F256GM48.ddf</state>\n                </option>\n                <option>\n                    <name>RunToEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RunToName</name>\n                    <state>main</state>\n                </option>\n                <option>\n                    <name>CExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDDFArgumentProducer</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadSuppressDownload</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDownloadVerifyAll</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCProductVersion</name>\n                    <state>7.30.4.8186</state>\n                </option>\n                <option>\n                    <name>OCDynDriverList</name>\n                    <state>JLINK_ID</state>\n                </option>\n                <option>\n                    <name>OCLastSavedByProductVersion</name>\n                    <state>8.11.1.13270</state>\n                </option>\n                <option>\n                    <name>UseFlashLoader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CLowLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CDevice</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>FlashLoadersV3</name>\n                    <state>$TOOLKIT_DIR$\\config\\flashloader\\SiliconLaboratories\\FlashGECKOP2.board</state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OverrideDefFlashBoard</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesOffset1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesUse1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDeviceConfigMacroFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDebuggerExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAllMTBOptions</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreNrOfCores</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreMaster</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCMulticorePort</name>\n                    <state>53461</state>\n                </option>\n                <option>\n                    <name>OCMulticoreWorkspace</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveProject</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveConfiguration</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadExtraImage</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAttachSlave</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ARMSIM_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCSimDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCSimEnablePSP</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspOverrideConfig</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspConfigFile</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CADI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCadiMemory</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Fast Model</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCADILogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCADILogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CMSISDAP_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CMSISDAPResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>CMSISDAPDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CMSISDAPProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>GDBSERVER_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJTagBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IJET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>8</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>IjetPowerFromProbe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPowerRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetProtocolRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPin</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPrescalerList</name>\n                    <version>1</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IjetProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPreferETB</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetTraceSettingsList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetTraceSizeList</name>\n                    <version>0</version>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>FlashBoardPathSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>JLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>16</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>JLinkSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJLinkHWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>JLinkInitialSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCDoJlinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkCommRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>CCJLinkSpeedRadioV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCUSBDevice</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceRadio</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkResetList</name>\n                    <version>6</version>\n                    <state>7</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCTcpIpAlt</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTcpIpSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSourceDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkDeviceName</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>LMIFTDI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>2</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>LmiftdiSpeed</name>\n                    <state>500</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceRadio</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>PEMICRO_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>3</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJPEMicroShowSettings</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>STLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCSTLinkCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDAPNumber</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkResetList</name>\n                    <version>3</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDebugAccessPortRadio</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>THIRDPARTY_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CThirdPartyDriverDll</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>TIFET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVccTypeDefault</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVoltage</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CCMSPFetVCCDefault</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetSettlingtime</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioJtagSpeedType</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetConnection</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetUsbComPort</name>\n                    <state>Automatic</state>\n                </option>\n                <option>\n                    <name>CCMSPFetAllowAccessToBSL</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioEraseFlash</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>XDS100_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>6</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCXds100CatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TIPackageOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TIPackage</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>BoardFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCXds100BreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100DoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockEdit</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCXds100HWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100JtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ProbeList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPortRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPort</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <debuggerPlugins>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n                <loadFlag>1</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n        </debuggerPlugins>\n    </configuration>\n    <configuration>\n        <name>Release</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>0</debug>\n        <settings>\n            <name>C-SPY</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCVariant</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>MemOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MemFile</name>\n                    <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\SiliconLaboratories\\EFM32PG1B200F256GM48.ddf</state>\n                </option>\n                <option>\n                    <name>RunToEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RunToName</name>\n                    <state>main</state>\n                </option>\n                <option>\n                    <name>CExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDDFArgumentProducer</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadSuppressDownload</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDownloadVerifyAll</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCProductVersion</name>\n                    <state>7.30.4.8186</state>\n                </option>\n                <option>\n                    <name>OCDynDriverList</name>\n                    <state>JLINK_ID</state>\n                </option>\n                <option>\n                    <name>OCLastSavedByProductVersion</name>\n                    <state>7.60.1.11206</state>\n                </option>\n                <option>\n                    <name>UseFlashLoader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CLowLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CDevice</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>FlashLoadersV3</name>\n                    <state>$TOOLKIT_DIR$\\config\\flashloader\\SiliconLaboratories\\FlashGECKOP2.board</state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OverrideDefFlashBoard</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesOffset1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesUse1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDeviceConfigMacroFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDebuggerExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAllMTBOptions</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreNrOfCores</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreMaster</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCMulticorePort</name>\n                    <state>53461</state>\n                </option>\n                <option>\n                    <name>OCMulticoreWorkspace</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveProject</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveConfiguration</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadExtraImage</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAttachSlave</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ARMSIM_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCSimDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCSimEnablePSP</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspOverrideConfig</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspConfigFile</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CADI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCadiMemory</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Fast Model</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCADILogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCADILogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CMSISDAP_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CMSISDAPResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>CMSISDAPDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CMSISDAPProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>GDBSERVER_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJTagBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IJET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>8</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>IjetPowerFromProbe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPowerRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetProtocolRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPin</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPrescalerList</name>\n                    <version>1</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IjetProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPreferETB</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetTraceSettingsList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetTraceSizeList</name>\n                    <version>0</version>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>FlashBoardPathSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>JLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>16</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>JLinkSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJLinkHWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>JLinkInitialSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCDoJlinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkCommRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>CCJLinkSpeedRadioV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCUSBDevice</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceRadio</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkResetList</name>\n                    <version>6</version>\n                    <state>7</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCTcpIpAlt</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTcpIpSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSourceDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkDeviceName</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>LMIFTDI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>2</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>LmiftdiSpeed</name>\n                    <state>500</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceRadio</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>PEMICRO_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>3</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJPEMicroShowSettings</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>STLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCSTLinkCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDAPNumber</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkResetList</name>\n                    <version>3</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDebugAccessPortRadio</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>THIRDPARTY_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CThirdPartyDriverDll</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>TIFET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVccTypeDefault</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVoltage</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CCMSPFetVCCDefault</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetSettlingtime</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioJtagSpeedType</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetConnection</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetUsbComPort</name>\n                    <state>Automatic</state>\n                </option>\n                <option>\n                    <name>CCMSPFetAllowAccessToBSL</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioEraseFlash</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>XDS100_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>6</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCXds100CatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TIPackageOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TIPackage</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>BoardFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCXds100BreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100DoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockEdit</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCXds100HWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100JtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ProbeList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPortRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPort</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <debuggerPlugins>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n                <loadFlag>1</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n        </debuggerPlugins>\n    </configuration>\n</project>\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/qv/iar/game-qv.ewp",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project>\n    <fileVersion>3</fileVersion>\n    <configuration>\n        <name>Debug</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>1</debug>\n        <settings>\n            <name>General</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>ExePath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>ObjPath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>ListPath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>GEndianMode</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>Input description</name>\n                    <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n                </option>\n                <option>\n                    <name>Output description</name>\n                    <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n                </option>\n                <option>\n                    <name>GOutputBinary</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCoreOrChip</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelect</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelectSlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RTDescription</name>\n                    <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n                </option>\n                <option>\n                    <name>OGProductVersion</name>\n                    <state>5.11.0.50579</state>\n                </option>\n                <option>\n                    <name>OGLastSavedByProductVersion</name>\n                    <state>8.11.1.13270</state>\n                </option>\n                <option>\n                    <name>GeneralEnableMisra</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVerbose</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGChipSelectEditMenu</name>\n                    <state>EFM32PG1B200F256GM48\tSiliconLaboratories EFM32PG1B200F256GM48</state>\n                </option>\n                <option>\n                    <name>GenLowLevelInterface</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GEndianModeBE</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OGBufferedTerminalOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenStdoutInterface</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>RTConfigPath2</name>\n                    <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n                </option>\n                <option>\n                    <name>GBECoreSlave</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>OGUseCmsis</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsisDspLib</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibThreads</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CoreVariant</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>GFPUDeviceSlave</name>\n                    <state>EFM32PG1B200F256GM48\tSiliconLaboratories EFM32PG1B200F256GM48</state>\n                </option>\n                <option>\n                    <name>FPU2</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>NrRegs</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>NEON</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUCoreSlave2</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>OGCMSISPackSelectDevice</name>\n                </option>\n                <option>\n                    <name>OgLibHeap</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGLibAdditionalLocale</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGPrintfVariant</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>OGPrintfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGScanfVariant</name>\n                    <version>0</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OGScanfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenLocaleTags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>GenLocaleDisplayOnly</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ICCARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>34</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCOptimizationNoSizeConstraints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDefines</name>\n                    <state>EFM32PG1B200F256GM48</state>\n                </option>\n                <option>\n                    <name>CCPreprocFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocComments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMnemonics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMessages</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDiagSuppress</name>\n                    <state>Pa050</state>\n                </option>\n                <option>\n                    <name>CCDiagRemark</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagWarning</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagError</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCAllowList</name>\n                    <version>1</version>\n                    <state>00000000</state>\n                </option>\n                <option>\n                    <name>CCDebugInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IEndianMode</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCLangConformance</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSignedPlainChar</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRequirePrototypes</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCDiagWarnAreErr</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCompilerRuntimeInfo</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>CCLibConfigHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>PreInclude</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CompilerMisraOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIncludePath2</name>\n                    <state>$PROJ_DIR$\\..</state>\n                    <state>$PROJ_DIR$\\..\\..</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b</state>\n                </option>\n                <option>\n                    <name>CCStdIncCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCodeSection</name>\n                    <state>.text</state>\n                </option>\n                <option>\n                    <name>IProcessorMode2</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptStrategy</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevelSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>CCPosIndRopi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndRwpi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndNoDynInit</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccLang</name>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>IccCDialect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccAllowVLA</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccStaticDestr</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCppInlineSemantics</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccFloatSemantics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCOptStrategySlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCGuardCalls</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccExceptions2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccRTTI2</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>AARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>10</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>AObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>ACaseSensitivity</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacroChars</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnWhat</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnOne</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>ADebug</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AltRegisterNames</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ADefines</name>\n                    <state>ewarm</state>\n                </option>\n                <option>\n                    <name>AList</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AListHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AListing</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Includes</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacDefs</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacExps</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacExec</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OnlyAssed</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MultiLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLengthCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLength</name>\n                    <state>80</state>\n                </option>\n                <option>\n                    <name>TabSpacing</name>\n                    <state>8</state>\n                </option>\n                <option>\n                    <name>AXRef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDefines</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefInternal</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDual</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AOutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsEdit</name>\n                    <state>100</state>\n                </option>\n                <option>\n                    <name>AIgnoreStdInclude</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AUserIncludes</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AExtraOptionsCheckV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AExtraOptionsV2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AsmNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>OBJCOPY</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OOCOutputFormat</name>\n                    <version>3</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OCOutputOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OOCOutputFile</name>\n                    <state>game-qv.bin</state>\n                </option>\n                <option>\n                    <name>OOCCommandLineProducer</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OOCObjCopyEnable</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CUSTOM</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <extensions></extensions>\n                <cmdline></cmdline>\n                <hasPrio>0</hasPrio>\n            </data>\n        </settings>\n        <settings>\n            <name>BICOMP</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>BUILDACTION</name>\n            <archiveVersion>1</archiveVersion>\n            <data>\n                <prebuild>cmd /c \"if exist $OBJ_DIR$\\qstamp.o del $OBJ_DIR$\\qstamp.o\"</prebuild>\n                <postbuild></postbuild>\n            </data>\n        </settings>\n        <settings>\n            <name>ILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>20</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>IlinkLibIOConfig</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>XLinkMisraHandler</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkInputFileSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOutputFile</name>\n                    <state>game-qv.out</state>\n                </option>\n                <option>\n                    <name>IlinkDebugInfoEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkKeepSymbols</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkConfigDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkMapFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogInitialization</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogModule</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogSection</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogVeneer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfOverride</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile</name>\n                    <state>$PROJ_DIR$\\game-qv.icf</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFileSlave</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkSuppressDiags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsRem</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsWarn</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsErr</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkWarningsAreErrors</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkUseExtraOptions</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkLowLevelInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAutoLibEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAdditionalLibs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkOverrideProgramEntryLabel</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabelSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabel</name>\n                    <state>__iar_program_start</state>\n                </option>\n                <option>\n                    <name>DoFill</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>FillerByte</name>\n                    <state>0xFF</state>\n                </option>\n                <option>\n                    <name>FillerStart</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>FillerEnd</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>CrcSize</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcAlign</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcPoly</name>\n                    <state>0x11021</state>\n                </option>\n                <option>\n                    <name>CrcCompl</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcBitOrder</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcInitialValue</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>DoCrc</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkBufferedTerminalOutput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkStdoutInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcFullSize</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIElfToolPostProcess</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogAutoLibSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogRedirSymbols</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogUnusedFragments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcReverseByteOrder</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcUseAsInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptInline</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsAllow</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsForce</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptMergeDuplSections</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptUseVfe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptForceVfe</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackAnalysisEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackControlFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkStackCallGraphFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CrcAlgorithm</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcUnitSize</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkThreadsSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogCallGraph</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile_AltDefault</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkHeapSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLocaleSelect</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IARCHIVE</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>IarchiveInputs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IarchiveOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IarchiveOutput</name>\n                    <state>###Unitialized###</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>BILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>Coder</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n    </configuration>\n    <configuration>\n        <name>Release</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>0</debug>\n        <settings>\n            <name>General</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>ExePath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>ObjPath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>ListPath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>GEndianMode</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>Input description</name>\n                    <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n                </option>\n                <option>\n                    <name>Output description</name>\n                    <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n                </option>\n                <option>\n                    <name>GOutputBinary</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCoreOrChip</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelect</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelectSlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RTDescription</name>\n                    <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n                </option>\n                <option>\n                    <name>OGProductVersion</name>\n                    <state>5.11.0.50579</state>\n                </option>\n                <option>\n                    <name>OGLastSavedByProductVersion</name>\n                    <state>7.60.1.11206</state>\n                </option>\n                <option>\n                    <name>GeneralEnableMisra</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVerbose</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGChipSelectEditMenu</name>\n                    <state>EFM32PG1B200F256GM48\tSiliconLaboratories EFM32PG1B200F256GM48</state>\n                </option>\n                <option>\n                    <name>GenLowLevelInterface</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GEndianModeBE</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OGBufferedTerminalOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenStdoutInterface</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>RTConfigPath2</name>\n                    <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n                </option>\n                <option>\n                    <name>GBECoreSlave</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>OGUseCmsis</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsisDspLib</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibThreads</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CoreVariant</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>GFPUDeviceSlave</name>\n                    <state>EFM32PG1B200F256GM48\tSiliconLaboratories EFM32PG1B200F256GM48</state>\n                </option>\n                <option>\n                    <name>FPU2</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>NrRegs</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>NEON</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUCoreSlave2</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>OGCMSISPackSelectDevice</name>\n                </option>\n                <option>\n                    <name>OgLibHeap</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGLibAdditionalLocale</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGPrintfVariant</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>OGPrintfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGScanfVariant</name>\n                    <version>0</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OGScanfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenLocaleTags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>GenLocaleDisplayOnly</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ICCARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>34</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCOptimizationNoSizeConstraints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDefines</name>\n                    <state>NDEBUG</state>\n                    <state>EFM32PG1B200F256GM48</state>\n                </option>\n                <option>\n                    <name>CCPreprocFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocComments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMnemonics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMessages</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDiagSuppress</name>\n                    <state>Pa050</state>\n                </option>\n                <option>\n                    <name>CCDiagRemark</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagWarning</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagError</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCAllowList</name>\n                    <version>1</version>\n                    <state>11111110</state>\n                </option>\n                <option>\n                    <name>CCDebugInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IEndianMode</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCLangConformance</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSignedPlainChar</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRequirePrototypes</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCDiagWarnAreErr</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCompilerRuntimeInfo</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>CCLibConfigHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>PreInclude</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CompilerMisraOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIncludePath2</name>\n                    <state>$PROJ_DIR$\\..</state>\n                    <state>$PROJ_DIR$\\..\\..</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b</state>\n                </option>\n                <option>\n                    <name>CCStdIncCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCodeSection</name>\n                    <state>.text</state>\n                </option>\n                <option>\n                    <name>IProcessorMode2</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevel</name>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>CCOptStrategy</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevelSlave</name>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>CCPosIndRopi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndRwpi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndNoDynInit</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccLang</name>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>IccCDialect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccAllowVLA</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccStaticDestr</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCppInlineSemantics</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccFloatSemantics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCOptStrategySlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCGuardCalls</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccExceptions2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccRTTI2</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>AARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>10</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>AObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>ACaseSensitivity</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacroChars</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnWhat</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnOne</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>ADebug</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AltRegisterNames</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ADefines</name>\n                    <state>ewarm</state>\n                </option>\n                <option>\n                    <name>AList</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AListHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AListing</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Includes</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacDefs</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacExps</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacExec</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OnlyAssed</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MultiLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLengthCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLength</name>\n                    <state>80</state>\n                </option>\n                <option>\n                    <name>TabSpacing</name>\n                    <state>8</state>\n                </option>\n                <option>\n                    <name>AXRef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDefines</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefInternal</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDual</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AOutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsEdit</name>\n                    <state>100</state>\n                </option>\n                <option>\n                    <name>AIgnoreStdInclude</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AUserIncludes</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AExtraOptionsCheckV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AExtraOptionsV2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AsmNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>OBJCOPY</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OOCOutputFormat</name>\n                    <version>3</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OCOutputOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OOCOutputFile</name>\n                    <state>game-qv.bin</state>\n                </option>\n                <option>\n                    <name>OOCCommandLineProducer</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OOCObjCopyEnable</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CUSTOM</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <extensions></extensions>\n                <cmdline></cmdline>\n                <hasPrio>0</hasPrio>\n            </data>\n        </settings>\n        <settings>\n            <name>BICOMP</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>BUILDACTION</name>\n            <archiveVersion>1</archiveVersion>\n            <data>\n                <prebuild>cmd /c \"if exist $OBJ_DIR$\\qstamp.o del $OBJ_DIR$\\qstamp.o\"</prebuild>\n                <postbuild></postbuild>\n            </data>\n        </settings>\n        <settings>\n            <name>ILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>20</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>IlinkLibIOConfig</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>XLinkMisraHandler</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkInputFileSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOutputFile</name>\n                    <state>game-qv.out</state>\n                </option>\n                <option>\n                    <name>IlinkDebugInfoEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkKeepSymbols</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkConfigDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkMapFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogInitialization</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogModule</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogSection</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogVeneer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfOverride</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile</name>\n                    <state>$PROJ_DIR$\\game-qv.icf</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFileSlave</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkSuppressDiags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsRem</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsWarn</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsErr</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkWarningsAreErrors</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkUseExtraOptions</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkLowLevelInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAutoLibEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAdditionalLibs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkOverrideProgramEntryLabel</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabelSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabel</name>\n                    <state>__iar_program_start</state>\n                </option>\n                <option>\n                    <name>DoFill</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>FillerByte</name>\n                    <state>0xFF</state>\n                </option>\n                <option>\n                    <name>FillerStart</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>FillerEnd</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>CrcSize</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcAlign</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcPoly</name>\n                    <state>0x11021</state>\n                </option>\n                <option>\n                    <name>CrcCompl</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcBitOrder</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcInitialValue</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>DoCrc</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkBufferedTerminalOutput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkStdoutInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcFullSize</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIElfToolPostProcess</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogAutoLibSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogRedirSymbols</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogUnusedFragments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcReverseByteOrder</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcUseAsInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptInline</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsAllow</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsForce</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptMergeDuplSections</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptUseVfe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptForceVfe</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackAnalysisEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackControlFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkStackCallGraphFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CrcAlgorithm</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcUnitSize</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkThreadsSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogCallGraph</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile_AltDefault</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkHeapSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLocaleSelect</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IARCHIVE</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>IarchiveInputs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IarchiveOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IarchiveOutput</name>\n                    <state>###Unitialized###</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>BILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>Coder</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n    </configuration>\n    <group>\n        <name>Application</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\bsp.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\bsp.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\game.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\main.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\mine1.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\mine2.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\missile.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\qpn_conf.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\include\\qstamp.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\ship.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\tunnel.c</name>\n        </file>\n    </group>\n    <group>\n        <name>efm32pg1b</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\display_ls013b7dh03.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\displaypalemlib.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_assert.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_cmu.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_emu.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_gpio.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_int.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_prs.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_rtcc.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_system.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\em_usart.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\iar\\startup_efm32pg1b.s</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\system_efm32pg1b.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\efm32pg1b\\udelay.c</name>\n        </file>\n    </group>\n    <group>\n        <name>QP</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qepn.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qfn.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qvn\\qvn.c</name>\n        </file>\n    </group>\n    <group>\n        <name>QP_port</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar\\qfn_port.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar\\qvn_port.c</name>\n        </file>\n    </group>\n</project>\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/qv/iar/game-qv.eww",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<workspace>\n  <project>\n    <path>$WS_DIR$\\game-qv.ewp</path>\n  </project>\n  <batchBuild/>\n</workspace>\n\n\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/qv/iar/game-qv.icf",
    "content": "/*###ICF### Section handled by ICF editor, don't touch! ****/\n/*-Editor annotation file-*/\n/* IcfEditorFile=\"$TOOLKIT_DIR$\\config\\ide\\IcfEditor\\cortex_v1_0.xml\" */\n/*-Specials-*/\ndefine symbol __ICFEDIT_intvec_start__ = 0x00000000;\n/*-Memory Regions-*/\ndefine symbol __ICFEDIT_region_ROM_start__ = 0x00000000;\ndefine symbol __ICFEDIT_region_ROM_end__   = 0x0003FFFF;\ndefine symbol __ICFEDIT_region_RAM_start__ = 0x20000000;\ndefine symbol __ICFEDIT_region_RAM_end__   = 0x20007FFF;\n/*-Sizes-*/\ndefine symbol __ICFEDIT_size_cstack__ = 1024;\ndefine symbol __ICFEDIT_size_heap__   = 0;\n/**** End of ICF editor section. ###ICF###*/\n\ndefine memory mem with size = 4G;\ndefine region ROM_region   = mem:[from __ICFEDIT_region_ROM_start__   to __ICFEDIT_region_ROM_end__];\ndefine region RAM_region   = mem:[from __ICFEDIT_region_RAM_start__   to __ICFEDIT_region_RAM_end__];\n\ndefine block CSTACK    with alignment = 8, size = __ICFEDIT_size_cstack__   { };\ndefine block HEAP      with alignment = 8, size = __ICFEDIT_size_heap__     { };\n\ninitialize by copy { readwrite };\ndo not initialize  { section .noinit };\n\nplace at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };\nplace in ROM_region   { readonly };\nplace at start of RAM_region {block CSTACK }; \nplace in RAM_region   { readwrite, block HEAP  };"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/ship.c",
    "content": "/*.$file${.::ship.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: game.qm\n* File:  ${.::ship.c}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::ship.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"\n#include \"game.h\"\n#include \"bsp.h\"\n\n/* Q_DEFINE_THIS_MODULE(ship) */\n\n#define SHIP_WIDTH  5U\n#define SHIP_HEIGHT 3U\n\n/* encapsulated delcaration of the Ship active object ----------------------*/\n/*.$declare${AOs::Ship} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Ship} ............................................................*/\ntypedef struct Ship {\n/* protected: */\n    QActive super;\n\n/* private: */\n    uint8_t x;\n    uint16_t y;\n    uint8_t exp_ctr;\n    uint16_t score;\n} Ship;\n\n/* protected: */\nstatic QState Ship_initial(Ship * const me);\nstatic QState Ship_active(Ship * const me);\nstatic QState Ship_parked(Ship * const me);\nstatic QState Ship_flying(Ship * const me);\nstatic QState Ship_exploding(Ship * const me);\n/*.$enddecl${AOs::Ship} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* global objects ----------------------------------------------------------*/\nShip AO_Ship;\n\n/* Active object definition ------------------------------------------------*/\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 650U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.5.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Ship_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Ship_ctor} .......................................................*/\nvoid Ship_ctor(void) {\n    Ship *me = &AO_Ship;\n    QActive_ctor(&me->super, Q_STATE_CAST(&Ship_initial));\n    me->x = GAME_SHIP_X;\n    me->y = (GAME_SHIP_Y << 2);\n}\n/*.$enddef${AOs::Ship_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Ship} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Ship} ............................................................*/\n/*.${AOs::Ship::SM} ........................................................*/\nstatic QState Ship_initial(Ship * const me) {\n    /*.${AOs::Ship::SM::initial} */\n    return Q_TRAN(&Ship_active);\n}\n/*.${AOs::Ship::SM::active} ................................................*/\nstatic QState Ship_active(Ship * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Ship::SM::active::initial} */\n        case Q_INIT_SIG: {\n            status_ = Q_TRAN(&Ship_parked);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Ship::SM::active::parked} ........................................*/\nstatic QState Ship_parked(Ship * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Ship::SM::active::parked::TAKE_OFF} */\n        case TAKE_OFF_SIG: {\n            status_ = Q_TRAN(&Ship_flying);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Ship_active);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Ship::SM::active::flying} ........................................*/\nstatic QState Ship_flying(Ship * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Ship::SM::active::flying} */\n        case Q_ENTRY_SIG: {\n            me->score = 0; /* reset the score */\n            QACTIVE_POST(&AO_Tunnel, SCORE_SIG, me->score);\n\n            /* lauch the ship from the initial position */\n            me->x = GAME_SHIP_X;\n            me->y = (GAME_SHIP_Y << 2);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Ship::SM::active::flying::TIME_TICK} */\n        case TIME_TICK_SIG: {\n            /* move the Ship up or down depending on the button state */\n            if (BSP_isThrottle()) {\n                if (me->y > 0) {\n                    me->y -= 1U;\n                }\n            }\n            else {\n                if (me->y < (GAME_TUNNEL_HEIGHT << 2)) {\n                    me->y += 1U;\n                }\n            }\n\n            /* tell the Tunnel to draw the Ship and test for hits */\n            QACTIVE_POST(&AO_Tunnel, SHIP_IMG_SIG,\n                         (SHIP_BMP << 16)\n                         | me->x\n                         | ((me->y >> 2) << 8));\n\n            ++me->score;  /* increment the score for surviving another tick */\n\n            if ((me->score % 10) == 0) { /* is the score \"round\"? */\n                QACTIVE_POST(&AO_Tunnel, SCORE_SIG, me->score);\n            }\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Ship::SM::active::flying::PLAYER_TRIGGER} */\n        case PLAYER_TRIGGER_SIG: {\n            QACTIVE_POST(&AO_Missile, MISSILE_FIRE_SIG,\n                         me->x | (((me->y >> 2) - 1 + SHIP_HEIGHT) & 0xFFU) << 8);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Ship::SM::active::flying::DESTROYED_MINE} */\n        case DESTROYED_MINE_SIG: {\n            me->score += (uint16_t)Q_PAR(me);\n            /* the score will be sent to the Tunnel by the next TIME_TICK */\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Ship::SM::active::flying::HIT_WALL} */\n        case HIT_WALL_SIG: {\n            status_ = Q_TRAN(&Ship_exploding);\n            break;\n        }\n        /*.${AOs::Ship::SM::active::flying::HIT_MINE} */\n        case HIT_MINE_SIG: {\n            status_ = Q_TRAN(&Ship_exploding);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Ship_active);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Ship::SM::active::exploding} .....................................*/\nstatic QState Ship_exploding(Ship * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Ship::SM::active::exploding} */\n        case Q_ENTRY_SIG: {\n            me->exp_ctr = 0;\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Ship::SM::active::exploding::TIME_TICK} */\n        case TIME_TICK_SIG: {\n            /*.${AOs::Ship::SM::active::exploding::TIME_TICK::[me->exp_ctr<15]} */\n            if (me->exp_ctr < 15) {\n                ++me->exp_ctr;\n\n                  /* tell the Tunnel to draw the current stage of Explosion */\n                QACTIVE_POST(&AO_Tunnel, EXPLOSION_SIG,\n                         ((EXPLOSION0_BMP + (me->exp_ctr >> 2)) << 16)\n                         | me->x\n                         | ((((me->y >> 2) - 4U + SHIP_HEIGHT) & 0xFFU) << 8));\n                status_ = Q_HANDLED();\n            }\n            /*.${AOs::Ship::SM::active::exploding::TIME_TICK::[else]} */\n            else {\n                QACTIVE_POST(&AO_Tunnel, GAME_OVER_SIG, me->score);\n                status_ = Q_TRAN(&Ship_parked);\n            }\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Ship_active);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${AOs::Ship} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/tunnel.c",
    "content": "/*.$file${.::tunnel.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: game.qm\n* File:  ${.::tunnel.c}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::tunnel.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"\n#include \"game.h\"\n#include \"bsp.h\"\n\nQ_DEFINE_THIS_MODULE(\"tunnel\")\n\n/* local objects -----------------------------------------------------------*/\n/*.$declare${AOs::Tunnel} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Tunnel} ..........................................................*/\ntypedef struct Tunnel {\n/* protected: */\n    QActive super;\n\n/* private: */\n    QHsm * mines[GAME_MINES_MAX];\n    QHsm * mine1_pool[GAME_MINES_MAX];\n    QHsm * mine2_pool[GAME_MINES_MAX];\n    uint8_t blink_ctr;\n    uint8_t last_mine_x;\n    uint8_t last_mine_y;\n    uint8_t wall_thickness_top;\n    uint8_t wall_thickness_bottom;\n    uint8_t wall_gap;\n} Tunnel;\n\n/* private: */\nstatic void Tunnel_advance(Tunnel * const me);\nstatic void Tunnel_plantMine(Tunnel * const me);\nstatic void Tunnel_dispatchToAllMines(Tunnel * const me, QSignal sig, QParam par);\n\n/* protected: */\nstatic QState Tunnel_initial(Tunnel * const me);\nstatic QState Tunnel_active(Tunnel * const me);\nstatic QState Tunnel_show_logo(Tunnel * const me);\nstatic QState Tunnel_demo(Tunnel * const me);\nstatic QState Tunnel_playing(Tunnel * const me);\nstatic QState Tunnel_game_over(Tunnel * const me);\nstatic QState Tunnel_screen_saver(Tunnel * const me);\nstatic QState Tunnel_screen_saver_hide(Tunnel * const me);\nstatic QState Tunnel_screen_saver_show(Tunnel * const me);\nstatic QState Tunnel_final(Tunnel * const me);\n/*.$enddecl${AOs::Tunnel} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* global objects ----------------------------------------------------------*/\nTunnel AO_Tunnel;\n\n/* Active object definition ================================================*/\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 650U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.5.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Tunnel_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Tunnel_ctor} .....................................................*/\nvoid Tunnel_ctor(void) {\n    uint8_t n;\n    Tunnel *me = &AO_Tunnel;\n    QActive_ctor(&me->super, Q_STATE_CAST(&Tunnel_initial));\n    for (n = 0; n < GAME_MINES_MAX; ++n) {\n        me->mine1_pool[n] = Mine1_ctor(n); /* instantiate Mine1 in the pool */\n        me->mine2_pool[n] = Mine2_ctor(n); /* instantiate Mine2 in the pool */\n        me->mines[n] = (QHsm *)0;                     /* mine 'n' is unused */\n    }\n    me->last_mine_x = 0;   /* the last mine at the right edge of the tunnel */\n    me->last_mine_y = 0;\n}\n/*.$enddef${AOs::Tunnel_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Tunnel} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Tunnel} ..........................................................*/\n/*.${AOs::Tunnel::advance} .................................................*/\nstatic void Tunnel_advance(Tunnel * const me) {\n    uint32_t rnd;\n\n    rnd = (BSP_random() & 0xFFU);\n\n    /* reduce the top wall thickness 18.75% of the time */\n    if ((rnd < 48U) && (me->wall_thickness_top > 0U)) {\n        --me->wall_thickness_top;\n    }\n\n    /* reduce the bottom wall thickness 18.75% of the time */\n    if ((rnd > 208U) && (me->wall_thickness_bottom > 0U)) {\n        --me->wall_thickness_bottom;\n    }\n\n    rnd = (BSP_random() & 0xFFU);\n\n    /* grow the bottom wall thickness 19.14% of the time */\n    if ((rnd < 49U)\n        && ((GAME_TUNNEL_HEIGHT\n             - me->wall_thickness_top\n             - me->wall_thickness_bottom) > me->wall_gap))\n    {\n        ++me->wall_thickness_bottom;\n    }\n\n    /* grow the top wall thickness 19.14% of the time */\n    if ((rnd > 207U)\n        && ((GAME_TUNNEL_HEIGHT\n             - me->wall_thickness_top\n             - me->wall_thickness_bottom) > me->wall_gap))\n    {\n        ++me->wall_thickness_top;\n    }\n\n    /* advance the Tunnel by 1 game step to the left\n    * and copy the Tunnel layer to the main frame buffer\n    */\n    BSP_advanceWalls(me->wall_thickness_top, me->wall_thickness_bottom);\n}\n\n/*.${AOs::Tunnel::plantMine} ...............................................*/\nstatic void Tunnel_plantMine(Tunnel * const me) {\n    uint32_t rnd = (BSP_random() & 0xFFU);\n\n    if (me->last_mine_x > 0U) {\n        --me->last_mine_x; /* shift the last Mine 1 position to the left */\n    }\n    /* last mine far enough? */\n    if ((me->last_mine_x + GAME_MINES_DIST_MIN < GAME_TUNNEL_WIDTH)\n        && (rnd < 8U)) /* place the mines only 5% of the time */\n    {\n        uint8_t n;\n        for (n = 0U; n < Q_DIM(me->mines); ++n) { /*look for disabled mines */\n            if (me->mines[n] == (QHsm *)0) {\n                break;\n            }\n        }\n        if (n < Q_DIM(me->mines)) { /* a disabled Mine found? */\n            rnd = (BSP_random() & 0xFFFFU);\n\n            if ((rnd & 1U) == 0U) { /* choose the type of the mine */\n                me->mines[n] = me->mine1_pool[n];\n            }\n            else {\n                me->mines[n] = me->mine2_pool[n];\n            }\n\n            /* new Mine is planted by the end of the tunnel */\n            me->last_mine_x = GAME_TUNNEL_WIDTH - 8U;\n\n            /* choose a random y-position for the Mine in the Tunnel */\n            rnd %= (GAME_TUNNEL_HEIGHT\n                    - me->wall_thickness_top\n                    - me->wall_thickness_bottom - 4U);\n            me->last_mine_y = (uint8_t)(me->wall_thickness_top + 2U + rnd);\n\n            Q_SIG(me->mines[n]) = MINE_PLANT_SIG;\n            Q_PAR(me->mines[n]) = (me->last_mine_x | (me->last_mine_y << 8));\n            QHSM_DISPATCH(me->mines[n]); /* direct dispatch */\n        }\n    }\n}\n\n/*.${AOs::Tunnel::dispatchToAllMines} ......................................*/\nstatic void Tunnel_dispatchToAllMines(Tunnel * const me, QSignal sig, QParam par) {\n    uint8_t n;\n\n    for (n = 0; n < GAME_MINES_MAX; ++n) {\n        if (me->mines[n] != (QHsm *)0) { /* is the mine used? */\n            Q_SIG(me->mines[n]) = sig;\n            Q_PAR(me->mines[n]) = par;\n            QHSM_DISPATCH(me->mines[n]);\n        }\n    }\n}\n\n/*.${AOs::Tunnel::SM} ......................................................*/\nstatic QState Tunnel_initial(Tunnel * const me) {\n    /*.${AOs::Tunnel::SM::initial} */\n    uint8_t n;\n    for (n = 0; n < GAME_MINES_MAX; ++n) {\n        QHSM_INIT(me->mine1_pool[n]); /* initial tran. for Mine1 */\n        QHSM_INIT(me->mine2_pool[n]); /* initial tran. for Mine2 */\n    }\n    BSP_randomSeed(1234U); /* seed the pseudo-random generator */\n    return Q_TRAN(&Tunnel_show_logo);\n}\n/*.${AOs::Tunnel::SM::active} ..............................................*/\nstatic QState Tunnel_active(Tunnel * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Tunnel::SM::active::MINE_DISABLED} */\n        case MINE_DISABLED_SIG: {\n            Q_ASSERT((Q_PAR(me) < GAME_MINES_MAX)\n                     && (me->mines[Q_PAR(me)] != (QHsm *)0));\n            me->mines[Q_PAR(me)] = (QHsm *)0;\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Tunnel::SM::active::PLAYER_QUIT} */\n        case PLAYER_QUIT_SIG: {\n            status_ = Q_TRAN(&Tunnel_final);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Tunnel::SM::active::show_logo} ...................................*/\nstatic QState Tunnel_show_logo(Tunnel * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Tunnel::SM::active::show_logo} */\n        case Q_ENTRY_SIG: {\n            QActive_armX(&me->super, 0U,\n                BSP_TICKS_PER_SEC/2U, BSP_TICKS_PER_SEC/2U); /* periodic */\n            me->blink_ctr = 10U;\n            BSP_paintString(24U, (GAME_TUNNEL_HEIGHT / 2U) - 8U, \"Quantum LeAps\");\n            BSP_paintString(16U, (GAME_TUNNEL_HEIGHT / 2U) + 0U, \"state-machine.com\");\n\n            BSP_paintString(1U, GAME_TUNNEL_HEIGHT - 18U, \"Fire missile: BTN0\");\n            BSP_paintString(1U, GAME_TUNNEL_HEIGHT - 10U, \"Fly ship up:  BTN1\");\n\n            BSP_updateScreen();\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Tunnel::SM::active::show_logo} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Tunnel::SM::active::show_logo::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            --me->blink_ctr; /* toggle the blink couner */\n            /*.${AOs::Tunnel::SM::active::show_logo::Q_TIMEOUT::[me->blink_ctr==0U]} */\n            if (me->blink_ctr == 0U) {\n                status_ = Q_TRAN(&Tunnel_demo);\n            }\n            /*.${AOs::Tunnel::SM::active::show_logo::Q_TIMEOUT::[else]} */\n            else {\n                /*.${AOs::Tunnel::SM::active::show_logo::Q_TIMEOUT::[else]::[(me->blink_ctr&1U)!=0U]} */\n                if ((me->blink_ctr & 1U) != 0U) {\n                    BSP_paintString(24U + 8U*6U, (GAME_TUNNEL_HEIGHT / 2U) - 8U,\n                                    \"LeAps\");\n                    BSP_updateScreen();\n                    status_ = Q_HANDLED();\n                }\n                /*.${AOs::Tunnel::SM::active::show_logo::Q_TIMEOUT::[else]::[else]} */\n                else {\n                    BSP_paintString(24U + 8U*6U, (GAME_TUNNEL_HEIGHT / 2U) - 8U,\n                                    \"LeaPs\");\n                    BSP_updateScreen();\n                    status_ = Q_HANDLED();\n                }\n            }\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Tunnel_active);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Tunnel::SM::active::demo} ........................................*/\nstatic QState Tunnel_demo(Tunnel * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Tunnel::SM::active::demo} */\n        case Q_ENTRY_SIG: {\n            me->last_mine_x = 0U; /* last mine at right edge of the tunnel */\n            me->last_mine_y = 0U;\n            /* set the tunnel properties... */\n            me->wall_thickness_top = 0U;\n            me->wall_thickness_bottom = 0U;\n            me->wall_gap = GAME_WALLS_GAP_Y;\n\n            /* clear the tunnel walls */\n            BSP_clearWalls();\n\n            QActive_armX(&me->super, 0U,\n                BSP_TICKS_PER_SEC/2U, BSP_TICKS_PER_SEC/2U); /* periodic */\n            me->blink_ctr = 20U*2U; /* 20s timeout total */\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Tunnel::SM::active::demo} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Tunnel::SM::active::demo::TIME_TICK} */\n        case TIME_TICK_SIG: {\n            Tunnel_advance(me);\n            if (me->blink_ctr != 0U) {\n                /* add the text bitmap into the frame buffer */\n                BSP_paintString((GAME_TUNNEL_WIDTH - 10U*6U)/2U,\n                                (GAME_TUNNEL_HEIGHT - 4U)/2U,\n                                \"Press BTN0\");\n            }\n            BSP_updateScreen();\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Tunnel::SM::active::demo::PLAYER_TRIGGER} */\n        case PLAYER_TRIGGER_SIG: {\n            status_ = Q_TRAN(&Tunnel_playing);\n            break;\n        }\n        /*.${AOs::Tunnel::SM::active::demo::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            --me->blink_ctr;\n            /*.${AOs::Tunnel::SM::active::demo::Q_TIMEOUT::[me->blink_ctr==0]} */\n            if (me->blink_ctr == 0) {\n                status_ = Q_TRAN(&Tunnel_screen_saver);\n            }\n            else {\n                status_ = Q_UNHANDLED();\n            }\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Tunnel_active);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Tunnel::SM::active::playing} .....................................*/\nstatic QState Tunnel_playing(Tunnel * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Tunnel::SM::active::playing} */\n        case Q_ENTRY_SIG: {\n            me->wall_gap = GAME_WALLS_GAP_Y;\n            QACTIVE_POST(&AO_Ship, TAKE_OFF_SIG, 0);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Tunnel::SM::active::playing} */\n        case Q_EXIT_SIG: {\n            Tunnel_dispatchToAllMines(me, MINE_RECYCLE_SIG, 0);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Tunnel::SM::active::playing::TIME_TICK} */\n        case TIME_TICK_SIG: {\n            /* render this frame on the display */\n            BSP_updateScreen();\n            Tunnel_advance(me);\n            Tunnel_plantMine(me);\n            Tunnel_dispatchToAllMines(me, Q_SIG(me), Q_PAR(me));\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Tunnel::SM::active::playing::SHIP_IMG} */\n        case SHIP_IMG_SIG: {\n            uint8_t x   = (uint8_t)Q_PAR(me);\n            uint8_t y   = (uint8_t)(Q_PAR(me) >> 8);\n            uint8_t bmp = (uint8_t)(Q_PAR(me) >> 16);\n\n            /* did the Ship/Missile hit the tunnel wall? */\n            if (BSP_isWallHit(bmp, x, y)) {\n                QACTIVE_POST(&AO_Ship, HIT_WALL_SIG, 0);\n            }\n            BSP_paintBitmap(x, y, bmp);\n            Tunnel_dispatchToAllMines(me, Q_SIG(me), Q_PAR(me));\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Tunnel::SM::active::playing::MISSILE_IMG} */\n        case MISSILE_IMG_SIG: {\n            uint8_t x   = (uint8_t)Q_PAR(me);\n            uint8_t y   = (uint8_t)(Q_PAR(me) >> 8);\n            uint8_t bmp = (uint8_t)(Q_PAR(me) >> 16);\n\n            /* did the Ship/Missile hit the tunnel wall? */\n            if (BSP_isWallHit(bmp, x, y)) {\n                QACTIVE_POST(&AO_Missile, HIT_WALL_SIG, 0);\n            }\n            BSP_paintBitmap(x, y, bmp);\n            Tunnel_dispatchToAllMines(me, Q_SIG(me), Q_PAR(me));\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Tunnel::SM::active::playing::MINE_IMG} */\n        case MINE_IMG_SIG: {\n            BSP_paintBitmap((uint8_t)Q_PAR(me),\n                            (uint8_t)(Q_PAR(me) >> 8),\n                            (uint8_t)(Q_PAR(me) >> 16));\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Tunnel::SM::active::playing::EXPLOSION} */\n        case EXPLOSION_SIG: {\n            BSP_paintBitmap((uint8_t)Q_PAR(me),\n                            (uint8_t)(Q_PAR(me) >> 8),\n                            (uint8_t)(Q_PAR(me) >> 16));\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Tunnel::SM::active::playing::SCORE} */\n        case SCORE_SIG: {\n            BSP_updateScore((uint16_t)Q_PAR(me));\n            /* increase difficulty of the game:\n            * the tunnel gets narrower as the score goes up\n            */\n            me->wall_gap = (uint8_t)(GAME_WALLS_GAP_Y\n                              - (uint16_t)Q_PAR(me)/100U);\n            if (me->wall_gap < GAME_WALLS_MIN_GAP_Y) {\n                me->wall_gap = GAME_WALLS_MIN_GAP_Y;\n            }\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Tunnel::SM::active::playing::GAME_OVER} */\n        case GAME_OVER_SIG: {\n            BSP_clearWalls();\n            BSP_updateScore((uint16_t)Q_PAR(me));\n            BSP_updateScreen();\n            status_ = Q_TRAN(&Tunnel_game_over);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Tunnel_active);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Tunnel::SM::active::game_over} ...................................*/\nstatic QState Tunnel_game_over(Tunnel * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Tunnel::SM::active::game_over} */\n        case Q_ENTRY_SIG: {\n            QActive_armX(&me->super, 0U,\n                BSP_TICKS_PER_SEC/2U, BSP_TICKS_PER_SEC/2U); /* periodic */\n            me->blink_ctr = 5U*2U; /* 5s timeout */\n            BSP_paintString((GAME_TUNNEL_WIDTH - 6U * 9U) / 2U,\n                            (GAME_TUNNEL_HEIGHT / 2U) - 4U,\n                            \"Game Over\");\n            BSP_updateScreen();\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Tunnel::SM::active::game_over} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            BSP_updateScore(0); /* update the score on the display */\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Tunnel::SM::active::game_over::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            --me->blink_ctr;\n            BSP_paintString((GAME_TUNNEL_WIDTH - 6U*9U) / 2U,\n                            (GAME_TUNNEL_HEIGHT / 2U) - 4U,\n                            (((me->blink_ctr & 1) != 0)\n                             ? \"Game Over\"\n                             : \"         \"));\n            BSP_updateScreen();\n            /*.${AOs::Tunnel::SM::active::game_over::Q_TIMEOUT::[me->blink_ctr==0]} */\n            if (me->blink_ctr == 0) {\n                status_ = Q_TRAN(&Tunnel_demo);\n            }\n            else {\n                status_ = Q_UNHANDLED();\n            }\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Tunnel_active);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Tunnel::SM::active::screen_saver} ................................*/\nstatic QState Tunnel_screen_saver(Tunnel * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Tunnel::SM::active::screen_saver::initial} */\n        case Q_INIT_SIG: {\n            status_ = Q_TRAN(&Tunnel_screen_saver_hide);\n            break;\n        }\n        /*.${AOs::Tunnel::SM::active::screen_saver::PLAYER_TRIGGER} */\n        case PLAYER_TRIGGER_SIG: {\n            status_ = Q_TRAN(&Tunnel_demo);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Tunnel_active);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Tunnel::SM::active::screen_saver::screen_saver_hide} .............*/\nstatic QState Tunnel_screen_saver_hide(Tunnel * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Tunnel::SM::active::screen_saver::screen_saver_hide} */\n        case Q_ENTRY_SIG: {\n            BSP_displayOff();  /* power down the display */\n            QActive_armX(&me->super, 0U, BSP_TICKS_PER_SEC*3U, 0U); /* 3 sec */\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Tunnel::SM::active::screen_saver::screen_saver_hide} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            BSP_displayOn(); /* power up the display */\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Tunnel::SM::active::screen_saver::screen_saver_hid~::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Tunnel_screen_saver_show);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Tunnel_screen_saver);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Tunnel::SM::active::screen_saver::screen_saver_show} .............*/\nstatic QState Tunnel_screen_saver_show(Tunnel * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Tunnel::SM::active::screen_saver::screen_saver_show} */\n        case Q_ENTRY_SIG: {\n            uint32_t rnd = BSP_random();\n            /* clear the screen frame buffer */\n            BSP_clearFB();\n            BSP_paintString((uint8_t)(rnd % (GAME_TUNNEL_WIDTH - 10U*6U)),\n                            (uint8_t) (rnd % (GAME_TUNNEL_HEIGHT - 8U)),\n                            \"Press BTN0\");\n            BSP_updateScreen();\n            QActive_armX(&me->super, 0U, BSP_TICKS_PER_SEC/3U, 0U);/* 1/3 sec */\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Tunnel::SM::active::screen_saver::screen_saver_show} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            BSP_clearFB();\n            BSP_updateScreen();\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Tunnel::SM::active::screen_saver::screen_saver_sho~::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Tunnel_screen_saver_hide);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Tunnel_screen_saver);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Tunnel::SM::final} ...............................................*/\nstatic QState Tunnel_final(Tunnel * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Tunnel::SM::final} */\n        case Q_ENTRY_SIG: {\n            /* clear the screen */\n            BSP_clearFB();\n            BSP_updateScreen();\n            QF_stop(); /* stop QF and cleanup */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${AOs::Tunnel} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/win32-gui/bsp.c",
    "content": "/*****************************************************************************\n* Product: \"Fly 'n' Shoot\" game example, EFM32-SLSTK3401A, Win32-GUI\n* Last Updated for Version: 6.7.0\n* Date of the Last Update:  2020-01-06\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"game.h\"\n#include \"bsp.h\"\n\n#include \"qwin_gui.h\" /* QWIN GUI */\n#include \"resource.h\" /* GUI resource IDs generated by the resource editior */\n\n#include \"safe_std.h\" /* portable \"safe\" <stdio.h>/<string.h> facilities */\n\nQ_DEFINE_THIS_FILE\n\n/* local variables ---------------------------------------------------------*/\nstatic HINSTANCE l_hInst;   /* this application instance */\nstatic HWND      l_hWnd;    /* main window handle */\nstatic LPSTR     l_cmdLine; /* the command line string */\n\nstatic GraphicDisplay   l_lcd;        /* LCD display on EFM32-SLSTK3401A */\nstatic SegmentDisplay   l_userLED0;   /* USER LED0 on EFM32-SLSTK3401A */\nstatic SegmentDisplay   l_userLED1;   /* USER LED1 on EFM32-SLSTK3401A */\nstatic SegmentDisplay   l_scoreBoard; /* segment display for the score */\nstatic OwnerDrawnButton l_userBtn0;   /* USER Button0 on EFM32-SLSTK3401A */\nstatic OwnerDrawnButton l_userBtn1;   /* USER Button1 on EFM32-SLSTK3401A */\n\n/* (R,G,B) colors for the LCD display */\nstatic BYTE const c_onColor[3]  = { 0x07U, 0x07U, 0x07U }; /* dark grey */\nstatic BYTE const c_offColor[3] = { 0xA0U, 0xA0U, 0xA0U }; /* light grey */\n\n/* LCD geometry and frame buffer */\nstatic uint32_t l_fb[BSP_SCREEN_HEIGHT + 1][BSP_SCREEN_WIDTH / 32U];\n\n/* the walls buffer */\nstatic uint32_t l_walls[GAME_TUNNEL_HEIGHT + 1][BSP_SCREEN_WIDTH / 32U];\n\nstatic unsigned l_rnd;  /* random seed */\n\nstatic void paintBits(uint8_t x, uint8_t y, uint8_t const *bits, uint8_t h);\nstatic void paintBitsClear(uint8_t x, uint8_t y,\n                           uint8_t const *bits, uint8_t h);\n/* Local functions ---------------------------------------------------------*/\nstatic LRESULT CALLBACK WndProc(HWND hWnd, UINT iMsg,\n                                WPARAM wParam, LPARAM lParam);\n\n/*..........................................................................*/\nstatic void playerTrigger(void) {\n    QACTIVE_POST((QActive *)&AO_Ship, PLAYER_TRIGGER_SIG, 0U);\n    QACTIVE_POST((QActive *)&AO_Tunnel, PLAYER_TRIGGER_SIG, 0U);\n}\n\n/*..........................................................................*/\nvoid BSP_init(void) {\n}\n/*..........................................................................*/\nvoid BSP_terminate(int16_t result) {\n    QF_stop(); /* stop the main QF application and the ticker thread */\n\n    /* cleanup all QWIN resources... */\n    OwnerDrawnButton_xtor(&l_userBtn0); /* cleanup the l_userBtn0 resources */\n    OwnerDrawnButton_xtor(&l_userBtn1); /* cleanup the l_userBtn1 resources */\n    SegmentDisplay_xtor(&l_userLED0);   /* cleanup the l_userLED0 resources */\n    SegmentDisplay_xtor(&l_userLED1);   /* cleanup the l_userLED1 resources */\n    SegmentDisplay_xtor(&l_scoreBoard); /* cleanup the scoreBoard resources */\n    GraphicDisplay_xtor(&l_lcd);        /* cleanup the l_lcd resources */\n\n    /* end the main dialog */\n    EndDialog(l_hWnd, result);\n}\n/*..........................................................................*/\nvoid BSP_updateScreen(void) {\n    UINT x, y;\n\n    /* turn LED1 on */\n    SegmentDisplay_setSegment(&l_userLED1, 0U, 1U);\n\n    /* map the LCD pixels to the GraphicDisplay pixels... */\n    for (y = 0; y < BSP_SCREEN_HEIGHT; ++y) {\n        for (x = 0; x < BSP_SCREEN_WIDTH; ++x) {\n            uint32_t bits = l_fb[y][x >> 5];\n            if ((bits & (1U << (x & 0x1FU))) != 0U) {\n                GraphicDisplay_setPixel(&l_lcd, x, y, c_onColor);\n            }\n            else {\n                GraphicDisplay_clearPixel(&l_lcd, x, y);\n            }\n        }\n    }\n\n    GraphicDisplay_redraw(&l_lcd); /* redraw the updated display */\n\n    /* turn LED1 off */\n    SegmentDisplay_setSegment(&l_userLED1, 0U, 0U);\n}\n/*..........................................................................*/\nvoid BSP_clearFB() {\n    uint_fast8_t y;\n    for (y = 0U; y < BSP_SCREEN_HEIGHT; ++y) {\n        l_fb[y][0] = 0U;\n        l_fb[y][1] = 0U;\n        l_fb[y][2] = 0U;\n        l_fb[y][3] = 0U;\n    }\n}\n/*..........................................................................*/\nvoid BSP_clearWalls() {\n    uint_fast8_t y;\n    for (y = 0U; y < GAME_TUNNEL_HEIGHT; ++y) {\n        l_walls[y][0] = 0U;\n        l_walls[y][1] = 0U;\n        l_walls[y][2] = 0U;\n        l_walls[y][3] = 0U;\n    }\n}\n/*..........................................................................*/\nbool BSP_isThrottle(void) { /* is the throttle button depressed? */\n    return OwnerDrawnButton_isDepressed(&l_userBtn1) != 0;\n}\n/*..........................................................................*/\nvoid BSP_paintString(uint8_t x, uint8_t y, char const *str) {\n    static uint8_t const font5x7[95][7] = {\n        { 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U }, /*   */\n        { 0x04U, 0x04U, 0x04U, 0x04U, 0x00U, 0x00U, 0x04U }, /* ! */\n        { 0x0AU, 0x0AU, 0x0AU, 0x00U, 0x00U, 0x00U, 0x00U }, /* \" */\n        { 0x0AU, 0x0AU, 0x1FU, 0x0AU, 0x1FU, 0x0AU, 0x0AU }, /* # */\n        { 0x04U, 0x1EU, 0x05U, 0x0EU, 0x14U, 0x0FU, 0x04U }, /* $ */\n        { 0x03U, 0x13U, 0x08U, 0x04U, 0x02U, 0x19U, 0x18U }, /* % */\n        { 0x06U, 0x09U, 0x05U, 0x02U, 0x15U, 0x09U, 0x16U }, /* & */\n        { 0x06U, 0x04U, 0x02U, 0x00U, 0x00U, 0x00U, 0x00U }, /* ' */\n        { 0x08U, 0x04U, 0x02U, 0x02U, 0x02U, 0x04U, 0x08U }, /* ( */\n        { 0x02U, 0x04U, 0x08U, 0x08U, 0x08U, 0x04U, 0x02U }, /* ) */\n        { 0x00U, 0x04U, 0x15U, 0x0EU, 0x15U, 0x04U, 0x00U }, /* * */\n        { 0x00U, 0x04U, 0x04U, 0x1FU, 0x04U, 0x04U, 0x00U }, /* + */\n        { 0x00U, 0x00U, 0x00U, 0x00U, 0x06U, 0x04U, 0x02U }, /* , */\n        { 0x00U, 0x00U, 0x00U, 0x1FU, 0x00U, 0x00U, 0x00U }, /* - */\n        { 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x06U, 0x06U }, /* . */\n        { 0x00U, 0x10U, 0x08U, 0x04U, 0x02U, 0x01U, 0x00U }, /* / */\n        { 0x0EU, 0x11U, 0x19U, 0x15U, 0x13U, 0x11U, 0x0EU }, /* 0 */\n        { 0x04U, 0x06U, 0x04U, 0x04U, 0x04U, 0x04U, 0x0EU }, /* 1 */\n        { 0x0EU, 0x11U, 0x10U, 0x08U, 0x04U, 0x02U, 0x1FU }, /* 2 */\n        { 0x1FU, 0x08U, 0x04U, 0x08U, 0x10U, 0x11U, 0x0EU }, /* 3 */\n        { 0x08U, 0x0CU, 0x0AU, 0x09U, 0x1FU, 0x08U, 0x08U }, /* 4 */\n        { 0x1FU, 0x01U, 0x0FU, 0x10U, 0x10U, 0x11U, 0x0EU }, /* 5 */\n        { 0x0CU, 0x02U, 0x01U, 0x0FU, 0x11U, 0x11U, 0x0EU }, /* 6 */\n        { 0x1FU, 0x10U, 0x08U, 0x04U, 0x02U, 0x02U, 0x02U }, /* 7 */\n        { 0x0EU, 0x11U, 0x11U, 0x0EU, 0x11U, 0x11U, 0x0EU }, /* 8 */\n        { 0x0EU, 0x11U, 0x11U, 0x1EU, 0x10U, 0x08U, 0x06U }, /* 9 */\n        { 0x00U, 0x06U, 0x06U, 0x00U, 0x06U, 0x06U, 0x00U }, /* : */\n        { 0x00U, 0x06U, 0x06U, 0x00U, 0x06U, 0x04U, 0x02U }, /* ; */\n        { 0x08U, 0x04U, 0x02U, 0x01U, 0x02U, 0x04U, 0x08U }, /* < */\n        { 0x00U, 0x00U, 0x1FU, 0x00U, 0x1FU, 0x00U, 0x00U }, /* = */\n        { 0x02U, 0x04U, 0x08U, 0x10U, 0x08U, 0x04U, 0x02U }, /* > */\n        { 0x0EU, 0x11U, 0x10U, 0x08U, 0x04U, 0x00U, 0x04U }, /* ? */\n        { 0x0EU, 0x11U, 0x10U, 0x16U, 0x15U, 0x15U, 0x0EU }, /* @ */\n        { 0x0EU, 0x11U, 0x11U, 0x11U, 0x1FU, 0x11U, 0x11U }, /* A */\n        { 0x0FU, 0x11U, 0x11U, 0x0FU, 0x11U, 0x11U, 0x0FU }, /* B */\n        { 0x0EU, 0x11U, 0x01U, 0x01U, 0x01U, 0x11U, 0x0EU }, /* C */\n        { 0x07U, 0x09U, 0x11U, 0x11U, 0x11U, 0x09U, 0x07U }, /* D */\n        { 0x1FU, 0x01U, 0x01U, 0x0FU, 0x01U, 0x01U, 0x1FU }, /* E */\n        { 0x1FU, 0x01U, 0x01U, 0x0FU, 0x01U, 0x01U, 0x01U }, /* F */\n        { 0x0EU, 0x11U, 0x01U, 0x1DU, 0x11U, 0x11U, 0x1EU }, /* G */\n        { 0x11U, 0x11U, 0x11U, 0x1FU, 0x11U, 0x11U, 0x11U }, /* H */\n        { 0x0EU, 0x04U, 0x04U, 0x04U, 0x04U, 0x04U, 0x0EU }, /* I */\n        { 0x1CU, 0x08U, 0x08U, 0x08U, 0x08U, 0x09U, 0x06U }, /* J */\n        { 0x11U, 0x09U, 0x05U, 0x03U, 0x05U, 0x09U, 0x11U }, /* K */\n        { 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, 0x1FU }, /* L */\n        { 0x11U, 0x1BU, 0x15U, 0x15U, 0x11U, 0x11U, 0x11U }, /* M */\n        { 0x11U, 0x11U, 0x13U, 0x15U, 0x19U, 0x11U, 0x11U }, /* N */\n        { 0x0EU, 0x11U, 0x11U, 0x11U, 0x11U, 0x11U, 0x0EU }, /* O */\n        { 0x0FU, 0x11U, 0x11U, 0x0FU, 0x01U, 0x01U, 0x01U }, /* P */\n        { 0x0EU, 0x11U, 0x11U, 0x11U, 0x15U, 0x09U, 0x16U }, /* Q */\n        { 0x0FU, 0x11U, 0x11U, 0x0FU, 0x05U, 0x09U, 0x11U }, /* R */\n        { 0x1EU, 0x01U, 0x01U, 0x0EU, 0x10U, 0x10U, 0x0FU }, /* S */\n        { 0x1FU, 0x04U, 0x04U, 0x04U, 0x04U, 0x04U, 0x04U }, /* T */\n        { 0x11U, 0x11U, 0x11U, 0x11U, 0x11U, 0x11U, 0x0EU }, /* U */\n        { 0x11U, 0x11U, 0x11U, 0x11U, 0x11U, 0x0AU, 0x04U }, /* V */\n        { 0x11U, 0x11U, 0x11U, 0x15U, 0x15U, 0x15U, 0x0AU }, /* W */\n        { 0x11U, 0x11U, 0x0AU, 0x04U, 0x0AU, 0x11U, 0x11U }, /* X */\n        { 0x11U, 0x11U, 0x11U, 0x0AU, 0x04U, 0x04U, 0x04U }, /* Y */\n        { 0x1FU, 0x10U, 0x08U, 0x04U, 0x02U, 0x01U, 0x1FU }, /* Z */\n        { 0x0EU, 0x02U, 0x02U, 0x02U, 0x02U, 0x02U, 0x0EU }, /* [ */\n        { 0x00U, 0x01U, 0x02U, 0x04U, 0x08U, 0x10U, 0x00U }, /* \\ */\n        { 0x0EU, 0x08U, 0x08U, 0x08U, 0x08U, 0x08U, 0x0EU }, /* ] */\n        { 0x04U, 0x0AU, 0x11U, 0x00U, 0x00U, 0x00U, 0x00U }, /* ^ */\n        { 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x1FU }, /* _ */\n        { 0x02U, 0x04U, 0x08U, 0x00U, 0x00U, 0x00U, 0x00U }, /* ` */\n        { 0x00U, 0x00U, 0x0EU, 0x10U, 0x1EU, 0x11U, 0x1EU }, /* a */\n        { 0x01U, 0x01U, 0x0DU, 0x13U, 0x11U, 0x11U, 0x0FU }, /* b */\n        { 0x00U, 0x00U, 0x0EU, 0x01U, 0x01U, 0x11U, 0x0EU }, /* c */\n        { 0x10U, 0x10U, 0x16U, 0x19U, 0x11U, 0x11U, 0x1EU }, /* d */\n        { 0x00U, 0x00U, 0x0EU, 0x11U, 0x1FU, 0x01U, 0x0EU }, /* e */\n        { 0x0CU, 0x12U, 0x02U, 0x07U, 0x02U, 0x02U, 0x02U }, /* f */\n        { 0x00U, 0x1EU, 0x11U, 0x11U, 0x1EU, 0x10U, 0x0EU }, /* g */\n        { 0x01U, 0x01U, 0x0DU, 0x13U, 0x11U, 0x11U, 0x11U }, /* h */\n        { 0x04U, 0x00U, 0x06U, 0x04U, 0x04U, 0x04U, 0x0EU }, /* i */\n        { 0x08U, 0x00U, 0x0CU, 0x08U, 0x08U, 0x09U, 0x06U }, /* j */\n        { 0x01U, 0x01U, 0x09U, 0x05U, 0x03U, 0x05U, 0x09U }, /* k */\n        { 0x06U, 0x04U, 0x04U, 0x04U, 0x04U, 0x04U, 0x0EU }, /* l */\n        { 0x00U, 0x00U, 0x0BU, 0x15U, 0x15U, 0x11U, 0x11U }, /* m */\n        { 0x00U, 0x00U, 0x0DU, 0x13U, 0x11U, 0x11U, 0x11U }, /* n */\n        { 0x00U, 0x00U, 0x0EU, 0x11U, 0x11U, 0x11U, 0x0EU }, /* o */\n        { 0x00U, 0x00U, 0x0FU, 0x11U, 0x0FU, 0x01U, 0x01U }, /* p */\n        { 0x00U, 0x00U, 0x16U, 0x19U, 0x1EU, 0x10U, 0x10U }, /* q */\n        { 0x00U, 0x00U, 0x0DU, 0x13U, 0x01U, 0x01U, 0x01U }, /* r */\n        { 0x00U, 0x00U, 0x0EU, 0x01U, 0x0EU, 0x10U, 0x0FU }, /* s */\n        { 0x02U, 0x02U, 0x07U, 0x02U, 0x02U, 0x12U, 0x0CU }, /* t */\n        { 0x00U, 0x00U, 0x11U, 0x11U, 0x11U, 0x19U, 0x16U }, /* u */\n        { 0x00U, 0x00U, 0x11U, 0x11U, 0x11U, 0x0AU, 0x04U }, /* v */\n        { 0x00U, 0x00U, 0x11U, 0x11U, 0x15U, 0x15U, 0x0AU }, /* w */\n        { 0x00U, 0x00U, 0x11U, 0x0AU, 0x04U, 0x0AU, 0x11U }, /* x */\n        { 0x00U, 0x00U, 0x11U, 0x11U, 0x1EU, 0x10U, 0x0EU }, /* y */\n        { 0x00U, 0x00U, 0x1FU, 0x08U, 0x04U, 0x02U, 0x1FU }, /* z */\n        { 0x08U, 0x04U, 0x04U, 0x02U, 0x04U, 0x04U, 0x08U }, /* { */\n        { 0x04U, 0x04U, 0x04U, 0x04U, 0x04U, 0x04U, 0x04U }, /* | */\n        { 0x02U, 0x04U, 0x04U, 0x08U, 0x04U, 0x04U, 0x02U }, /* } */\n        { 0x02U, 0x15U, 0x08U, 0x00U, 0x00U, 0x00U, 0x00U }, /* ~ */\n    };\n\n    for (; *str != '\\0'; ++str, x += 6) {\n        uint8_t const *ch = &font5x7[*str - ' '][0];\n        paintBitsClear(x, y, ch, 7);\n    }\n}\n\n/*==========================================================================*/\ntypedef struct { /* the auxiliary structure to hold const bitmaps */\n    uint8_t const *bits; /* the bits in the bitmap */\n    uint8_t height;      /* the height of the bitmap */\n} Bitmap;\n\n/* bitmap of the Ship:\n*\n*     x....\n*     xxx..\n*     xxxxx\n*/\nstatic uint8_t const ship_bits[] = {\n    0x01U, 0x07U, 0x1FU\n};\n\n/* bitmap of the Missile:\n*\n*     xxxx\n*/\nstatic uint8_t const missile_bits[] = {\n    0x0FU\n};\n\n/* bitmap of the Mine type-1:\n*\n*     .x.\n*     xxx\n*     .x.\n*/\nstatic uint8_t const mine1_bits[] = {\n    0x02U, 0x07U, 0x02U\n};\n\n/* bitmap of the Mine type-2:\n*\n*     x..x\n*     .xx.\n*     .xx.\n*     x..x\n*/\nstatic uint8_t const mine2_bits[] = {\n    0x09U, 0x06U, 0x06U, 0x09U\n};\n\n/* Mine type-2 is nastier than Mine type-1. The type-2 mine can\n* hit the Ship with any of its \"tentacles\". However, it can be\n* destroyed by the Missile only by hitting its center, defined as\n* the following bitmap:\n*\n*     ....\n*     .xx.\n*     .xx.\n*/\nstatic uint8_t const mine2_missile_bits[] = {\n    0x00U, 0x06U, 0x06U\n};\n\n/*\n* The bitmap of the explosion stage 0:\n*\n*     .......\n*     ...x...\n*     ..x.x..\n*     ...x...\n*/\nstatic uint8_t const explosion0_bits[] = {\n    0x00U, 0x08U, 0x14U, 0x08U\n};\n\n/*\n* The bitmap of the explosion stage 1:\n*\n*     .......\n*     ..x.x..\n*     ...x...\n*     ..x.x..\n*/\nstatic uint8_t const explosion1_bits[] = {\n    0x00U, 0x14U, 0x08U, 0x14U\n};\n\n/*\n* The bitmap of the explosion stage 2:\n*\n*     .x...x.\n*     ..x.x..\n*     ...x...\n*     ..x.x..\n*     .x...x.\n*/\nstatic uint8_t const explosion2_bits[] = {\n    0x11U, 0x0AU, 0x04U, 0x0AU, 0x11U\n};\n\n/*\n* The bitmap of the explosion stage 3:\n*\n*     x..x..x\n*     .x.x.x.\n*     ..x.x..\n*     xx.x.xx\n*     ..x.x..\n*     .x.x.x.\n*     x..x..x\n*/\nstatic uint8_t const explosion3_bits[] = {\n    0x49, 0x2A, 0x14, 0x6B, 0x14, 0x2A, 0x49\n};\n\nstatic Bitmap const l_bitmap[MAX_BMP] = {\n    { ship_bits,       Q_DIM(ship_bits) },\n    { missile_bits,    Q_DIM(missile_bits) },\n    { mine1_bits,      Q_DIM(mine1_bits) },\n    { mine2_bits,      Q_DIM(mine2_bits) },\n    { mine2_missile_bits, Q_DIM(mine2_missile_bits) },\n    { explosion0_bits, Q_DIM(explosion0_bits) },\n    { explosion1_bits, Q_DIM(explosion1_bits) },\n    { explosion2_bits, Q_DIM(explosion2_bits) },\n    { explosion3_bits, Q_DIM(explosion3_bits) }\n};\n\n/*..........................................................................*/\nvoid BSP_paintBitmap(uint8_t x, uint8_t y, uint8_t bmp_id) {\n    Bitmap const *bmp = &l_bitmap[bmp_id];\n    paintBits(x, y, bmp->bits, bmp->height);\n}\n/*..........................................................................*/\nvoid BSP_advanceWalls(uint8_t top, uint8_t bottom) {\n    uint_fast8_t y;\n    for (y = 0U; y < GAME_TUNNEL_HEIGHT; ++y) {\n        /* shift the walls one pixel to the left */\n        l_walls[y][0] = (l_walls[y][0] >> 1) | (l_walls[y][1] << 31);\n        l_walls[y][1] = (l_walls[y][1] >> 1) | (l_walls[y][2] << 31);\n        l_walls[y][2] = (l_walls[y][2] >> 1) | (l_walls[y][3] << 31);\n        l_walls[y][3] = (l_walls[y][3] >> 1);\n\n        /* add new column of walls at the end */\n        if (y <= top) {\n            l_walls[y][3] |= (1U << 31);\n        }\n        if (y >= (GAME_TUNNEL_HEIGHT - bottom)) {\n            l_walls[y][3] |= (1U << 31);\n        }\n\n        /* copy the walls to the frame buffer */\n        l_fb[y][0] = l_walls[y][0];\n        l_fb[y][1] = l_walls[y][1];\n        l_fb[y][2] = l_walls[y][2];\n        l_fb[y][3] = l_walls[y][3];\n    }\n}\n/*..........................................................................*/\nbool BSP_doBitmapsOverlap(uint8_t bmp_id1, uint8_t x1, uint8_t y1,\n                          uint8_t bmp_id2, uint8_t x2, uint8_t y2)\n{\n    uint8_t y;\n    uint8_t y0;\n    uint8_t h;\n    uint32_t bits1;\n    uint32_t bits2;\n    Bitmap const *bmp1;\n    Bitmap const *bmp2;\n\n    Q_REQUIRE((bmp_id1 < Q_DIM(l_bitmap)) && (bmp_id2 < Q_DIM(l_bitmap)));\n\n    /* are the bitmaps close enough in x? */\n    if (x1 >= x2) {\n        if (x1 > x2 + 8U) {\n            return false;\n        }\n        x1 -= x2;\n        x2 = 0U;\n    }\n    else {\n        if (x2 > x1 + 8U) {\n            return false;\n        }\n        x2 -= x1;\n        x1 = 0U;\n    }\n\n    bmp1 = &l_bitmap[bmp_id1];\n    bmp2 = &l_bitmap[bmp_id2];\n    if ((y1 <= y2) && (y1 + bmp1->height > y2)) {\n        y0 = y2 - y1;\n        h = y1 + bmp1->height - y2;\n        if (h > bmp2->height) {\n            h = bmp2->height;\n        }\n        for (y = 0; y < h; ++y) { /* scan over the overlapping rows */\n            bits1 = ((uint32_t)bmp1->bits[y + y0] << x1);\n            bits2 = ((uint32_t)bmp2->bits[y] << x2);\n            if ((bits1 & bits2) != 0U) { /* do the bits overlap? */\n                return true; /* yes! */\n            }\n        }\n    }\n    else {\n        if ((y1 > y2) && (y2 + bmp2->height > y1)) {\n            y0 = y1 - y2;\n            h = y2 + bmp2->height - y1;\n            if (h > bmp1->height) {\n                h = bmp1->height;\n            }\n            for (y = 0; y < h; ++y) {  /* scan over the overlapping rows */\n                bits1 = ((uint32_t)bmp1->bits[y] << x1);\n                bits2 = ((uint32_t)bmp2->bits[y + y0] << x2);\n                if ((bits1 & bits2) != 0U) { /* do the bits overlap? */\n                                       return true; /* yes! */\n                }\n            }\n        }\n    }\n    return false; /* the bitmaps do not overlap */\n}\n/*..........................................................................*/\nbool BSP_isWallHit(uint8_t bmp_id, uint8_t x, uint8_t y) {\n    Bitmap const *bmp = &l_bitmap[bmp_id];\n    uint32_t shft = (x & 0x1FU);\n    uint32_t *walls = &l_walls[y][x >> 5];\n    for (y = 0; y < bmp->height; ++y, walls += (BSP_SCREEN_WIDTH >> 5)) {\n        if (*walls & ((uint32_t)bmp->bits[y] << shft)) {\n            return true;\n        }\n        if (shft > 24U) {\n            if (*(walls + 1) & ((uint32_t)bmp->bits[y] >> (32U - shft))) {\n                return true;\n            }\n        }\n    }\n    return false;\n}\n\n/*..........................................................................*/\nvoid BSP_updateScore(uint16_t score) {\n    uint8_t seg[5];\n    char str[5];\n\n    if (score == 0U) {\n        BSP_paintString(1U, BSP_SCREEN_HEIGHT - 8U, \"SCORE:\");\n    }\n\n    seg[0] = score % 10U; score /= 10U;\n    seg[1] = score % 10U; score /= 10U;\n    seg[2] = score % 10U; score /= 10U;\n    seg[3] = score % 10U;\n\n    /* update the SCORE area on the screeen */\n    str[0] = seg[3] + '0';\n    str[1] = seg[2] + '0';\n    str[2] = seg[1] + '0';\n    str[3] = seg[0] + '0';\n    str[4] = '\\0';\n    BSP_paintString(6U*6U, BSP_SCREEN_HEIGHT - 8U, str);\n\n    /* update the score in the l_scoreBoard SegmentDisplay */\n    SegmentDisplay_setSegment(&l_scoreBoard, 0U, (UINT)seg[0]);\n    SegmentDisplay_setSegment(&l_scoreBoard, 1U, (UINT)seg[1]);\n    SegmentDisplay_setSegment(&l_scoreBoard, 2U, (UINT)seg[2]);\n    SegmentDisplay_setSegment(&l_scoreBoard, 3U, (UINT)seg[3]);\n}\n/*..........................................................................*/\nvoid BSP_displayOn(void) {\n    SegmentDisplay_setSegment(&l_userLED0, 0U, 1U);\n}\n/*..........................................................................*/\nvoid BSP_displayOff(void) {\n    SegmentDisplay_setSegment(&l_userLED0, 0U, 0U);\n    GraphicDisplay_clear(&l_lcd);\n    GraphicDisplay_redraw(&l_lcd);\n}\n/*..........................................................................*/\nuint32_t BSP_random(void) {  /* a very cheap pseudo-random-number generator */\n    /* \"Super-Duper\" Linear Congruential Generator (LCG)\n    * LCG(2^32, 3*7*11*13*23, 0, seed)\n    */\n    l_rnd = l_rnd * (3U*7U*11U*13U*23U);\n    return l_rnd >> 8;\n}\n/*..........................................................................*/\nvoid BSP_randomSeed(uint32_t seed) {\n    l_rnd = seed;\n}\n\n/*--------------------------------------------------------------------------*/\nvoid QF_onStartup(void) {\n    QF_setTickRate(BSP_TICKS_PER_SEC, 30U); /* set the desired tick rate */\n}\n/*..........................................................................*/\nvoid QF_onCleanup(void) {\n}\n/*..........................................................................*/\nvoid QF_onClockTickISR(void) {\n    QF_tickXISR(0U); /* perform the QF-nano clock tick processing */\n\n    /* post TIME_TICK events to all interested active objects... */\n    QACTIVE_POST_ISR((QActive *)&AO_Tunnel, TIME_TICK_SIG, 0U);\n    QACTIVE_POST_ISR((QActive *)&AO_Ship, TIME_TICK_SIG, 0U);\n    QACTIVE_POST_ISR((QActive *)&AO_Missile, TIME_TICK_SIG, 0U);\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const * const module, int_t loc) {\n    char message[80];\n    QF_stop(); /* stop ticking */\n    SNPRINTF_S(message, Q_DIM(message) - 1,\n               \"Assertion failed in module %s location %d\", module, loc);\n    MessageBox(l_hWnd, message, \"!!! ASSERTION !!!\",\n               MB_OK | MB_ICONEXCLAMATION | MB_APPLMODAL);\n    PostQuitMessage(-1);\n}\n\n/*--------------------------------------------------------------------------*/\n/*..........................................................................*/\nstatic void paintBits(uint8_t x, uint8_t y, uint8_t const *bits, uint8_t h) {\n    uint32_t *fb = &l_fb[y][x >> 5];\n    uint32_t shft = (x & 0x1FU);\n    for (y = 0; y < h; ++y, fb += (BSP_SCREEN_WIDTH >> 5)) {\n        *fb |= ((uint32_t)bits[y] << shft);\n        if (shft > 24U) {\n            *(fb + 1) |= ((uint32_t)bits[y] >> (32U - shft));\n        }\n    }\n}\n/*..........................................................................*/\nstatic void paintBitsClear(uint8_t x, uint8_t y,\n                           uint8_t const *bits, uint8_t h)\n{\n    uint32_t *fb = &l_fb[y][x >> 5];\n    uint32_t shft = (x & 0x1FU);\n    uint32_t mask1 = ~((uint32_t)0xFFU << shft);\n    uint32_t mask2;\n    if (shft > 24U) {\n        mask2 = ~(0xFFU >> (32U - shft));\n    }\n    for (y = 0; y < h; ++y, fb += (BSP_SCREEN_WIDTH >> 5)) {\n        *fb = ((*fb & mask1) | ((uint32_t)bits[y] << shft));\n        if (shft > 24U) {\n            *(fb + 1) = ((*(fb + 1) & mask2)\n                | ((uint32_t)bits[y] >> (32U - shft)));\n        }\n    }\n}\n\n/*..........................................................................*/\n/* thread function for running the application main_gui() */\nstatic DWORD WINAPI appThread(LPVOID par) {\n    (void)par; /* unused parameter */\n    return (DWORD)main_gui(); /* run the QF application */\n}\n\n/*--------------------------------------------------------------------------*/\nint WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst,\n                   LPSTR cmdLine, int iCmdShow)\n{\n    HWND hWnd;\n    MSG  msg;\n\n    (void)hPrevInst; /* unused parameter */\n\n    l_hInst   = hInst;   /* save the application instance */\n    l_cmdLine = cmdLine; /* save the command line string */\n\n    //AllocConsole();\n\n    /* create the main custom dialog window */\n    hWnd = CreateCustDialog(hInst, IDD_APPLICATION, NULL,\n                            &WndProc, \"MY_CLASS\");\n    ShowWindow(hWnd, iCmdShow);  /* show the main window */\n\n    /* enter the message loop... */\n    while (GetMessage(&msg, NULL, 0, 0)) {\n        TranslateMessage(&msg);\n        DispatchMessage(&msg);\n    }\n\n    //FreeConsole();\n    BSP_terminate(0);\n\n    return msg.wParam;\n}\n\n/*..........................................................................*/\nstatic LRESULT CALLBACK WndProc(HWND hWnd, UINT iMsg,\n                                WPARAM wParam, LPARAM lParam)\n{\n    switch (iMsg) {\n\n        /* Perform initialization upon cration of the main dialog window\n        * NOTE: Any child-windows are NOT created yet at this time, so\n        * the GetDlgItem() function can't be used (it will return NULL).\n        */\n        case WM_CREATE: {\n            l_hWnd = hWnd; /* save the window handle */\n\n            /* initialize the owner-drawn buttons...\n            * NOTE: must be done *before* the first drawing of the buttons,\n            * so WM_INITDIALOG is too late.\n            */\n            OwnerDrawnButton_init(&l_userBtn0, IDC_USER0,\n                LoadBitmap(l_hInst, MAKEINTRESOURCE(IDB_BTN_UP)),\n                LoadBitmap(l_hInst, MAKEINTRESOURCE(IDB_BTN_DWN)),\n                LoadCursor(NULL, IDC_HAND));\n            OwnerDrawnButton_init(&l_userBtn1, IDC_USER1,\n                LoadBitmap(l_hInst, MAKEINTRESOURCE(IDB_BTN_UP)),\n                LoadBitmap(l_hInst, MAKEINTRESOURCE(IDB_BTN_DWN)),\n                LoadCursor(NULL, IDC_HAND));\n            return 0;\n        }\n\n        /* Perform initialization after all child windows have been created */\n        case WM_INITDIALOG: {\n            GraphicDisplay_init(&l_lcd, 128,  128, IDC_LCD, c_offColor);\n\n            SegmentDisplay_init(&l_userLED0,\n                1U,  /* 1 \"segment\" (the LED0 itself) */\n                2U); /* 2 bitmaps (for LED0 OFF/ON states) */\n            SegmentDisplay_initSegment(&l_userLED0, 0U, IDC_LED0);\n            SegmentDisplay_initBitmap(&l_userLED0,\n                0U, LoadBitmap(l_hInst, MAKEINTRESOURCE(IDB_LED_OFF)));\n            SegmentDisplay_initBitmap(&l_userLED0,\n                1U, LoadBitmap(l_hInst, MAKEINTRESOURCE(IDB_LED_ON)));\n\n            SegmentDisplay_init(&l_userLED1,\n                1U,  /* 1 \"segment\" (the LED1 itself) */\n                2U); /* 2 bitmaps (for LED1 OFF/ON states) */\n            SegmentDisplay_initSegment(&l_userLED1, 0U, IDC_LED1);\n            SegmentDisplay_initBitmap(&l_userLED1,\n                0U, LoadBitmap(l_hInst, MAKEINTRESOURCE(IDB_LED_OFF)));\n            SegmentDisplay_initBitmap(&l_userLED1,\n                1U, LoadBitmap(l_hInst, MAKEINTRESOURCE(IDB_LED_ON)));\n\n            SegmentDisplay_init(&l_scoreBoard,\n                4U,   /* 4 \"segments\" (digits 0-3) */\n                10U); /* 10 bitmaps (for 0-9 states) */\n            SegmentDisplay_initSegment(&l_scoreBoard, 0U, IDC_SEG0);\n            SegmentDisplay_initSegment(&l_scoreBoard, 1U, IDC_SEG1);\n            SegmentDisplay_initSegment(&l_scoreBoard, 2U, IDC_SEG2);\n            SegmentDisplay_initSegment(&l_scoreBoard, 3U, IDC_SEG3);\n            SegmentDisplay_initBitmap(&l_scoreBoard,\n                0U, LoadBitmap(l_hInst, MAKEINTRESOURCE(IDB_SEG0)));\n            SegmentDisplay_initBitmap(&l_scoreBoard,\n                1U, LoadBitmap(l_hInst, MAKEINTRESOURCE(IDB_SEG1)));\n            SegmentDisplay_initBitmap(&l_scoreBoard,\n                2U, LoadBitmap(l_hInst, MAKEINTRESOURCE(IDB_SEG2)));\n            SegmentDisplay_initBitmap(&l_scoreBoard,\n                3U, LoadBitmap(l_hInst, MAKEINTRESOURCE(IDB_SEG3)));\n            SegmentDisplay_initBitmap(&l_scoreBoard,\n                4U, LoadBitmap(l_hInst, MAKEINTRESOURCE(IDB_SEG4)));\n            SegmentDisplay_initBitmap(&l_scoreBoard,\n                5U, LoadBitmap(l_hInst, MAKEINTRESOURCE(IDB_SEG5)));\n            SegmentDisplay_initBitmap(&l_scoreBoard,\n                6U, LoadBitmap(l_hInst, MAKEINTRESOURCE(IDB_SEG6)));\n            SegmentDisplay_initBitmap(&l_scoreBoard,\n                7U, LoadBitmap(l_hInst, MAKEINTRESOURCE(IDB_SEG7)));\n            SegmentDisplay_initBitmap(&l_scoreBoard,\n                8U, LoadBitmap(l_hInst, MAKEINTRESOURCE(IDB_SEG8)));\n            SegmentDisplay_initBitmap(&l_scoreBoard,\n                9U, LoadBitmap(l_hInst, MAKEINTRESOURCE(IDB_SEG9)));\n\n            BSP_updateScore(0U);\n\n            /* --> QP: spawn the application thread to run main_gui() */\n            Q_ALLEGE(CreateThread(NULL, 0, &appThread, NULL, 0, NULL)\n                     != (HANDLE)0);\n            return 0;\n        }\n\n        case WM_DESTROY: {\n            OutputDebugString(\"DESTROY\\n\");\n            PostQuitMessage(0);\n            return 0;\n        }\n\n        /* commands from regular buttons and menus... */\n        case WM_COMMAND: {\n            SetFocus(hWnd);\n            switch (wParam) {\n                case IDOK:\n                case IDCANCEL: {\n                    OutputDebugString(\"QUIT\\n\");\n                    PostQuitMessage(0);\n                    break;\n                }\n            }\n            return 0;\n        }\n\n        /* owner-drawn buttons... */\n        case WM_DRAWITEM: {\n            LPDRAWITEMSTRUCT pdis = (LPDRAWITEMSTRUCT)lParam;\n            switch (pdis->CtlID) {\n            case IDC_USER0: {  /* USER owner-drawn Button0 */\n                OutputDebugString(\"USER0\\n\");\n                switch (OwnerDrawnButton_draw(&l_userBtn0, pdis)) {\n                    case BTN_DEPRESSED: {\n                        playerTrigger();\n                        SegmentDisplay_setSegment(&l_userLED0, 0U, 1U);\n                        break;\n                    }\n                    case BTN_RELEASED: {\n                        SegmentDisplay_setSegment(&l_userLED0, 0U, 0U);\n                        break;\n                    }\n                    default: {\n                        break;\n                    }\n                }\n                break;\n            }\n            case IDC_USER1: {  /* USER owner-drawn Button1 */\n                OutputDebugString(\"USER1\\n\");\n                switch (OwnerDrawnButton_draw(&l_userBtn1, pdis)) {\n                    default: {\n                        break;\n                    }\n                }\n                break;\n            }\n        }\n        return 0;\n    }\n\n    /* mouse wheel input... */\n    case WM_MOUSEWHEEL: {\n        OutputDebugString(\"MOUSEWHEEL\\n\");\n        return 0;\n    }\n\n    /* keyboard input... */\n    case WM_KEYDOWN: {\n        OutputDebugString(\"KEYDOWN\\n\");\n        switch (wParam) {\n            case VK_SPACE:\n                playerTrigger();\n                OwnerDrawnButton_set(&l_userBtn0, 1);\n                break;\n            }\n            return 0;\n        }\n        case WM_KEYUP: {\n            OutputDebugString(\"KEYUP\\n\");\n            switch (wParam) {\n                case VK_SPACE:\n                    OwnerDrawnButton_set(&l_userBtn0, 0);\n                    break;\n            }\n            return 0;\n        }\n    }\n    return DefWindowProc(hWnd, iMsg, wParam, lParam);\n}\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/win32-gui/game-gui.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio Express 2013 for Windows Desktop\nVisualStudioVersion = 12.0.21005.1\nMinimumVisualStudioVersion = 10.0.40219.1\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"game-gui\", \"game-gui.vcxproj\", \"{79027B25-0949-4F66-9765-4EFBCBBEFB94}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{79027B25-0949-4F66-9765-4EFBCBBEFB94}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{79027B25-0949-4F66-9765-4EFBCBBEFB94}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{79027B25-0949-4F66-9765-4EFBCBBEFB94}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{79027B25-0949-4F66-9765-4EFBCBBEFB94}.Release|Win32.Build.0 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/win32-gui/game-gui.vcxproj",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"12.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <ItemGroup Label=\"ProjectConfigurations\">\n    <ProjectConfiguration Include=\"Debug|Win32\">\n      <Configuration>Debug</Configuration>\n      <Platform>Win32</Platform>\n    </ProjectConfiguration>\n    <ProjectConfiguration Include=\"Release|Win32\">\n      <Configuration>Release</Configuration>\n      <Platform>Win32</Platform>\n    </ProjectConfiguration>\n  </ItemGroup>\n  <PropertyGroup Label=\"Globals\">\n    <ProjectGuid>{79027B25-0949-4F66-9765-4EFBCBBEFB94}</ProjectGuid>\n    <RootNamespace>game-gui</RootNamespace>\n    <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>\n  </PropertyGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.Default.props\" />\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\" Label=\"Configuration\">\n    <ConfigurationType>Application</ConfigurationType>\n    <UseOfMfc>false</UseOfMfc>\n    <CharacterSet>NotSet</CharacterSet>\n    <PlatformToolset>v142</PlatformToolset>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\" Label=\"Configuration\">\n    <ConfigurationType>Application</ConfigurationType>\n    <UseOfMfc>false</UseOfMfc>\n    <CharacterSet>NotSet</CharacterSet>\n    <PlatformToolset>v142</PlatformToolset>\n  </PropertyGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.props\" />\n  <ImportGroup Label=\"ExtensionSettings\">\n  </ImportGroup>\n  <ImportGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\" Label=\"PropertySheets\">\n    <Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n    <Import Project=\"$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props\" />\n  </ImportGroup>\n  <ImportGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\" Label=\"PropertySheets\">\n    <Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n    <Import Project=\"$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props\" />\n  </ImportGroup>\n  <PropertyGroup Label=\"UserMacros\" />\n  <PropertyGroup>\n    <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>\n    <OutDir Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">$(Configuration)\\</OutDir>\n    <IntDir Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">$(Configuration)\\</IntDir>\n    <EnableManagedIncrementalBuild Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">false</EnableManagedIncrementalBuild>\n    <LinkIncremental Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">false</LinkIncremental>\n    <OutDir Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">$(Configuration)\\</OutDir>\n    <IntDir Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">$(Configuration)\\</IntDir>\n    <EnableManagedIncrementalBuild Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">false</EnableManagedIncrementalBuild>\n    <LinkIncremental Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">false</LinkIncremental>\n  </PropertyGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">\n    <Midl>\n      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <MkTypLibCompatible>true</MkTypLibCompatible>\n      <SuppressStartupBanner>true</SuppressStartupBanner>\n      <TargetEnvironment>Win32</TargetEnvironment>\n      <TypeLibraryName>.\\Release/game-gui.tlb</TypeLibraryName>\n      <HeaderFileName>\n      </HeaderFileName>\n    </Midl>\n    <ClCompile>\n      <Optimization>MaxSpeed</Optimization>\n      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>\n      <AdditionalIncludeDirectories>.;..;../../../../include;../../../../ports/win32-qv</AdditionalIncludeDirectories>\n      <PreprocessorDefinitions>QWIN_GUI;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <StringPooling>false</StringPooling>\n      <ExceptionHandling>\n      </ExceptionHandling>\n      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\n      <FunctionLevelLinking>true</FunctionLevelLinking>\n      <PrecompiledHeaderOutputFile>\n      </PrecompiledHeaderOutputFile>\n      <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>\n      <ObjectFileName>$(IntDir)</ObjectFileName>\n      <ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName>\n      <WarningLevel>Level3</WarningLevel>\n      <SuppressStartupBanner>true</SuppressStartupBanner>\n      <CompileAs>Default</CompileAs>\n    </ClCompile>\n    <ResourceCompile>\n      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <Culture>0x0409</Culture>\n    </ResourceCompile>\n    <Link>\n      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\n      <OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>\n      <SuppressStartupBanner>true</SuppressStartupBanner>\n      <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n      <SubSystem>Windows</SubSystem>\n      <RandomizedBaseAddress>false</RandomizedBaseAddress>\n      <DataExecutionPrevention>\n      </DataExecutionPrevention>\n      <TargetMachine>MachineX86</TargetMachine>\n    </Link>\n    <Bscmake>\n      <SuppressStartupBanner>true</SuppressStartupBanner>\n      <OutputFile>.\\Release/game-gui.bsc</OutputFile>\n    </Bscmake>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">\n    <Midl>\n      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <MkTypLibCompatible>true</MkTypLibCompatible>\n      <SuppressStartupBanner>true</SuppressStartupBanner>\n      <TargetEnvironment>Win32</TargetEnvironment>\n      <TypeLibraryName>.\\Debug/game-gui.tlb</TypeLibraryName>\n      <HeaderFileName>\n      </HeaderFileName>\n    </Midl>\n    <ClCompile>\n      <Optimization>Disabled</Optimization>\n      <AdditionalIncludeDirectories>.;..;../../../../include;../../../../ports/win32-qv</AdditionalIncludeDirectories>\n      <PreprocessorDefinitions>QWIN_GUI;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <StringPooling>false</StringPooling>\n      <ExceptionHandling>\n      </ExceptionHandling>\n      <BasicRuntimeChecks>Default</BasicRuntimeChecks>\n      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\n      <PrecompiledHeaderOutputFile>\n      </PrecompiledHeaderOutputFile>\n      <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>\n      <ObjectFileName>$(IntDir)</ObjectFileName>\n      <ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName>\n      <BrowseInformation>true</BrowseInformation>\n      <WarningLevel>Level3</WarningLevel>\n      <SuppressStartupBanner>true</SuppressStartupBanner>\n      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\n      <CompileAs>Default</CompileAs>\n      <DisableSpecificWarnings>\n      </DisableSpecificWarnings>\n    </ClCompile>\n    <ResourceCompile>\n      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <Culture>0x0409</Culture>\n    </ResourceCompile>\n    <Link>\n      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\n      <OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>\n      <SuppressStartupBanner>true</SuppressStartupBanner>\n      <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n      <GenerateDebugInformation>true</GenerateDebugInformation>\n      <GenerateMapFile>false</GenerateMapFile>\n      <MapFileName>\n      </MapFileName>\n      <SubSystem>Windows</SubSystem>\n      <RandomizedBaseAddress>false</RandomizedBaseAddress>\n      <DataExecutionPrevention>\n      </DataExecutionPrevention>\n      <TargetMachine>MachineX86</TargetMachine>\n    </Link>\n    <Bscmake>\n      <SuppressStartupBanner>true</SuppressStartupBanner>\n      <OutputFile>.\\Debug/game-gui.bsc</OutputFile>\n    </Bscmake>\n  </ItemDefinitionGroup>\n  <ItemGroup>\n    <ClCompile Include=\"..\\..\\..\\..\\ports\\win32-qv\\qfn_win32.c\" />\n    <ClCompile Include=\"..\\..\\..\\..\\ports\\win32-qv\\qwin_gui.c\" />\n    <ClCompile Include=\"..\\..\\..\\..\\src\\qfn\\qepn.c\" />\n    <ClCompile Include=\"..\\main.c\" />\n    <ClCompile Include=\"..\\mine1.c\" />\n    <ClCompile Include=\"..\\mine2.c\" />\n    <ClCompile Include=\"..\\missile.c\" />\n    <ClCompile Include=\"..\\ship.c\" />\n    <ClCompile Include=\"..\\tunnel.c\" />\n    <ClCompile Include=\"bsp.c\">\n      <AdditionalIncludeDirectories Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n      <PreprocessorDefinitions Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <AdditionalIncludeDirectories Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n      <PreprocessorDefinitions Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">%(PreprocessorDefinitions)</PreprocessorDefinitions>\n    </ClCompile>\n  </ItemGroup>\n  <ItemGroup>\n    <ClInclude Include=\"..\\..\\..\\..\\ports\\win32-qv\\qfn_port.h\" />\n    <ClInclude Include=\"..\\..\\..\\..\\ports\\win32-qv\\qwin_gui.h\" />\n    <ClInclude Include=\"..\\bsp.h\" />\n    <ClInclude Include=\"..\\game.h\" />\n    <ClInclude Include=\"..\\qpn_conf.h\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Res\\BTN_DWN.bmp\" />\n    <None Include=\"Res\\BTN_UP.bmp\" />\n    <None Include=\"Res\\eating.bmp\" />\n    <None Include=\"Res\\hungry.bmp\" />\n    <None Include=\"Res\\qp.ico\" />\n    <None Include=\"Res\\thinking.bmp\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ResourceCompile Include=\"Resource.rc\" />\n  </ItemGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\" />\n  <ImportGroup Label=\"ExtensionTargets\">\n  </ImportGroup>\n</Project>"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/win32-gui/game-gui.vcxproj.filters",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <ItemGroup>\n    <ClCompile Include=\"bsp.c\" />\n    <ClCompile Include=\"..\\..\\..\\..\\ports\\win32-qv\\qfn_win32.c\">\n      <Filter>QP</Filter>\n    </ClCompile>\n    <ClCompile Include=\"..\\main.c\" />\n    <ClCompile Include=\"..\\mine1.c\" />\n    <ClCompile Include=\"..\\mine2.c\" />\n    <ClCompile Include=\"..\\missile.c\" />\n    <ClCompile Include=\"..\\ship.c\" />\n    <ClCompile Include=\"..\\tunnel.c\" />\n    <ClCompile Include=\"..\\..\\..\\..\\ports\\win32-qv\\qwin_gui.c\">\n      <Filter>QP</Filter>\n    </ClCompile>\n    <ClCompile Include=\"..\\..\\..\\..\\src\\qfn\\qepn.c\">\n      <Filter>QP</Filter>\n    </ClCompile>\n  </ItemGroup>\n  <ItemGroup>\n    <ClInclude Include=\"..\\..\\..\\..\\ports\\win32-qv\\qfn_port.h\">\n      <Filter>QP</Filter>\n    </ClInclude>\n    <ClInclude Include=\"..\\bsp.h\" />\n    <ClInclude Include=\"..\\game.h\" />\n    <ClInclude Include=\"..\\qpn_conf.h\" />\n    <ClInclude Include=\"..\\..\\..\\..\\ports\\win32-qv\\qwin_gui.h\">\n      <Filter>QP</Filter>\n    </ClInclude>\n  </ItemGroup>\n  <ItemGroup>\n    <ResourceCompile Include=\"Resource.rc\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Res\\hungry.bmp\">\n      <Filter>Res</Filter>\n    </None>\n    <None Include=\"Res\\eating.bmp\">\n      <Filter>Res</Filter>\n    </None>\n    <None Include=\"Res\\qp.ico\">\n      <Filter>Res</Filter>\n    </None>\n    <None Include=\"Res\\thinking.bmp\">\n      <Filter>Res</Filter>\n    </None>\n    <None Include=\"Res\\BTN_UP.bmp\">\n      <Filter>Res</Filter>\n    </None>\n    <None Include=\"Res\\BTN_DWN.bmp\">\n      <Filter>Res</Filter>\n    </None>\n  </ItemGroup>\n  <ItemGroup>\n    <Filter Include=\"Res\">\n      <UniqueIdentifier>{382909e6-fb4e-4829-941e-d3461d9ce146}</UniqueIdentifier>\n    </Filter>\n    <Filter Include=\"QP\">\n      <UniqueIdentifier>{cead428d-5be7-440c-b491-936bfc2a36a3}</UniqueIdentifier>\n    </Filter>\n  </ItemGroup>\n</Project>"
  },
  {
    "path": "examples/arm-cm/game_efm32-slstk3401a/win32-gui/resource.h",
    "content": "//{{NO_DEPENDENCIES}}\n// Microsoft Visual C++ generated include file.\n// Used by Resource.rc\n//\n#define IDD_APPLICATION                 101\n#define IDC_LCD                         111\n#define IDC_LED0                        112\n#define IDC_LED1                        113\n#define IDC_USER0                       114\n#define IDC_USER1                       115\n#define IDB_BACKGROUND                  120\n#define IDB_BTN_UP                      137\n#define IDB_BTN_DWN                     138\n#define IDB_LCD                         142\n#define IDB_LED_OFF                     144\n#define IDB_LED_ON                      145\n#define IDB_SEG                         146\n#define IDB_SEG0                        150\n#define IDB_SEG1                        151\n#define IDB_SEG2                        152\n#define IDB_SEG3                        153\n#define IDB_SEG4                        154\n#define IDB_SEG5                        155\n#define IDB_SEG6                        156\n#define IDB_SEG7                        157\n#define IDB_SEG8                        158\n#define IDB_SEG9                        159\n#define IDC_SEG0                        1020\n#define IDC_SEG1                        1021\n#define IDC_SEG2                        1022\n#define IDC_SEG3                        1023\n#define IDS_APP_TITLE                   40000\n\n// Next default values for new objects\n//\n#ifdef APSTUDIO_INVOKED\n#ifndef APSTUDIO_READONLY_SYMBOLS\n#define _APS_NEXT_RESOURCE_VALUE        111\n#define _APS_NEXT_COMMAND_VALUE         40001\n#define _APS_NEXT_CONTROL_VALUE         1002\n#define _APS_NEXT_SYMED_VALUE           123\n#endif\n#endif\n"
  },
  {
    "path": "examples/arm-cm/pelican_ek-tm4c123gxl/README.url",
    "content": "[InternetShortcut]\nURL=http://www.state-machine.com/qpn/arm-cm_pelican_ek-tm4c123gxl.html\nIconFile=http://www.state-machine.com/qp.ico\n"
  },
  {
    "path": "examples/arm-cm/pelican_ek-tm4c123gxl/bsp.h",
    "content": "/*****************************************************************************\n* Product: BSP for PELICAN crossing example\n* Last updated for version 5.4.0\n* Last updated on  2015-05-18\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, www.state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BSP_H\n#define BSP_H\n\n#define BSP_TICKS_PER_SEC   100U\n\nenum BSP_CarsSignal {\n    CARS_RED, CARS_YELLOW, CARS_GREEN, CARS_BLANK\n};\n\nenum BSP_PedsSignal {\n    PEDS_DONT_WALK, PEDS_WALK, PEDS_BLANK\n};\n\nvoid BSP_init(void);\nvoid BSP_showState(char_t const *state);\nvoid BSP_signalCars(enum BSP_CarsSignal sig);\nvoid BSP_signalPeds(enum BSP_PedsSignal sig);\n\n#endif /* BSP_H */\n"
  },
  {
    "path": "examples/arm-cm/pelican_ek-tm4c123gxl/main.c",
    "content": "/*****************************************************************************\n* Product: PELICAN crossing example\n* Last updated for version 5.8.0\n* Last updated on  2016-11-06\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"     /* QP-nano */\n#include \"bsp.h\"     /* Board Support Package (BSP) */\n#include \"pelican.h\" /* application interface */\n\n/*..........................................................................*/\nstatic QEvt  l_pelicanQueue[3];\n\n/* QF_active[] array defines all active object control blocks --------------*/\nQActiveCB const Q_ROM QF_active[] = {\n    { (QActive *)0,           (QEvt *)0,      0U                    },\n    { (QActive *)&AO_Pelican, l_pelicanQueue, Q_DIM(l_pelicanQueue) }\n};\n\n/*..........................................................................*/\nint main (void) {\n    Pelican_ctor();   /* instantiate the  Pelican AO */\n    QF_init(Q_DIM(QF_active)); /* initialize the QF-nano framework */\n    BSP_init();      /* initialize the Board Support Package */\n    return QF_run();  /* transfer control to QF-nano */\n}\n"
  },
  {
    "path": "examples/arm-cm/pelican_ek-tm4c123gxl/pelican.c",
    "content": "/*.$file${.::pelican.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: pelican.qm\n* File:  ${.::pelican.c}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::pelican.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"     /* QP-nano */\n#include \"bsp.h\"     /* Board Support Package (BSP) */\n#include \"pelican.h\" /* application interface */\n\n/*Q_DEFINE_THIS_FILE*/\n\n#define CARS_GREEN_MIN_TOUT (QTimeEvtCtr)(BSP_TICKS_PER_SEC * 8U)\n#define CARS_YELLOW_TOUT    (QTimeEvtCtr)(BSP_TICKS_PER_SEC * 3U)\n#define PEDS_WALK_TOUT      (QTimeEvtCtr)(BSP_TICKS_PER_SEC * 3U)\n#define PEDS_FLASH_TOUT     (QTimeEvtCtr)(BSP_TICKS_PER_SEC / 5U)\n#define PEDS_FLASH_NUM      (uint8_t)(5U * 2U)\n#define OFF_FLASH_TOUT      (QTimeEvtCtr)(BSP_TICKS_PER_SEC / 2U)\n\n/* Pelican class declaration -----------------------------------------------*/\n/*.$declare${components::Pelican} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${components::Pelican} ..................................................*/\ntypedef struct Pelican {\n/* protected: */\n    QActive super;\n\n/* private: */\n    uint8_t flashCtr;\n} Pelican;\n\n/* protected: */\nstatic QState Pelican_initial(Pelican * const me);\nstatic QState Pelican_operational(Pelican * const me);\nstatic QState Pelican_carsEnabled(Pelican * const me);\nstatic QState Pelican_carsGreen(Pelican * const me);\nstatic QState Pelican_carsGreenNoPed(Pelican * const me);\nstatic QState Pelican_carsGreenInt(Pelican * const me);\nstatic QState Pelican_carsGreenPedWait(Pelican * const me);\nstatic QState Pelican_carsYellow(Pelican * const me);\nstatic QState Pelican_pedsEnabled(Pelican * const me);\nstatic QState Pelican_pedsWalk(Pelican * const me);\nstatic QState Pelican_pedsFlash(Pelican * const me);\nstatic QState Pelican_offline(Pelican * const me);\n/*.$enddecl${components::Pelican} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Global objects ----------------------------------------------------------*/\nstruct Pelican AO_Pelican; /* the single instance of the Pelican AO */\n\n/* Pelican class definition ------------------------------------------------*/\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 650U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.5.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${components::Pelican_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${components::Pelican_ctor} .............................................*/\nvoid Pelican_ctor(void) {\n    QActive_ctor(&AO_Pelican.super, Q_STATE_CAST(&Pelican_initial));\n}\n/*.$enddef${components::Pelican_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${components::Pelican} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${components::Pelican} ..................................................*/\n/*.${components::Pelican::SM} ..............................................*/\nstatic QState Pelican_initial(Pelican * const me) {\n    /*.${components::Pelican::SM::initial} */\n    return Q_TRAN(&Pelican_operational);\n}\n/*.${components::Pelican::SM::operational} .................................*/\nstatic QState Pelican_operational(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${components::Pelican::SM::operational} */\n        case Q_ENTRY_SIG: {\n            BSP_signalCars(CARS_RED);\n            BSP_signalPeds(PEDS_DONT_WALK);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::initial} */\n        case Q_INIT_SIG: {\n            status_ = Q_TRAN(&Pelican_carsEnabled);\n            break;\n        }\n        /*.${components::Pelican::SM::operational::OFF} */\n        case OFF_SIG: {\n            status_ = Q_TRAN(&Pelican_offline);\n            break;\n        }\n        /*.${components::Pelican::SM::operational::TERMINATE} */\n        case TERMINATE_SIG: {\n            QF_stop();\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${components::Pelican::SM::operational::carsEnabled} ....................*/\nstatic QState Pelican_carsEnabled(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${components::Pelican::SM::operational::carsEnabled} */\n        case Q_EXIT_SIG: {\n            BSP_signalCars(CARS_RED);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::carsEnabled::initial} */\n        case Q_INIT_SIG: {\n            status_ = Q_TRAN(&Pelican_carsGreen);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Pelican_operational);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${components::Pelican::SM::operational::carsEnabled::carsGreen} .........*/\nstatic QState Pelican_carsGreen(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${components::Pelican::SM::operational::carsEnabled::carsGreen} */\n        case Q_ENTRY_SIG: {\n            BSP_signalCars(CARS_GREEN);\n            /* one-shot timeout in CARS_GREEN_MIN_TOUT ticks */\n            QActive_armX(&me->super, 0U, CARS_GREEN_MIN_TOUT, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::carsEnabled::carsGreen} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::carsEnabled::carsGreen::initial} */\n        case Q_INIT_SIG: {\n            status_ = Q_TRAN(&Pelican_carsGreenNoPed);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Pelican_carsEnabled);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenNoPed} */\nstatic QState Pelican_carsGreenNoPed(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenNoPed} */\n        case Q_ENTRY_SIG: {\n            BSP_showState(\"carsGreenNoPed\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenNoPed::PEDS_WAITING} */\n        case PEDS_WAITING_SIG: {\n            status_ = Q_TRAN(&Pelican_carsGreenPedWait);\n            break;\n        }\n        /*.${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenNoPed::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Pelican_carsGreenInt);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Pelican_carsGreen);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenInt} */\nstatic QState Pelican_carsGreenInt(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenInt} */\n        case Q_ENTRY_SIG: {\n            BSP_showState(\"carsGreenInt\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenInt::PEDS_WAITING} */\n        case PEDS_WAITING_SIG: {\n            status_ = Q_TRAN(&Pelican_carsYellow);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Pelican_carsGreen);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenPedWait} */\nstatic QState Pelican_carsGreenPedWait(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenPedWait} */\n        case Q_ENTRY_SIG: {\n            BSP_showState(\"carsGreenPedWait\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenPedWait::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Pelican_carsYellow);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Pelican_carsGreen);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${components::Pelican::SM::operational::carsEnabled::carsYellow} ........*/\nstatic QState Pelican_carsYellow(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${components::Pelican::SM::operational::carsEnabled::carsYellow} */\n        case Q_ENTRY_SIG: {\n            BSP_showState(\"carsYellow\");\n            BSP_signalCars(CARS_YELLOW);\n\n            /* one-shot timeout in CARS_YELLOW_TOUT ticks */\n            QActive_armX(&me->super, 0U, CARS_YELLOW_TOUT, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::carsEnabled::carsYellow} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::carsEnabled::carsYellow::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Pelican_pedsEnabled);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Pelican_carsEnabled);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${components::Pelican::SM::operational::pedsEnabled} ....................*/\nstatic QState Pelican_pedsEnabled(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${components::Pelican::SM::operational::pedsEnabled} */\n        case Q_EXIT_SIG: {\n            BSP_signalPeds(PEDS_DONT_WALK);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::pedsEnabled::initial} */\n        case Q_INIT_SIG: {\n            status_ = Q_TRAN(&Pelican_pedsWalk);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Pelican_operational);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${components::Pelican::SM::operational::pedsEnabled::pedsWalk} ..........*/\nstatic QState Pelican_pedsWalk(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${components::Pelican::SM::operational::pedsEnabled::pedsWalk} */\n        case Q_ENTRY_SIG: {\n            BSP_showState(\"pedsWalk\");\n            BSP_signalPeds(PEDS_WALK);\n            /* one-shot timeout in PEDS_WALK_TOUT ticks */\n            QActive_armX(&me->super, 0U, PEDS_WALK_TOUT, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::pedsEnabled::pedsWalk} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::pedsEnabled::pedsWalk::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Pelican_pedsFlash);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Pelican_pedsEnabled);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${components::Pelican::SM::operational::pedsEnabled::pedsFlash} .........*/\nstatic QState Pelican_pedsFlash(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${components::Pelican::SM::operational::pedsEnabled::pedsFlash} */\n        case Q_ENTRY_SIG: {\n            BSP_showState(\"pedsFlash\");\n            /* periodic timeout in PEDS_FLASH_TOUT and every PEDS_FLASH_TOUT ticks */\n            QActive_armX(&me->super, 0U, PEDS_FLASH_TOUT, PEDS_FLASH_TOUT);\n            me->flashCtr = (PEDS_FLASH_NUM * 2U) + 1U;\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::pedsEnabled::pedsFlash} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::pedsEnabled::pedsFlash::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            /*.${components::Pelican::SM::operational::pedsEnabled::pedsFlash::Q_TIMEOUT::[me->flashCtr!=0U]} */\n            if (me->flashCtr != 0U) {\n                --me->flashCtr;\n                /*.${components::Pelican::SM::operational::pedsEnabled::pedsFlash::Q_TIMEOUT::[me->flashCtr!=0~::[(me->flashCtr&1U)==0U]} */\n                if ((me->flashCtr & 1U) == 0U) {\n                    BSP_signalPeds(PEDS_DONT_WALK);\n                    status_ = Q_HANDLED();\n                }\n                /*.${components::Pelican::SM::operational::pedsEnabled::pedsFlash::Q_TIMEOUT::[me->flashCtr!=0~::[else]} */\n                else {\n                    BSP_signalPeds(PEDS_BLANK);\n                    status_ = Q_HANDLED();\n                }\n            }\n            /*.${components::Pelican::SM::operational::pedsEnabled::pedsFlash::Q_TIMEOUT::[else]} */\n            else {\n                status_ = Q_TRAN(&Pelican_carsEnabled);\n            }\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Pelican_pedsEnabled);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${components::Pelican::SM::offline} .....................................*/\nstatic QState Pelican_offline(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${components::Pelican::SM::offline} */\n        case Q_ENTRY_SIG: {\n            BSP_showState(\"offline\");\n            /* periodic timeout in OFF_FLASH_TOUT and every OFF_FLASH_TOUT ticks */\n            QActive_armX(&me->super, 0U, OFF_FLASH_TOUT, OFF_FLASH_TOUT);\n            me->flashCtr = 0U;\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::offline} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::offline::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            me->flashCtr ^= 1U;\n            /*.${components::Pelican::SM::offline::Q_TIMEOUT::[(me->flashCtr&1U)==0U]} */\n            if ((me->flashCtr & 1U) == 0U) {\n                BSP_signalCars(CARS_RED);\n                BSP_signalPeds(PEDS_DONT_WALK);\n                status_ = Q_HANDLED();\n            }\n            /*.${components::Pelican::SM::offline::Q_TIMEOUT::[else]} */\n            else {\n                BSP_signalCars(CARS_BLANK);\n                BSP_signalPeds(PEDS_BLANK);\n                status_ = Q_HANDLED();\n            }\n            break;\n        }\n        /*.${components::Pelican::SM::offline::ON} */\n        case ON_SIG: {\n            status_ = Q_TRAN(&Pelican_operational);\n            break;\n        }\n        /*.${components::Pelican::SM::offline::TERMINATE} */\n        case TERMINATE_SIG: {\n            QF_stop();\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${components::Pelican} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/arm-cm/pelican_ek-tm4c123gxl/pelican.h",
    "content": "/*.$file${.::pelican.h} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: pelican.qm\n* File:  ${.::pelican.h}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::pelican.h} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#ifndef PELICAN_H\n#define PELICAN_H\n\nenum PelicanSignals {\n    PEDS_WAITING_SIG = Q_USER_SIG,\n    OFF_SIG,\n    ON_SIG,\n    TERMINATE_SIG\n};\n\n/* active objects ................................................*/\n/*.$declare${components::Pelican_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${components::Pelican_ctor} .............................................*/\nvoid Pelican_ctor(void);\n/*.$enddecl${components::Pelican_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\nextern struct Pelican AO_Pelican;\n\n#endif /* PELICAN_H */\n"
  },
  {
    "path": "examples/arm-cm/pelican_ek-tm4c123gxl/pelican.qm",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<model version=\"4.6.0\" links=\"1\">\n <documentation>PEdestrian LIght CONtrolled (PELICAN) crossing example</documentation>\n <!--${qpn}-->\n <framework name=\"qpn\"/>\n <!--${components}-->\n <package name=\"components\" stereotype=\"0x02\">\n  <!--${components::Pelican}-->\n  <class name=\"Pelican\" superclass=\"qpn::QActive\">\n   <documentation>PEdestrian LIght CONtrolled (PELICAN) crossing</documentation>\n   <!--${components::Pelican::flashCtr}-->\n   <attribute name=\"flashCtr\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${components::Pelican::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${components::Pelican::SM::initial}-->\n    <initial target=\"../1\">\n     <initial_glyph conn=\"2,2,5,1,72,4,-2\">\n      <action box=\"1,-2,27,4\"/>\n     </initial_glyph>\n    </initial>\n    <!--${components::Pelican::SM::operational}-->\n    <state name=\"operational\">\n     <entry brief=\"CARS_RED; PEDS_DONT_WALK\">BSP_signalCars(CARS_RED);\nBSP_signalPeds(PEDS_DONT_WALK);</entry>\n     <!--${components::Pelican::SM::operational::initial}-->\n     <initial target=\"../3\">\n      <initial_glyph conn=\"3,9,5,1,34,9,-2\">\n       <action box=\"1,-2,6,2\"/>\n      </initial_glyph>\n     </initial>\n     <!--${components::Pelican::SM::operational::OFF}-->\n     <tran trig=\"OFF\" target=\"../../2\">\n      <tran_glyph conn=\"2,14,3,1,72,66,-2\">\n       <action box=\"0,-2,5,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${components::Pelican::SM::operational::TERMINATE}-->\n     <tran trig=\"TERMINATE\">\n      <action>QF_stop();</action>\n      <tran_glyph conn=\"2,12,3,-1,15\">\n       <action box=\"0,-2,10,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${components::Pelican::SM::operational::carsEnabled}-->\n     <state name=\"carsEnabled\">\n      <exit brief=\"CARS_RED\">BSP_signalCars(CARS_RED);</exit>\n      <!--${components::Pelican::SM::operational::carsEnabled::initial}-->\n      <initial target=\"../1\">\n       <initial_glyph conn=\"5,21,5,1,26,4,-2\">\n        <action box=\"1,-2,6,2\"/>\n       </initial_glyph>\n      </initial>\n      <!--${components::Pelican::SM::operational::carsEnabled::carsGreen}-->\n      <state name=\"carsGreen\">\n       <entry brief=\"CARS_GREEN\">BSP_signalCars(CARS_GREEN);\n/* one-shot timeout in CARS_GREEN_MIN_TOUT ticks */\nQActive_armX(&amp;me-&gt;super, 0U, CARS_GREEN_MIN_TOUT, 0U);</entry>\n       <exit>QActive_disarmX(&amp;me-&gt;super, 0U);</exit>\n       <!--${components::Pelican::SM::operational::carsEnabled::carsGreen::initial}-->\n       <initial target=\"../1\">\n        <initial_glyph conn=\"7,31,5,1,17,3,-2\">\n         <action box=\"0,-2,6,2\"/>\n        </initial_glyph>\n       </initial>\n       <!--${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenNoPed}-->\n       <state name=\"carsGreenNoPed\">\n        <entry>BSP_showState(&quot;carsGreenNoPed&quot;);</entry>\n        <!--${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenNoPed::PEDS_WAITING}-->\n        <tran trig=\"PEDS_WAITING\" target=\"../../3\">\n         <tran_glyph conn=\"8,38,3,1,19,15,-5\">\n          <action box=\"0,-2,11,2\"/>\n         </tran_glyph>\n        </tran>\n        <!--${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenNoPed::Q_TIMEOUT}-->\n        <tran trig=\"Q_TIMEOUT\" target=\"../../2\">\n         <tran_glyph conn=\"8,41,3,1,17,4,-3\">\n          <action box=\"0,-2,10,2\"/>\n         </tran_glyph>\n        </tran>\n        <state_glyph node=\"8,32,14,10\">\n         <entry box=\"1,2,5,2\"/>\n        </state_glyph>\n       </state>\n       <!--${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenInt}-->\n       <state name=\"carsGreenInt\">\n        <entry>BSP_showState(&quot;carsGreenInt&quot;);</entry>\n        <!--${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenInt::PEDS_WAITING}-->\n        <tran trig=\"PEDS_WAITING\" target=\"../../../2\">\n         <tran_glyph conn=\"8,49,3,1,25,20,-4\">\n          <action box=\"0,-2,11,2\"/>\n         </tran_glyph>\n        </tran>\n        <state_glyph node=\"8,43,14,7\">\n         <entry box=\"1,2,5,2\"/>\n        </state_glyph>\n       </state>\n       <!--${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenPedWait}-->\n       <state name=\"carsGreenPedWait\">\n        <entry>BSP_showState(&quot;carsGreenPedWait&quot;);</entry>\n        <!--${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenPedWait::Q_TIMEOUT}-->\n        <tran trig=\"Q_TIMEOUT\" target=\"../../../2\">\n         <tran_glyph conn=\"8,57,3,1,23,9,-2\">\n          <action box=\"0,-2,10,2\"/>\n         </tran_glyph>\n        </tran>\n        <state_glyph node=\"8,51,14,7\">\n         <entry box=\"1,2,5,2\"/>\n        </state_glyph>\n       </state>\n       <state_glyph node=\"6,23,23,37\">\n        <entry box=\"1,2,17,2\"/>\n        <exit box=\"1,4,5,2\"/>\n       </state_glyph>\n      </state>\n      <!--${components::Pelican::SM::operational::carsEnabled::carsYellow}-->\n      <state name=\"carsYellow\">\n       <entry brief=\"CARS_YELLOW\">BSP_showState(&quot;carsYellow&quot;);\nBSP_signalCars(CARS_YELLOW);\n\n/* one-shot timeout in CARS_YELLOW_TOUT ticks */\nQActive_armX(&amp;me-&gt;super, 0U, CARS_YELLOW_TOUT, 0U);</entry>\n       <exit>QActive_disarmX(&amp;me-&gt;super, 0U);</exit>\n       <!--${components::Pelican::SM::operational::carsEnabled::carsYellow::Q_TIMEOUT}-->\n       <tran trig=\"Q_TIMEOUT\" target=\"../../../4\">\n        <tran_glyph conn=\"6,71,3,3,33\">\n         <action box=\"0,-2,8,2\"/>\n        </tran_glyph>\n       </tran>\n       <state_glyph node=\"6,62,23,10\">\n        <entry box=\"1,2,17,2\"/>\n        <exit box=\"1,4,5,2\"/>\n       </state_glyph>\n      </state>\n      <state_glyph node=\"4,16,31,58\">\n       <exit box=\"1,2,5,2\"/>\n      </state_glyph>\n     </state>\n     <!--${components::Pelican::SM::operational::pedsEnabled}-->\n     <state name=\"pedsEnabled\">\n      <exit brief=\"PEDS_DONT_WALK\">BSP_signalPeds(PEDS_DONT_WALK);</exit>\n      <!--${components::Pelican::SM::operational::pedsEnabled::initial}-->\n      <initial target=\"../1\">\n       <initial_glyph conn=\"40,21,5,1,21,4,-2\">\n        <action box=\"0,-2,6,2\"/>\n       </initial_glyph>\n      </initial>\n      <!--${components::Pelican::SM::operational::pedsEnabled::pedsWalk}-->\n      <state name=\"pedsWalk\">\n       <entry brief=\"PEDS_WALK\">BSP_showState(&quot;pedsWalk&quot;);\nBSP_signalPeds(PEDS_WALK);\n/* one-shot timeout in PEDS_WALK_TOUT ticks */\nQActive_armX(&amp;me-&gt;super, 0U, PEDS_WALK_TOUT, 0U);</entry>\n       <exit>QActive_disarmX(&amp;me-&gt;super, 0U);</exit>\n       <!--${components::Pelican::SM::operational::pedsEnabled::pedsWalk::Q_TIMEOUT}-->\n       <tran trig=\"Q_TIMEOUT\" target=\"../../2\">\n        <tran_glyph conn=\"41,31,3,1,27,7,-2\">\n         <action box=\"0,-2,8,2\"/>\n        </tran_glyph>\n       </tran>\n       <state_glyph node=\"41,23,18,10\">\n        <entry box=\"1,2,15,2\"/>\n        <exit box=\"1,4,5,2\"/>\n       </state_glyph>\n      </state>\n      <!--${components::Pelican::SM::operational::pedsEnabled::pedsFlash}-->\n      <state name=\"pedsFlash\">\n       <entry>BSP_showState(&quot;pedsFlash&quot;);\n/* periodic timeout in PEDS_FLASH_TOUT and every PEDS_FLASH_TOUT ticks */\nQActive_armX(&amp;me-&gt;super, 0U, PEDS_FLASH_TOUT, PEDS_FLASH_TOUT);\nme-&gt;flashCtr = (PEDS_FLASH_NUM * 2U) + 1U;</entry>\n       <exit>QActive_disarmX(&amp;me-&gt;super, 0U);</exit>\n       <!--${components::Pelican::SM::operational::pedsEnabled::pedsFlash::Q_TIMEOUT}-->\n       <tran trig=\"Q_TIMEOUT\">\n        <!--${components::Pelican::SM::operational::pedsEnabled::pedsFlash::Q_TIMEOUT::[me->flashCtr!=0U]}-->\n        <choice>\n         <guard>me-&gt;flashCtr != 0U</guard>\n         <action>--me-&gt;flashCtr;</action>\n         <!--${components::Pelican::SM::operational::pedsEnabled::pedsFlash::Q_TIMEOUT::[me->flashCtr!=0~::[(me->flashCtr&1U)==0U]}-->\n         <choice>\n          <guard>(me-&gt;flashCtr &amp; 1U) == 0U</guard>\n          <action>BSP_signalPeds(PEDS_DONT_WALK);</action>\n          <choice_glyph conn=\"49,54,5,-1,-5,9,16\">\n           <action box=\"-7,9,26,5\"/>\n          </choice_glyph>\n         </choice>\n         <!--${components::Pelican::SM::operational::pedsEnabled::pedsFlash::Q_TIMEOUT::[me->flashCtr!=0~::[else]}-->\n         <choice>\n          <guard>else</guard>\n          <action>BSP_signalPeds(PEDS_BLANK);</action>\n          <choice_glyph conn=\"49,54,4,-1,3,11\">\n           <action box=\"0,3,22,4\"/>\n          </choice_glyph>\n         </choice>\n         <choice_glyph conn=\"49,45,5,-1,11,9,-11\">\n          <action box=\"1,0,16,4\"/>\n         </choice_glyph>\n        </choice>\n        <!--${components::Pelican::SM::operational::pedsEnabled::pedsFlash::Q_TIMEOUT::[else]}-->\n        <choice target=\"../../../../3\">\n         <guard>else</guard>\n         <choice_glyph conn=\"49,45,4,1,3,-14\">\n          <action box=\"-7,3,6,2\"/>\n         </choice_glyph>\n        </choice>\n        <tran_glyph conn=\"41,45,3,-1,8\">\n         <action box=\"0,-2,8,2\"/>\n        </tran_glyph>\n       </tran>\n       <state_glyph node=\"41,36,25,32\">\n        <entry box=\"1,2,5,2\"/>\n        <exit box=\"1,4,5,2\"/>\n       </state_glyph>\n      </state>\n      <state_glyph node=\"39,16,31,58\">\n       <exit box=\"1,2,5,2\"/>\n      </state_glyph>\n     </state>\n     <state_glyph node=\"2,4,70,72\">\n      <entry box=\"1,2,28,2\"/>\n     </state_glyph>\n    </state>\n    <!--${components::Pelican::SM::offline}-->\n    <state name=\"offline\">\n     <entry>BSP_showState(&quot;offline&quot;);\n/* periodic timeout in OFF_FLASH_TOUT and every OFF_FLASH_TOUT ticks */\nQActive_armX(&amp;me-&gt;super, 0U, OFF_FLASH_TOUT, OFF_FLASH_TOUT);\nme-&gt;flashCtr = 0U;</entry>\n     <exit>QActive_disarmX(&amp;me-&gt;super, 0U);</exit>\n     <!--${components::Pelican::SM::offline::Q_TIMEOUT}-->\n     <tran trig=\"Q_TIMEOUT\">\n      <action>me-&gt;flashCtr ^= 1U;</action>\n      <!--${components::Pelican::SM::offline::Q_TIMEOUT::[(me->flashCtr&1U)==0U]}-->\n      <choice>\n       <guard>(me-&gt;flashCtr &amp; 1U) == 0U</guard>\n       <action brief=\"\\CARS_RED; PEDS_DONT_WALK;\">BSP_signalCars(CARS_RED);\nBSP_signalPeds(PEDS_DONT_WALK);</action>\n       <choice_glyph conn=\"36,89,5,-1,29\">\n        <action box=\"1,0,23,4\"/>\n       </choice_glyph>\n      </choice>\n      <!--${components::Pelican::SM::offline::Q_TIMEOUT::[else]}-->\n      <choice>\n       <guard>else</guard>\n       <action brief=\"CARS_BLANK; PEDS_BLANK;\">BSP_signalCars(CARS_BLANK);\nBSP_signalPeds(PEDS_BLANK);</action>\n       <choice_glyph conn=\"36,89,4,-1,5,29\">\n        <action box=\"1,5,26,2\"/>\n       </choice_glyph>\n      </choice>\n      <tran_glyph conn=\"2,89,3,-1,34\">\n       <action box=\"0,-2,22,4\"/>\n      </tran_glyph>\n     </tran>\n     <!--${components::Pelican::SM::offline::ON}-->\n     <tran trig=\"ON\" target=\"../../1\">\n      <tran_glyph conn=\"2,86,3,2,63,-10\">\n       <action box=\"0,-2,6,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${components::Pelican::SM::offline::TERMINATE}-->\n     <tran trig=\"TERMINATE\">\n      <action>QF_stop();</action>\n      <tran_glyph conn=\"2,93,3,-1,14\">\n       <action box=\"0,-2,10,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,78,70,19\">\n      <entry box=\"1,2,5,2\"/>\n      <exit box=\"1,4,5,2\"/>\n     </state_glyph>\n    </state>\n    <state_diagram size=\"76,99\"/>\n   </statechart>\n  </class>\n  <!--${components::AO_Pelican}-->\n  <attribute name=\"AO_Pelican\" type=\"QActive * const\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${components::Pelican_ctor}-->\n  <operation name=\"Pelican_ctor\" type=\"void\" visibility=\"0x00\" properties=\"0x01\">\n   <documentation>constructor</documentation>\n   <code>QActive_ctor(&amp;AO_Pelican.super, Q_STATE_CAST(&amp;Pelican_initial));</code>\n  </operation>\n </package>\n <!--${.}-->\n <directory name=\".\">\n  <!--${.::pelican.h}-->\n  <file name=\"pelican.h\">\n   <text>#ifndef PELICAN_H\n#define PELICAN_H\n\nenum PelicanSignals {\n    PEDS_WAITING_SIG = Q_USER_SIG,\n    OFF_SIG,\n    ON_SIG,\n    TERMINATE_SIG\n};\n\n/* active objects ................................................*/\n$declare(components::Pelican_ctor)\n\nextern struct Pelican AO_Pelican;\n\n#endif /* PELICAN_H */\n</text>\n  </file>\n  <!--${.::pelican.c}-->\n  <file name=\"pelican.c\">\n   <text>#include &quot;qpn.h&quot;     /* QP-nano */\n#include &quot;bsp.h&quot;     /* Board Support Package (BSP) */\n#include &quot;pelican.h&quot; /* application interface */\n\n/*Q_DEFINE_THIS_FILE*/\n\n#define CARS_GREEN_MIN_TOUT (QTimeEvtCtr)(BSP_TICKS_PER_SEC * 8U)\n#define CARS_YELLOW_TOUT    (QTimeEvtCtr)(BSP_TICKS_PER_SEC * 3U)\n#define PEDS_WALK_TOUT      (QTimeEvtCtr)(BSP_TICKS_PER_SEC * 3U)\n#define PEDS_FLASH_TOUT     (QTimeEvtCtr)(BSP_TICKS_PER_SEC / 5U)\n#define PEDS_FLASH_NUM      (uint8_t)(5U * 2U)\n#define OFF_FLASH_TOUT      (QTimeEvtCtr)(BSP_TICKS_PER_SEC / 2U)\n\n/* Pelican class declaration -----------------------------------------------*/\n$declare(components::Pelican)\n\n/* Global objects ----------------------------------------------------------*/\nstruct Pelican AO_Pelican; /* the single instance of the Pelican AO */\n\n/* Pelican class definition ------------------------------------------------*/\n$define(components::Pelican_ctor)\n$define(components::Pelican)</text>\n  </file>\n </directory>\n</model>\n"
  },
  {
    "path": "examples/arm-cm/pelican_ek-tm4c123gxl/qk/armclang/README.txt",
    "content": "About this Example\n==================\nThis example demonstrates how to use the uVision IDE together with\nthe MDK-ARM toolchain.\n\n***\nNOTE: This example requires installing the following Software Pack\nin the Keil uVision: Keil::TM4C_DFP.\n***\n\n\nuVision Project File\n====================\nThe MDK-ARM uVision project file provided with this example uses\nrelative paths to the QP framework location (includes, port, and\nlibraries. These relative paths must be modified when the project\nis moved to different relative location.\n\n\nAdjusting Stack and Heap Sizes\n==============================\nThe stack and heap sizes are determined in this project by the\ncommand-line options for the ARM assembler (see the Asm tab in\nthe \"Options for Target\" dialog box in uVision). Specifically,\nyou should define symbols: Stack_Size=xxx Heap_Size=yyy, where\nxxx represents a numerical value of stack size and yyy the\nnumerical value of the heap size (for most embedded projects\nyyy should be 0, as the using the heap is not recommended).\n\n\nStartup Code\n============\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s\n\nThe file startup_TM4C123GH6PM.s provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n  "
  },
  {
    "path": "examples/arm-cm/pelican_ek-tm4c123gxl/qk/armclang/pelican-qk.uvoptx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<ProjectOpt xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_optx.xsd\">\n\n  <SchemaVersion>1.0</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Extensions>\n    <cExt>*.c</cExt>\n    <aExt>*.s*; *.src; *.a*</aExt>\n    <oExt>*.obj; *.o</oExt>\n    <lExt>*.lib</lExt>\n    <tExt>*.txt; *.h; *.inc</tExt>\n    <pExt>*.plm</pExt>\n    <CppX>*.cpp</CppX>\n    <nMigrate>0</nMigrate>\n  </Extensions>\n\n  <DaveTm>\n    <dwLowDateTime>0</dwLowDateTime>\n    <dwHighDateTime>0</dwHighDateTime>\n  </DaveTm>\n\n  <Target>\n    <TargetName>pelican-dbg</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\dbg\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>1</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>4</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>1</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>8</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>BIN\\lmidk-agdi.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>UL2CM3(-O207 -S0 -C0 -FO7  -FN1 -FC1000 -FD20000000 -FF0TM4C123_256 -FL040000 -FS00 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E2006F4 -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Target>\n    <TargetName>pelican-rel</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\rel\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>0</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>4</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>0</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>8</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>BIN\\lmidk-agdi.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGUARM</Key>\n          <Name>ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÈ`»\n´­­ª¤ô </Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E10259B -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>-O207 -S0 -C0 -FO7  -FN1 -FC1000 -FD20000000 -FF0TM4C123_256 -FL040000 -FS00 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM)</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Group>\n    <GroupName>Applicatioin</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>1</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\bsp.c</PathWithFileName>\n      <FilenameWithoutPath>bsp.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>2</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\pelican.c</PathWithFileName>\n      <FilenameWithoutPath>pelican.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>3</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\main.c</PathWithFileName>\n      <FilenameWithoutPath>main.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>4</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\pelican.h</PathWithFileName>\n      <FilenameWithoutPath>pelican.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>5</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\qpn_conf.h</PathWithFileName>\n      <FilenameWithoutPath>qpn_conf.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>ek-tm4c123gxl</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>6</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</PathWithFileName>\n      <FilenameWithoutPath>system_TM4C123GH6PM.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>7</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</PathWithFileName>\n      <FilenameWithoutPath>TM4C123GH6PM.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>8</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\gpio.h</PathWithFileName>\n      <FilenameWithoutPath>gpio.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>9</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\rom.h</PathWithFileName>\n      <FilenameWithoutPath>rom.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>10</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\sysctl.h</PathWithFileName>\n      <FilenameWithoutPath>sysctl.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>11</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</PathWithFileName>\n      <FilenameWithoutPath>system_TM4C123GH6PM.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>12</FileNumber>\n      <FileType>2</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s</PathWithFileName>\n      <FilenameWithoutPath>startup_TM4C123GH6PM.s</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>13</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</PathWithFileName>\n      <FilenameWithoutPath>qepn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>14</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</PathWithFileName>\n      <FilenameWithoutPath>qfn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>15</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qkn\\qkn.c</PathWithFileName>\n      <FilenameWithoutPath>qkn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP_port</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>16</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qfn_port.h</PathWithFileName>\n      <FilenameWithoutPath>qfn_port.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>17</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qkn_port.c</PathWithFileName>\n      <FilenameWithoutPath>qkn_port.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n</ProjectOpt>\n"
  },
  {
    "path": "examples/arm-cm/pelican_ek-tm4c123gxl/qk/armclang/pelican-qk.uvprojx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<Project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_projx.xsd\">\n\n  <SchemaVersion>2.1</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Targets>\n    <Target>\n      <TargetName>pelican-dbg</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6130001::V6.13.1::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>TM4C123GH6PM</Device>\n          <Vendor>Texas Instruments</Vendor>\n          <PackID>Keil.TM4C_DFP.1.1.0</PackID>\n          <PackURL>http://www.keil.com/pack/</PackURL>\n          <Cpu>IROM(0x00000000,0x040000) IRAM(0x20000000,0x008000) CPUTYPE(\"Cortex-M4\") FPU2 CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0TM4C123_256 -FS00 -FL040000 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:TM4C123GH6PM$Device\\Include\\TM4C123\\TM4C123.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:TM4C123GH6PM$SVD\\TM4C123\\TM4C123GH6PM.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\dbg\\</OutputDirectory>\n          <OutputName>pelican-qk</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>1</DebugInformation>\n          <BrowseInformation>1</BrowseInformation>\n          <ListingPath>.\\dbg\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\dbg\\pelican-qk.bin .\\dbg\\pelican-qk.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>1</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4097</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3></Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M4\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>2</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>0</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>1</vShortEn>\n            <vShortWch>1</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>__FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile></ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Applicatioin</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>pelican.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\pelican.c</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>pelican.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\pelican.h</FilePath>\n            </File>\n            <File>\n              <FileName>qpn_conf.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\qpn_conf.h</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>ek-tm4c123gxl</GroupName>\n          <Files>\n            <File>\n              <FileName>system_TM4C123GH6PM.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</FilePath>\n            </File>\n            <File>\n              <FileName>TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</FilePath>\n            </File>\n            <File>\n              <FileName>gpio.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\gpio.h</FilePath>\n            </File>\n            <File>\n              <FileName>rom.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\rom.h</FilePath>\n            </File>\n            <File>\n              <FileName>sysctl.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\sysctl.h</FilePath>\n            </File>\n            <File>\n              <FileName>system_TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</FilePath>\n            </File>\n            <File>\n              <FileName>startup_TM4C123GH6PM.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qkn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qkn\\qkn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qkn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qkn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n    <Target>\n      <TargetName>pelican-rel</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6130001::V6.13.1::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>TM4C123GH6PM</Device>\n          <Vendor>Texas Instruments</Vendor>\n          <PackID>Keil.TM4C_DFP.1.1.0</PackID>\n          <PackURL>http://www.keil.com/pack/</PackURL>\n          <Cpu>IROM(0x00000000,0x040000) IRAM(0x20000000,0x008000) CPUTYPE(\"Cortex-M4\") FPU2 CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0TM4C123_256 -FS00 -FL040000 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:TM4C123GH6PM$Device\\Include\\TM4C123\\TM4C123.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:TM4C123GH6PM$SVD\\TM4C123\\TM4C123GH6PM.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\rel\\</OutputDirectory>\n          <OutputName>pelican-qk</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>0</DebugInformation>\n          <BrowseInformation>0</BrowseInformation>\n          <ListingPath>.\\rel\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\rel\\pelican-qk.bin .\\rel\\pelican-qk.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>1</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4097</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3></Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M4\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>2</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>0</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>1</vShortEn>\n            <vShortWch>1</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>NDEBUG __FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile>pelican-qk.sct</ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Applicatioin</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>pelican.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\pelican.c</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>pelican.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\pelican.h</FilePath>\n            </File>\n            <File>\n              <FileName>qpn_conf.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\qpn_conf.h</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>ek-tm4c123gxl</GroupName>\n          <Files>\n            <File>\n              <FileName>system_TM4C123GH6PM.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</FilePath>\n            </File>\n            <File>\n              <FileName>TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</FilePath>\n            </File>\n            <File>\n              <FileName>gpio.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\gpio.h</FilePath>\n            </File>\n            <File>\n              <FileName>rom.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\rom.h</FilePath>\n            </File>\n            <File>\n              <FileName>sysctl.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\sysctl.h</FilePath>\n            </File>\n            <File>\n              <FileName>system_TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</FilePath>\n            </File>\n            <File>\n              <FileName>startup_TM4C123GH6PM.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qkn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qkn\\qkn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qkn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\armclang\\qkn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n  </Targets>\n\n  <RTE>\n    <apis/>\n    <components/>\n    <files/>\n  </RTE>\n\n</Project>\n"
  },
  {
    "path": "examples/arm-cm/pelican_ek-tm4c123gxl/qk/bsp.c",
    "content": "/*****************************************************************************\n* Product: PELICAN on EK-TM4C123GXL board, preemptive QK kernel\n* Last Updated for Version: 5.8.0\n* Date of the Last Update:  2016-11-06\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"bsp.h\"\n#include \"pelican.h\"\n\n#include \"TM4C123GH6PM.h\"        /* the device specific header (TI) */\n#include \"rom.h\"                 /* the built-in ROM functions (TI) */\n#include \"sysctl.h\"              /* system control driver (TI) */\n#include \"gpio.h\"                /* GPIO driver (TI) */\n/* add other drivers if necessary... */\n\n//Q_DEFINE_THIS_FILE\n\n/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n* Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n* DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n*/\nenum KernelUnawareISRs { /* see NOTE00 */\n    /* ... */\n    MAX_KERNEL_UNAWARE_CMSIS_PRI  /* keep always last */\n};\n/* \"kernel-unaware\" interrupts can't overlap \"kernel-aware\" interrupts */\nQ_ASSERT_COMPILE(MAX_KERNEL_UNAWARE_CMSIS_PRI <= QF_AWARE_ISR_CMSIS_PRI);\n\nenum KernelAwareISRs {\n    SYSTICK_PRIO = QF_AWARE_ISR_CMSIS_PRI, /* see NOTE00 */\n    /* ... */\n    MAX_KERNEL_AWARE_CMSIS_PRI /* keep always last */\n};\n/* \"kernel-aware\" interrupts should not overlap the PendSV priority */\nQ_ASSERT_COMPILE(MAX_KERNEL_AWARE_CMSIS_PRI <= (0xFF >>(8-__NVIC_PRIO_BITS)));\n\n/* ISRs defined in this BSP ------------------------------------------------*/\nvoid SysTick_Handler(void);\nvoid GPIOPortA_IRQHandler(void);\n\n/* Local-scope objects -----------------------------------------------------*/\n#define LED_RED     (1U << 1)\n#define LED_GREEN   (1U << 3)\n#define LED_BLUE    (1U << 2)\n\n#define BTN_SW1     (1U << 4)\n#define BTN_SW2     (1U << 0)\n\n/* ISRs used in this project ===============================================*/\nvoid SysTick_Handler(void) {\n    /* state of the button debouncing, see below */\n    static struct ButtonsDebouncing {\n        uint32_t depressed;\n        uint32_t previous;\n    } buttons = { ~0U, ~0U };\n    uint32_t current;\n    uint32_t tmp;\n\n    QK_ISR_ENTRY();  /* inform QK about entering an ISR */\n\n    QF_tickXISR(0U); /* process time events for rate 0 */\n\n    /* Perform the debouncing of buttons. The algorithm for debouncing\n    * adapted from the book \"Embedded Systems Dictionary\" by Jack Ganssle\n    * and Michael Barr, page 71.\n    */\n    current = ~GPIOF->DATA_Bits[BTN_SW1 | BTN_SW2]; /* read SW1 and SW2 */\n    tmp = buttons.depressed; /* save the debounced depressed buttons */\n    buttons.depressed |= (buttons.previous & current); /* set depressed */\n    buttons.depressed &= (buttons.previous | current); /* clear released */\n    buttons.previous   = current; /* update the history */\n    tmp ^= buttons.depressed;     /* changed debounced depressed */\n    if ((tmp & BTN_SW1) != 0U) {  /* debounced SW1 state changed? */\n        if ((buttons.depressed & BTN_SW1) != 0U) { /* is SW1 depressed? */\n            QACTIVE_POST_ISR((QActive *)&AO_Pelican, PEDS_WAITING_SIG, 0U);\n        }\n        else {            /* the button is released */\n        }\n    }\n\n    QK_ISR_EXIT();   /* inform QK about exiting an ISR */\n}\n\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    /* NOTE: SystemInit() already called from the startup code\n    *  but SystemCoreClock needs to be updated\n    */\n    SystemCoreClockUpdate();\n\n    /* configure the FPU usage by choosing one of the options...\n    *\n    * Do NOT to use the automatic FPU state preservation and\n    * do NOT to use the FPU lazy stacking.\n    *\n    * NOTE:\n    * Use the following setting when FPU is used only by active objects\n    * and NOT in any ISR. This setting is very efficient, but if any ISRs\n    * start using the FPU, this can lead to corruption of the FPU registers.\n    */\n    FPU->FPCCR &= ~((1U << FPU_FPCCR_ASPEN_Pos) | (1U << FPU_FPCCR_LSPEN_Pos));\n\n    /* enable clock for to the peripherals used by this application... */\n    SYSCTL->RCGCGPIO |= (1U << 5); /* enable Run mode for GPIOF */\n\n    /* configure the LEDs and push buttons */\n    GPIOF->DIR |= (LED_RED | LED_GREEN | LED_BLUE);/* set direction: output */\n    GPIOF->DEN |= (LED_RED | LED_GREEN | LED_BLUE); /* digital enable */\n    GPIOF->DATA_Bits[LED_RED]   = 0;               /* turn the LED off */\n    GPIOF->DATA_Bits[LED_GREEN] = 0;               /* turn the LED off */\n    GPIOF->DATA_Bits[LED_BLUE]  = 0;               /* turn the LED off */\n\n    /* configure the Buttons */\n    GPIOF->DIR &= ~(BTN_SW1 | BTN_SW2); /*  set direction: input */\n    ROM_GPIOPadConfigSet(GPIOF_BASE, (BTN_SW1 | BTN_SW2),\n                         GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU);\n}\n/*..........................................................................*/\nvoid BSP_showState(char_t const *state) {\n    (void)state;\n}\n/*..........................................................................*/\nvoid BSP_signalCars(enum BSP_CarsSignal sig) {\n    switch (sig) {\n        case CARS_RED: {\n            //GPIOF->DATA_Bits[LED_RED] = LED_RED;\n            break;\n        }\n        case CARS_YELLOW: {\n            //GPIOF->DATA_Bits[LED_RED | LED_GREEN] = (LED_RED | LED_GREEN);\n            break;\n        }\n        case CARS_GREEN: {\n            //GPIOF->DATA_Bits[LED_GREEN] = LED_GREEN;\n            break;\n        }\n        case CARS_BLANK: {\n            //GPIOF->DATA_Bits[LED_RED | LED_GREEN | LED_BLUE] = 0U;\n            break;\n        }\n    }\n}\n/*..........................................................................*/\nvoid BSP_signalPeds(enum BSP_PedsSignal sig) {\n    switch (sig) {\n        case PEDS_DONT_WALK: {\n            GPIOF->DATA_Bits[LED_RED] = LED_RED;\n            break;\n        }\n        case PEDS_BLANK: {\n            GPIOF->DATA_Bits[LED_RED | LED_GREEN] = 0U;\n            break;\n        }\n        case PEDS_WALK: {\n            GPIOF->DATA_Bits[LED_RED | LED_GREEN] = LED_GREEN;\n            break;\n        }\n    }\n}\n\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    /* set up the SysTick timer to fire at BSP_TICKS_PER_SEC rate */\n    SysTick_Config(SystemCoreClock / BSP_TICKS_PER_SEC);\n\n    /* assing all priority bits for preemption-prio. and none to sub-prio. */\n    NVIC_SetPriorityGrouping(0U);\n\n    /* set priorities of ALL ISRs used in the system, see NOTE00\n    *\n    * !!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n    * Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n    * DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n    */\n    NVIC_SetPriority(SysTick_IRQn,   SYSTICK_PRIO);\n    /* ... */\n\n    /* enable IRQs... */\n}\n/*..........................................................................*/\nvoid QF_stop(void) {\n}\n/*..........................................................................*/\nvoid QK_onIdle(void) {\n    /* toggle LED2 on and then off, see NOTE01 */\n    QF_INT_DISABLE();\n    GPIOF->DATA_Bits[LED_BLUE] = 0xFFU;\n    GPIOF->DATA_Bits[LED_BLUE] = 0x00U;\n    QF_INT_ENABLE();\n\n#ifdef NDEBUG\n    /* Put the CPU and peripherals to the low-power mode.\n    * you might need to customize the clock management for your application,\n    * see the datasheet for your particular Cortex-M3 MCU.\n    */\n    __WFI(); /* Wait-For-Interrupt */\n#endif\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const module, int loc) {\n    /*\n    * NOTE: add here your application-specific error handling\n    */\n    (void)module;\n    (void)loc;\n\n    NVIC_SystemReset();\n}\n\n/*****************************************************************************\n* NOTE00:\n* The QF_AWARE_ISR_CMSIS_PRI constant from the QF port specifies the highest\n* ISR priority that is disabled by the QF framework. The value is suitable\n* for the NVIC_SetPriority() CMSIS function.\n*\n* Only ISRs prioritized at or below the QF_AWARE_ISR_CMSIS_PRI level (i.e.,\n* with the numerical values of priorities equal or higher than\n* QF_AWARE_ISR_CMSIS_PRI) are allowed to call any QF services. These ISRs\n* are \"QF-aware\".\n*\n* Conversely, any ISRs prioritized above the QF_AWARE_ISR_CMSIS_PRI priority\n* level (i.e., with the numerical values of priorities less than\n* QF_AWARE_ISR_CMSIS_PRI) are never disabled and are not aware of the kernel.\n* Such \"QF-unaware\" ISRs cannot call any QF services. The only mechanism\n* by which a \"QF-unaware\" ISR can communicate with the QF framework is by\n* triggering a \"QF-aware\" ISR, which can post/publish events.\n*\n* NOTE01:\n* One of the LEDs is used to visualize the idle loop activity. The brightness\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n"
  },
  {
    "path": "examples/arm-cm/pelican_ek-tm4c123gxl/qk/gnu/Makefile",
    "content": "##############################################################################\n# Product: Makefile for QP-nano on EK-TM4C123GXL, QK-nano, GNU-ARM\n# Last Updated for Version: 6.5.0\n# Date of the Last Update:  2019-04-15\n#\n#                    Q u a n t u m  L e a P s\n#                    ------------------------\n#                    Modern Embedded Software\n#\n# Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# https://www.state-machine.com\n# mailto:info@state-machine.com\n##############################################################################\n# examples of invoking this Makefile:\n# building configurations: Debug (default), Release, and Spy\n# make\n# make CONF=rel\n#\n# cleaning configurations: Debug (default), Release, and Spy\n# make clean\n# make CONF=rel clean\n#\n# NOTE:\n# To use this Makefile on Windows, you will need the GNU make utility, which\n# is included in the Qtools collection for Windows, see:\n#    http://sourceforge.net/projects/qpc/files/Qtools/\n#\n\n#-----------------------------------------------------------------------------\n# project name\n#\nPROJECT     := pelican-qk\n\n#-----------------------------------------------------------------------------\n# project directories\n#\n\n# location of the QP-nano framework (if not provided in an environemnt var.)\nifeq ($(QPN),)\nQPN := ../../../../..\nendif\n\n# QP port used in this project\nQP_PORT_DIR := $(QPN)/ports/arm-cm/qk/gnu\n\n# list of all source directories used by this project\nVPATH = \\\n\t.. \\\n\t../.. \\\n\t$(QPN)/src/qfn \\\n\t$(QPN)/src/qkn \\\n\t$(QP_PORT_DIR) \\\n\t$(QPN)/3rd_party/ek-tm4c123gxl \\\n\t$(QPN)/3rd_party/ek-tm4c123gxl/gnu\n\n# list of all include directories needed by this project\nINCLUDES  = \\\n\t-I../.. \\\n\t-I$(QPN)/include \\\n\t-I$(QP_PORT_DIR) \\\n\t-I$(QPN)/3rd_party/CMSIS/Include \\\n\t-I$(QPN)/3rd_party/ek-tm4c123gxl\n\n#-----------------------------------------------------------------------------\n# files\n#\n\n# assembler source files\nASM_SRCS :=\n\n# C source files\nC_SRCS := \\\n\tpelican.c \\\n\tbsp.c \\\n\tmain.c \\\n\tsystem_TM4C123GH6PM.c \\\n\tstartup_TM4C123GH6PM.c\n\n# C++ source files\nCPP_SRCS :=\n\nOUTPUT    := $(PROJECT)\nLD_SCRIPT := $(PROJECT).ld\n\nQP_SRCS := \\\n\tqepn.c \\\n\tqfn.c \\\n\tqkn.c \\\n\tqkn_port.c\n\nQP_ASMS :=\n\nLIB_DIRS  :=\nLIBS      :=\n\n# defines\nDEFINES   :=\n\n# ARM CPU, ARCH, FPU, and Float-ABI types...\n# ARM_CPU:   [cortex-m0 | cortex-m0plus | cortex-m1 | cortex-m3 | cortex-m4]\n# ARM_ARCH:  [6 | 7] (NOTE: must match ARM_CPU!)\n# ARM_FPU:   [ | vfp]\n# FLOAT_ABI: [ | soft | softfp | hard]\n#\nARM_CPU   := -mcpu=cortex-m4\nARM_ARCH  := 7   # NOTE: must match the ARM_CPU!\nARM_FPU   := -mfpu=vfp\nFLOAT_ABI := -mfloat-abi=softfp\n\n#-----------------------------------------------------------------------------\n# GNU-ARM toolset (NOTE: You need to adjust to your machine)\n# see https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads\n#\nifeq ($(GNU_ARM),)\nGNU_ARM := $(QTOOLS)/gnu_arm-none-eabi\nendif\n\n# make sure that the GNU-ARM toolset exists...\nifeq (\"$(wildcard $(GNU_ARM))\",\"\")\n$(error GNU_ARM toolset not found. Please adjust the Makefile)\nendif\n\nCC    := $(GNU_ARM)/bin/arm-none-eabi-gcc\nCPP   := $(GNU_ARM)/bin/arm-none-eabi-g++\nAS    := $(GNU_ARM)/bin/arm-none-eabi-as\nLINK  := $(GNU_ARM)/bin/arm-none-eabi-g++\nBIN   := $(GNU_ARM)/bin/arm-none-eabi-objcopy\n\n\n##############################################################################\n# Typically, you should not need to change anything below this line\n\n# basic utilities (included in Qtools for Windows), see:\n#    http://sourceforge.net/projects/qpc/files/Qtools\n\nMKDIR := mkdir\nRM    := rm\n\n#-----------------------------------------------------------------------------\n# build options for various configurations for ARM Cortex-M\n#\n\n# combine all the soruces...\nC_SRCS += $(QP_SRCS)\nASM_SRCS += $(QP_ASMS)\n\nifeq (rel, $(CONF)) # Release configuration ..................................\n\nBIN_DIR := rel\n\nASFLAGS = $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O1 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nCPPFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O1 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nelse # default Debug configuration ..........................................\n\nBIN_DIR := dbg\n\nASFLAGS = -g $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O $(INCLUDES) $(DEFINES)\n\nCPPFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O $(INCLUDES) $(DEFINES)\n\nendif # ......................................................................\n\n\nLINKFLAGS = -T$(LD_SCRIPT) $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb \\\n\t-specs=nosys.specs -specs=nano.specs \\\n\t-Wl,-Map,$(BIN_DIR)/$(OUTPUT).map,--cref,--gc-sections $(LIB_DIRS)\n\n\nASM_OBJS     := $(patsubst %.s,%.o,  $(notdir $(ASM_SRCS)))\nC_OBJS       := $(patsubst %.c,%.o,  $(notdir $(C_SRCS)))\nCPP_OBJS     := $(patsubst %.cpp,%.o,$(notdir $(CPP_SRCS)))\n\nTARGET_BIN   := $(BIN_DIR)/$(OUTPUT).bin\nTARGET_ELF   := $(BIN_DIR)/$(OUTPUT).elf\nASM_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(ASM_OBJS))\nC_OBJS_EXT   := $(addprefix $(BIN_DIR)/, $(C_OBJS))\nC_DEPS_EXT   := $(patsubst %.o, %.d, $(C_OBJS_EXT))\nCPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))\nCPP_DEPS_EXT := $(patsubst %.o, %.d, $(CPP_OBJS_EXT))\n\n# create $(BIN_DIR) if it does not exist\nifeq (\"$(wildcard $(BIN_DIR))\",\"\")\n$(shell $(MKDIR) $(BIN_DIR))\nendif\n\n#-----------------------------------------------------------------------------\n# rules\n#\n\nall: $(TARGET_BIN)\n#all: $(TARGET_ELF)\n\n$(TARGET_BIN): $(TARGET_ELF)\n\t$(BIN) -O binary $< $@\n\n$(TARGET_ELF) : $(ASM_OBJS_EXT) $(C_OBJS_EXT) $(CPP_OBJS_EXT)\n\t$(CC) $(CFLAGS) $(QPN)/include/qstamp.c -o $(BIN_DIR)/qstamp.o\n\t$(LINK) $(LINKFLAGS) -o $@ $^ $(BIN_DIR)/qstamp.o $(LIBS)\n\n$(BIN_DIR)/%.d : %.c\n\t$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@\n\n$(BIN_DIR)/%.d : %.cpp\n\t$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@\n\n$(BIN_DIR)/%.o : %.s\n\t$(AS) $(ASFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.c\n\t$(CC) $(CFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.cpp\n\t$(CPP) $(CPPFLAGS) $< -o $@\n\n# include dependency files only if our goal depends on their existence\nifneq ($(MAKECMDGOALS),clean)\n  ifneq ($(MAKECMDGOALS),show)\n-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)\n  endif\nendif\n\n\n.PHONY : clean\nclean:\n\t-$(RM) $(BIN_DIR)/*.o \\\n\t$(BIN_DIR)/*.d \\\n\t$(BIN_DIR)/*.bin \\\n\t$(BIN_DIR)/*.elf \\\n\t$(BIN_DIR)/*.map\n\t\nshow:\n\t@echo PROJECT = $(PROJECT)\n\t@echo CONF = $(CONF)\n\t@echo DEFINES = $(DEFINES)\n\t@echo ASM_FPU = $(ASM_FPU)\n\t@echo ASM_SRCS = $(ASM_SRCS)\n\t@echo C_SRCS = $(C_SRCS)\n\t@echo CPP_SRCS = $(CPP_SRCS)\n\t@echo ASM_OBJS_EXT = $(ASM_OBJS_EXT)\n\t@echo C_OBJS_EXT = $(C_OBJS_EXT)\n\t@echo C_DEPS_EXT = $(C_DEPS_EXT)\n\t@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)\n\t@echo TARGET_ELF = $(TARGET_ELF)\n"
  },
  {
    "path": "examples/arm-cm/pelican_ek-tm4c123gxl/qk/gnu/README.txt",
    "content": "About this Example\n==================\nThis example can be built from the command prompt with the provided\nMakefile. The example can also be imported as a Makefile-based\nproject into Eclipse-based IDEs.\n\n\nThe Makefile\n============\nThe provided Makefile should be easy to adapt for your own projects.\nIt contains three build configurations: Debug (default) and Release.\n\nAlso, the Makefile has been specifically designed to work as an external\nMakefile with the Eclipse CDT.\n\nThe various build configurations are built as follows:\n\nmake\nmake CONF=rel\n\nmake clean\nmake CONF=rel clean\n\n***\nNOTE:\nThe installation folder of the GNU-ARM toolset on YOUR machine needs\nto be adjusted in the provided Makefile, by editing the symbol: GNU_ARM.\nAs described in the comment for this symbol, the GNU-ARM toolset is taken\nfrom: http://gnutoolchains.com/arm-eabi\n\nIt is highly recommened to use the same GNU-ARM distribution, especially\nfor ARM Cortex-M4F projects, due to the support for the hardware FPU\n(float-abi=hard).\n***\n\n\nAdjusting Stack and Heap Sizes\n==============================\nThe stack and heap sizes are determined in this project by the GCC linker\nscript (.ld file), which provides a template of the recommended GCC linker\nscript for QP applications.\n\n\nStartup Code\n============\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\ek-tm4c123gxl\\gcc\\startup_TM4C123GH6PM.c\n\nThe file startup_TM4C123GH6PM.c provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n"
  },
  {
    "path": "examples/arm-cm/pelican_ek-tm4c123gxl/qk/gnu/flash.bat",
    "content": "::============================================================================\n:: Batch file to program the flash of EK-TM4C123GXL\n:: \n:: NOTE: requires the LMFlash programmer (included in QTools for Windows)\n:: \n@echo off\nsetlocal\n\n@echo Load a given binary file to the flash of EK-TM4C123GXL\n@echo usage:   flash binary-file\n@echo example: flash dbg\\blinky-qk.bin\n\n::----------------------------------------------------------------------------\n:: NOTE: The following symbol LMFLASH assumes that LMFlash.exe can\n:: be found on the PATH. You might need to adjust this symbol to the\n:: location of the LMFlash utility on your machine\n::\nset LMFLASH=LMFlash.exe\n\nif [\"%~1\"]==[\"\"] (\n    @echo The binary file missing\n    @goto end\n)\nif not exist %~s1 (\n    @echo The binary file '%1' does not exist\n    @goto end\n)\n\n%LMFLASH% -q ek-tm4c123gxl -e -v -r %1\n\n:end\n\nendlocal"
  },
  {
    "path": "examples/arm-cm/pelican_ek-tm4c123gxl/qk/gnu/pelican-qk.ld",
    "content": "/*****************************************************************************\n* Product: Linker script for EK-TM4C123GXL, GNU-ARM linker\n* Last Updated for Version: 5.9.8\n* Date of the Last Update:  2017-09-13\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <http://www.gnu.org/licenses/>.\n*\n* Contact information:\n* Web  : http://www.state-machine.com\n* Email: info@state-machine.com\n*****************************************************************************/\nOUTPUT_FORMAT(\"elf32-littlearm\", \"elf32-bigarm\", \"elf32-littlearm\")\nOUTPUT_ARCH(arm)\nENTRY(Reset_Handler) /* entry Point */\n\nMEMORY { /* memory map of Tiva TM4C123GH6PM */\n    ROM (rx)  : ORIGIN = 0x00000000, LENGTH = 256K\n    RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K\n}\n\n/* The size of the stack used by the application. NOTE: you need to adjust  */\nSTACK_SIZE = 1024;\n\n/* The size of the heap used by the application. NOTE: you need to adjust   */\nHEAP_SIZE = 0;\n\nSECTIONS {\n\n    .isr_vector : {        /* the vector table goes FIRST into ROM */\n        KEEP(*(.isr_vector)) /* vector table */\n        . = ALIGN(4);\n    } >ROM\n\n    .text : {              /* code and constants */\n        . = ALIGN(4);\n        *(.text)           /* .text sections (code) */\n        *(.text*)          /* .text* sections (code) */\n        *(.rodata)         /* .rodata sections (constants, strings, etc.) */\n        *(.rodata*)        /* .rodata* sections (constants, strings, etc.) */\n\n        KEEP (*(.init))\n        KEEP (*(.fini))\n\n        . = ALIGN(4);\n    } >ROM\n\n    .preinit_array : {\n        PROVIDE_HIDDEN (__preinit_array_start = .);\n        KEEP (*(.preinit_array*))\n        PROVIDE_HIDDEN (__preinit_array_end = .);\n    } >ROM\n\n    .init_array : {\n        PROVIDE_HIDDEN (__init_array_start = .);\n        KEEP (*(SORT(.init_array.*)))\n        KEEP (*(.init_array*))\n        PROVIDE_HIDDEN (__init_array_end = .);\n    } >ROM\n\n    .fini_array : {\n        PROVIDE_HIDDEN (__fini_array_start = .);\n        KEEP (*(.fini_array*))\n        KEEP (*(SORT(.fini_array.*)))\n        PROVIDE_HIDDEN (__fini_array_end = .);\n    } >ROM\n\n    _etext = .;            /* global symbols at end of code */\n\n    .stack : {\n        __stack_start__ = .;\n        . = . + STACK_SIZE;\n        . = ALIGN(4);\n        __stack_end__ = .;\n    } >RAM\n\n    .data :  AT (_etext) {\n        __data_load = LOADADDR (.data);\n        __data_start = .;\n        *(.data)           /* .data sections */\n        *(.data*)          /* .data* sections */\n        . = ALIGN(4);\n        __data_end__ = .;\n        _edata = __data_end__;\n    } >RAM\n\n    .bss : {\n        __bss_start__ = .;\n        *(.bss)\n        *(.bss*)\n        *(COMMON)\n        . = ALIGN(4);\n        _ebss = .;         /* define a global symbol at bss end */\n        __bss_end__ = .;\n    } >RAM\n\n    __exidx_start = .;\n    .ARM.exidx   : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } >RAM\n    __exidx_end = .;\n\n    PROVIDE ( end = _ebss );\n    PROVIDE ( _end = _ebss );\n    PROVIDE ( __end__ = _ebss );\n\n    .heap : {\n        __heap_start__ = .;\n        . = . + HEAP_SIZE;\n        . = ALIGN(4);\n        __heap_end__ = .;\n    } >RAM\n\n    /* Remove information from the standard libraries */\n    /DISCARD/ : {\n        libc.a ( * )\n        libm.a ( * )\n        libgcc.a ( * )\n    }\n}\n"
  },
  {
    "path": "examples/arm-cm/pelican_ek-tm4c123gxl/qk/iar/README.txt",
    "content": "About this Example\n==================\nThis example demonstrates how to use the IAR EWARM IDE to build\na QP application.\n\n\nIAR Project File\n----------------\nThe IAR EWARM project file provided with this example uses relative paths\nto the QP/C framework location (includes, port, and libraries. These\nrelative paths must be modified when the project is moved to different\nrelative location.\n\n\nStack Size and Heap Size\n------------------------\nIn this project, the size of the C stack and heap are determined in\nthe linker script pelican-qk.icf (see the next section).\n\n\nLinker Script\n-------------\nThe IAR linker script provides a template of the recommended linker script\nfor QP applications. This file needs to be customized to set the\napplication-specific sizes of the Stack and Heap. This file can be edited\nfrom the IAR EWARM IDE via the Project Options/Linker settings.\n\n\nStartup Code\n------------\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\ek-tm4c123gxl\\iar\\startup_TM4C123GH6PM.s\n\nThe file startup_TM4C123GH6PM.s provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n"
  },
  {
    "path": "examples/arm-cm/pelican_ek-tm4c123gxl/qk/iar/pelican-qk.ewd",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<project>\n  <fileVersion>2</fileVersion>\n  <configuration>\n    <name>Debug</name>\n    <toolchain>\n      <name>ARM</name>\n    </toolchain>\n    <debug>1</debug>\n    <settings>\n      <name>C-SPY</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>28</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CEndian</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCVariant</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>MemOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MemFile</name>\n          <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\TexasInstruments\\TM4C123GH6PM.ddf</state>\n        </option>\n        <option>\n          <name>RunToEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RunToName</name>\n          <state>main</state>\n        </option>\n        <option>\n          <name>CExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CFpuProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCDDFArgumentProducer</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCDownloadSuppressDownload</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDownloadVerifyAll</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCProductVersion</name>\n          <state>7.30.4.8186</state>\n        </option>\n        <option>\n          <name>OCDynDriverList</name>\n          <state>LMIFTDI_ID</state>\n        </option>\n        <option>\n          <name>OCLastSavedByProductVersion</name>\n          <state>7.70.1.11471</state>\n        </option>\n        <option>\n          <name>UseFlashLoader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CLowLevel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCBE8Slave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacFile2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CDevice</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>FlashLoadersV3</name>\n          <state>$TOOLKIT_DIR$\\config\\flashloader\\TexasInstruments\\FlashTC4_H6_o.board</state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OverrideDefFlashBoard</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesOffset1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesUse1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDeviceConfigMacroFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCDebuggerExtraOption</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCAllMTBOptions</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCMulticoreNrOfCores</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCMulticoreMaster</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCMulticorePort</name>\n          <state>53461</state>\n        </option>\n        <option>\n          <name>OCMulticoreWorkspace</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCMulticoreSlaveProject</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCMulticoreSlaveConfiguration</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCDownloadExtraImage</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCAttachSlave</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ARMSIM_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCSimDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCSimEnablePSP</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCSimPspOverrideConfig</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCSimPspConfigFile</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ANGEL_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CCAngelHeartbeat</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CAngelCommunication</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CAngelCommBaud</name>\n          <version>0</version>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CAngelCommPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ANGELTCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>DoAngelLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AngelLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CADI_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CCadiMemory</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Fast Model</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCADILogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCADILogFileEditB</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CMSISDAP_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>4</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CatchSFERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCIarProbeScriptFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CMSISDAPResetList</name>\n          <version>1</version>\n          <state>10</state>\n        </option>\n        <option>\n          <name>CMSISDAPHWResetDuration</name>\n          <state>300</state>\n        </option>\n        <option>\n          <name>CMSISDAPHWResetDelay</name>\n          <state>200</state>\n        </option>\n        <option>\n          <name>CMSISDAPDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CMSISDAPInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiTargetEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPJtagSpeedList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPRestoreBreakpointsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPUpdateBreakpointsEdit</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>RDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchUndef</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchData</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchPrefetch</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchMMERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchNOCPERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchCHKERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchSTATERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchBUSERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchINTERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchHARDERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiCPUEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiCPUNumber</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeCfgOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeConfig</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CMSISDAPProbeConfigRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPSelectedCPUBehaviour</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ICpuName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCJetEmuParams</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCCMSISDAPUsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCCMSISDAPUsbSerialNoSelect</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>GDBSERVER_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCJTagBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>IARROM_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CRomLogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRomLogFileEditB</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CRomCommPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRomCommBaud</name>\n          <version>0</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>IJET_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>8</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CatchSFERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCIarProbeScriptFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetResetList</name>\n          <version>1</version>\n          <state>10</state>\n        </option>\n        <option>\n          <name>IjetHWResetDuration</name>\n          <state>300</state>\n        </option>\n        <option>\n          <name>IjetHWResetDelay</name>\n          <state>200</state>\n        </option>\n        <option>\n          <name>IjetPowerFromProbe</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetPowerRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>IjetInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiTargetEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetScanChainNonARMDevices</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetIRLength</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetJtagSpeedList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetProtocolRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetSwoPin</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetCpuClockEdit</name>\n          <state>72.0</state>\n        </option>\n        <option>\n          <name>IjetSwoPrescalerList</name>\n          <version>1</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetRestoreBreakpointsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetUpdateBreakpointsEdit</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>RDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchUndef</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchData</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchPrefetch</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchMMERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchNOCPERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchCHKERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchSTATERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchBUSERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchINTERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchHARDERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeCfgOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeConfig</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IjetProbeConfigRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiCPUEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiCPUNumber</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetSelectedCPUBehaviour</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ICpuName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCJetEmuParams</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetPreferETB</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetTraceSettingsList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetTraceSizeList</name>\n          <version>0</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>FlashBoardPathSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCIjetUsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCIjetUsbSerialNoSelect</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JLINK_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>16</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CCCatchSFERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>JLinkSpeed</name>\n          <state>1000</state>\n        </option>\n        <option>\n          <name>CCJLinkDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCJLinkHWResetDelay</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>JLinkInitialSpeed</name>\n          <state>1000</state>\n        </option>\n        <option>\n          <name>CCDoJlinkMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCScanChainNonARMDevices</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkIRLength</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkCommRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkTCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>CCJLinkSpeedRadioV2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCUSBDevice</name>\n          <version>1</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchUndef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchPrefetch</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>CCJLinkInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkResetList</name>\n          <version>6</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>CCJLinkInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchMMERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchNOCPERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchCHRERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchSTATERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchBUSERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchINTERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchHARDERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkScriptFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCJLinkUsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCTcpIpAlt</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkTcpIpSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCCpuClockEdit</name>\n          <state>72.0</state>\n        </option>\n        <option>\n          <name>CCSwoClockAuto</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSwoClockEdit</name>\n          <state>2000</state>\n        </option>\n        <option>\n          <name>OCJLinkTraceSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkTraceSourceDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkDeviceName</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>LMIFTDI_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>LmiftdiSpeed</name>\n          <state>500</state>\n        </option>\n        <option>\n          <name>CCLmiftdiDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLmiftdiLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCLmiFtdiInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLmiFtdiInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>MACRAIGOR_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>3</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>jtag</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EmuSpeed</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>DoEmuMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EmuMultiTarget</name>\n          <state>0@ARM7TDMI</state>\n        </option>\n        <option>\n          <name>EmuHWReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CEmuCommBaud</name>\n          <version>0</version>\n          <state>4</state>\n        </option>\n        <option>\n          <name>CEmuCommPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>jtago</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UnusedAddr</name>\n          <state>0x00800000</state>\n        </option>\n        <option>\n          <name>CCMacraigorHWResetDelay</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCJTagBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>CCMacraigorInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMacraigorInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>PEMICRO_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>3</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCJPEMicroShowSettings</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>RDI_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CRDIDriverDll</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>CRDILogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRDILogFileEdit</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCRDIHWReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchUndef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchPrefetch</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>STLINK_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>3</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCSTLinkInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkResetList</name>\n          <version>1</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCpuClockEdit</name>\n          <state>72.0</state>\n        </option>\n        <option>\n          <name>CCSwoClockAuto</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSwoClockEdit</name>\n          <state>2000</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCSTLinkDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchMMERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchNOCPERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchCHRERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchSTATERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchBUSERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchINTERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchSFERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchHARDERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkUsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCSTLinkUsbSerialNoSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkJtagSpeedList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkDAPNumber</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>THIRDPARTY_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CThirdPartyDriverDll</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>CThirdPartyLogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CThirdPartyLogFileEditB</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>TIFET_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCMSPFetResetList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetTargetVccTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetTargetVoltage</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>CCMSPFetVCCDefault</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCMSPFetTargetSettlingtime</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetRadioJtagSpeedType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCMSPFetConnection</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetUsbComPort</name>\n          <state>Automatic</state>\n        </option>\n        <option>\n          <name>CCMSPFetAllowAccessToBSL</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCMSPFetRadioEraseFlash</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>XDS100_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>5</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TIPackageOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>TIPackage</name>\n          <state></state>\n        </option>\n        <option>\n          <name>BoardFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCXds100BreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100DoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100UpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>CCXds100CatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchUndef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchPrefetch</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchMMERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchNOCPERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchCHRERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchSTATERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchBUSERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchINTERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchSFERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchHARDERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CpuClockEdit</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCXds100SwoClockAuto</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100SwoClockEdit</name>\n          <state>1000</state>\n        </option>\n        <option>\n          <name>CCXds100HWResetDelay</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100ResetList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100UsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCXds100UsbSerialNoSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100JtagSpeedList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100InterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100InterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100ProbeList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <debuggerPlugins>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\middleware\\HCCWare\\HCCWare.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\middleware\\PercepioTraceExporter\\PercepioTraceExportPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\AVIX\\AVIX.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\MQX\\MQXRtosPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\Quadros\\Quadros_EWB7_Plugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n    </debuggerPlugins>\n  </configuration>\n  <configuration>\n    <name>Release</name>\n    <toolchain>\n      <name>ARM</name>\n    </toolchain>\n    <debug>0</debug>\n    <settings>\n      <name>C-SPY</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>28</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CEndian</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCVariant</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>MemOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MemFile</name>\n          <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\TexasInstruments\\TM4C123GH6PM.ddf</state>\n        </option>\n        <option>\n          <name>RunToEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RunToName</name>\n          <state>main</state>\n        </option>\n        <option>\n          <name>CExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CFpuProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCDDFArgumentProducer</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCDownloadSuppressDownload</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDownloadVerifyAll</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCProductVersion</name>\n          <state>7.30.4.8186</state>\n        </option>\n        <option>\n          <name>OCDynDriverList</name>\n          <state>LMIFTDI_ID</state>\n        </option>\n        <option>\n          <name>OCLastSavedByProductVersion</name>\n          <state>7.40.2.8567</state>\n        </option>\n        <option>\n          <name>UseFlashLoader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CLowLevel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCBE8Slave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacFile2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CDevice</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>FlashLoadersV3</name>\n          <state>$TOOLKIT_DIR$\\config\\flashloader\\TexasInstruments\\FlashTC4_H6_o.board</state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OverrideDefFlashBoard</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesOffset1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesUse1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDeviceConfigMacroFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCDebuggerExtraOption</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCAllMTBOptions</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCMulticoreNrOfCores</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCMulticoreMaster</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCMulticorePort</name>\n          <state>53461</state>\n        </option>\n        <option>\n          <name>OCMulticoreWorkspace</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCMulticoreSlaveProject</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCMulticoreSlaveConfiguration</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCDownloadExtraImage</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCAttachSlave</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ARMSIM_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCSimDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCSimEnablePSP</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCSimPspOverrideConfig</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCSimPspConfigFile</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ANGEL_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CCAngelHeartbeat</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CAngelCommunication</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CAngelCommBaud</name>\n          <version>0</version>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CAngelCommPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ANGELTCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>DoAngelLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AngelLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CADI_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CCadiMemory</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Fast Model</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCADILogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCADILogFileEditB</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CMSISDAP_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>4</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CatchSFERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCIarProbeScriptFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CMSISDAPResetList</name>\n          <version>1</version>\n          <state>10</state>\n        </option>\n        <option>\n          <name>CMSISDAPHWResetDuration</name>\n          <state>300</state>\n        </option>\n        <option>\n          <name>CMSISDAPHWResetDelay</name>\n          <state>200</state>\n        </option>\n        <option>\n          <name>CMSISDAPDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CMSISDAPInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiTargetEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPJtagSpeedList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPRestoreBreakpointsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPUpdateBreakpointsEdit</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>RDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchUndef</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchData</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchPrefetch</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchMMERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchNOCPERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchCHKERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchSTATERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchBUSERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchINTERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchHARDERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiCPUEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPMultiCPUNumber</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeCfgOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeConfig</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CMSISDAPProbeConfigRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CMSISDAPSelectedCPUBehaviour</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ICpuName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCJetEmuParams</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCCMSISDAPUsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCCMSISDAPUsbSerialNoSelect</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>GDBSERVER_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCJTagBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>IARROM_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CRomLogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRomLogFileEditB</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CRomCommPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRomCommBaud</name>\n          <version>0</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>IJET_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>8</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CatchSFERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCIarProbeScriptFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetResetList</name>\n          <version>1</version>\n          <state>10</state>\n        </option>\n        <option>\n          <name>IjetHWResetDuration</name>\n          <state>300</state>\n        </option>\n        <option>\n          <name>IjetHWResetDelay</name>\n          <state>200</state>\n        </option>\n        <option>\n          <name>IjetPowerFromProbe</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetPowerRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>IjetInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiTargetEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetScanChainNonARMDevices</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetIRLength</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetJtagSpeedList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetProtocolRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetSwoPin</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetCpuClockEdit</name>\n          <state>72.0</state>\n        </option>\n        <option>\n          <name>IjetSwoPrescalerList</name>\n          <version>1</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetRestoreBreakpointsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetUpdateBreakpointsEdit</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>RDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchUndef</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchData</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchPrefetch</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CatchMMERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchNOCPERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchCHKERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchSTATERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchBUSERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchINTERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchHARDERR</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeCfgOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCProbeConfig</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IjetProbeConfigRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiCPUEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetMultiCPUNumber</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetSelectedCPUBehaviour</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ICpuName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCJetEmuParams</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetPreferETB</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IjetTraceSettingsList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IjetTraceSizeList</name>\n          <version>0</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>FlashBoardPathSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCIjetUsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCIjetUsbSerialNoSelect</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JLINK_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>16</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CCCatchSFERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>JLinkSpeed</name>\n          <state>1000</state>\n        </option>\n        <option>\n          <name>CCJLinkDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCJLinkHWResetDelay</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>JLinkInitialSpeed</name>\n          <state>1000</state>\n        </option>\n        <option>\n          <name>CCDoJlinkMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCScanChainNonARMDevices</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkIRLength</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkCommRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkTCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>CCJLinkSpeedRadioV2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCUSBDevice</name>\n          <version>1</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchUndef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchPrefetch</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>CCJLinkInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkResetList</name>\n          <version>6</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>CCJLinkInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchMMERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchNOCPERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchCHRERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchSTATERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchBUSERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchINTERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchHARDERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkScriptFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCJLinkUsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCTcpIpAlt</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJLinkTcpIpSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCCpuClockEdit</name>\n          <state>72.0</state>\n        </option>\n        <option>\n          <name>CCSwoClockAuto</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSwoClockEdit</name>\n          <state>2000</state>\n        </option>\n        <option>\n          <name>OCJLinkTraceSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkTraceSourceDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCJLinkDeviceName</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>LMIFTDI_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>LmiftdiSpeed</name>\n          <state>500</state>\n        </option>\n        <option>\n          <name>CCLmiftdiDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLmiftdiLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCLmiFtdiInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLmiFtdiInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>MACRAIGOR_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>3</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>jtag</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EmuSpeed</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TCPIP</name>\n          <state>aaa.bbb.ccc.ddd</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>DoEmuMultiTarget</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EmuMultiTarget</name>\n          <state>0@ARM7TDMI</state>\n        </option>\n        <option>\n          <name>EmuHWReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CEmuCommBaud</name>\n          <version>0</version>\n          <state>4</state>\n        </option>\n        <option>\n          <name>CEmuCommPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>jtago</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UnusedAddr</name>\n          <state>0x00800000</state>\n        </option>\n        <option>\n          <name>CCMacraigorHWResetDelay</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCJTagBreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCJTagUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>CCMacraigorInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMacraigorInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>PEMICRO_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>3</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCJPEMicroShowSettings</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>RDI_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CRDIDriverDll</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>CRDILogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRDILogFileEdit</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCRDIHWReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchUndef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchPrefetch</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRDICatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>STLINK_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>3</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCSTLinkInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkResetList</name>\n          <version>1</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCpuClockEdit</name>\n          <state>72.0</state>\n        </option>\n        <option>\n          <name>CCSwoClockAuto</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSwoClockEdit</name>\n          <state>2000</state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCSTLinkDoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkUpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchMMERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchNOCPERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchCHRERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchSTATERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchBUSERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchINTERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchSFERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchHARDERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkCatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkUsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCSTLinkUsbSerialNoSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkJtagSpeedList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSTLinkDAPNumber</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>THIRDPARTY_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CThirdPartyDriverDll</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>CThirdPartyLogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CThirdPartyLogFileEditB</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>TIFET_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCMSPFetResetList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetInterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetInterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetTargetVccTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetTargetVoltage</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>CCMSPFetVCCDefault</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCMSPFetTargetSettlingtime</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetRadioJtagSpeedType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCMSPFetConnection</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetUsbComPort</name>\n          <state>Automatic</state>\n        </option>\n        <option>\n          <name>CCMSPFetAllowAccessToBSL</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMSPFetLogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCMSPFetRadioEraseFlash</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>XDS100_ID</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>5</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCDriverInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TIPackageOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>TIPackage</name>\n          <state></state>\n        </option>\n        <option>\n          <name>BoardFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>CCXds100BreakpointRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100DoUpdateBreakpoints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100UpdateBreakpoints</name>\n          <state>_call_main</state>\n        </option>\n        <option>\n          <name>CCXds100CatchReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchUndef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchSWI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchPrefetch</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchIRQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchFIQ</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchCORERESET</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchMMERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchNOCPERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchCHRERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchSTATERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchBUSERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchINTERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchSFERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchHARDERR</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CatchDummy</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100CpuClockEdit</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCXds100SwoClockAuto</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100SwoClockEdit</name>\n          <state>1000</state>\n        </option>\n        <option>\n          <name>CCXds100HWResetDelay</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100ResetList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100UsbSerialNo</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCXds100UsbSerialNoSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100JtagSpeedList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100InterfaceRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100InterfaceCmdLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCXds100ProbeList</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <debuggerPlugins>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\middleware\\HCCWare\\HCCWare.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\middleware\\PercepioTraceExporter\\PercepioTraceExportPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\AVIX\\AVIX.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\MQX\\MQXRtosPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\Quadros\\Quadros_EWB7_Plugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n    </debuggerPlugins>\n  </configuration>\n</project>\n\n\n"
  },
  {
    "path": "examples/arm-cm/pelican_ek-tm4c123gxl/qk/iar/pelican-qk.ewp",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<project>\n  <fileVersion>2</fileVersion>\n  <configuration>\n    <name>Debug</name>\n    <toolchain>\n      <name>ARM</name>\n    </toolchain>\n    <debug>1</debug>\n    <settings>\n      <name>General</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>24</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>ExePath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>ObjPath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>ListPath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>GEndianMode</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Input variant</name>\n          <version>3</version>\n          <state>6</state>\n        </option>\n        <option>\n          <name>Input description</name>\n          <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n        </option>\n        <option>\n          <name>Output variant</name>\n          <version>2</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>Output description</name>\n          <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n        </option>\n        <option>\n          <name>GOutputBinary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGCoreOrChip</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelect</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelectSlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RTDescription</name>\n          <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n        </option>\n        <option>\n          <name>OGProductVersion</name>\n          <state>5.11.0.50579</state>\n        </option>\n        <option>\n          <name>OGLastSavedByProductVersion</name>\n          <state>7.70.1.11471</state>\n        </option>\n        <option>\n          <name>GeneralEnableMisra</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVerbose</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGChipSelectEditMenu</name>\n          <state>TM4C123GH6PM\tTexasInstruments TM4C123GH6PM</state>\n        </option>\n        <option>\n          <name>GenLowLevelInterface</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEndianModeBE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OGBufferedTerminalOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GenStdoutInterface</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>GeneralMisraVer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>RTConfigPath2</name>\n          <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n        </option>\n        <option>\n          <name>GBECoreSlave</name>\n          <version>24</version>\n          <state>40</state>\n        </option>\n        <option>\n          <name>OGUseCmsis</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGUseCmsisDspLib</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibThreads</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CoreVariant</name>\n          <version>24</version>\n          <state>39</state>\n        </option>\n        <option>\n          <name>GFPUDeviceSlave</name>\n          <state>TM4C123GH6PM\tTexasInstruments TM4C123GH6PM</state>\n        </option>\n        <option>\n          <name>FPU2</name>\n          <version>0</version>\n          <state>4</state>\n        </option>\n        <option>\n          <name>NrRegs</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>NEON</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GFPUCoreSlave2</name>\n          <version>24</version>\n          <state>39</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICCARM</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>31</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CCOptimizationNoSizeConstraints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCPreprocFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocComments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMnemonics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMessages</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagSuppress</name>\n          <state>Pa050</state>\n        </option>\n        <option>\n          <name>CCDiagRemark</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagWarning</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagError</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCAllowList</name>\n          <version>1</version>\n          <state>00000000</state>\n        </option>\n        <option>\n          <name>CCDebugInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IEndianMode</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCLangConformance</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSignedPlainChar</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRequirePrototypes</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagWarnAreErr</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCompilerRuntimeInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IFpuProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.o</state>\n        </option>\n        <option>\n          <name>CCLibConfigHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>PreInclude</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CompilerMisraOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCIncludePath2</name>\n          <state>$PROJ_DIR$\\..</state>\n          <state>$PROJ_DIR$\\..\\..</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\iar</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl</state>\n        </option>\n        <option>\n          <name>CCStdIncCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCodeSection</name>\n          <state>.text</state>\n        </option>\n        <option>\n          <name>IInterwork2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IProcessorMode2</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptStrategy</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevelSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>CCPosIndRopi</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPosIndRwpi</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPosIndNoDynInit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccLang</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>IccCDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccAllowVLA</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCppDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccExceptions</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccRTTI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccStaticDestr</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccCppInlineSemantics</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccCmsis</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccFloatSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCNoLiteralPool</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOptStrategySlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCGuardCalls</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>AARM</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>9</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>AObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AEndian</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ACaseSensitivity</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacroChars</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnWhat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnOne</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ADebug</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AltRegisterNames</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state>ewarm</state>\n        </option>\n        <option>\n          <name>AList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AListHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AListing</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Includes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacExps</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacExec</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OnlyAssed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MultiLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>TabSpacing</name>\n          <state>8</state>\n        </option>\n        <option>\n          <name>AXRef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDefines</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefInternal</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDual</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AFpuProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AOutputFile</name>\n          <state>$FILE_BNAME$.o</state>\n        </option>\n        <option>\n          <name>AMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ALimitErrorsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ALimitErrorsEdit</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>AIgnoreStdInclude</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AUserIncludes</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AExtraOptionsCheckV2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptionsV2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AsmNoLiteralPool</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>OBJCOPY</name>\n      <archiveVersion>0</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OOCOutputFormat</name>\n          <version>3</version>\n          <state>3</state>\n        </option>\n        <option>\n          <name>OCOutputOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OOCOutputFile</name>\n          <state>pelican-qk.bin</state>\n        </option>\n        <option>\n          <name>OOCCommandLineProducer</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OOCObjCopyEnable</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CUSTOM</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <extensions></extensions>\n        <cmdline></cmdline>\n        <hasPrio>0</hasPrio>\n      </data>\n    </settings>\n    <settings>\n      <name>BICOMP</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>BUILDACTION</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <prebuild></prebuild>\n        <postbuild></postbuild>\n      </data>\n    </settings>\n    <settings>\n      <name>ILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data>\n        <version>17</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>IlinkLibIOConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XLinkMisraHandler</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkInputFileSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkOutputFile</name>\n          <state>pelican-qk.out</state>\n        </option>\n        <option>\n          <name>IlinkDebugInfoEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkKeepSymbols</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinaryFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinarySymbol</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinarySegment</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinaryAlign</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkConfigDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkMapFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkLogFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogInitialization</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogModule</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogSection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogVeneer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkIcfOverride</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkIcfFile</name>\n          <state>$PROJ_DIR$\\pelican-qk.icf</state>\n        </option>\n        <option>\n          <name>IlinkIcfFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkSuppressDiags</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkTreatAsRem</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkTreatAsWarn</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkTreatAsErr</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkWarningsAreErrors</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkUseExtraOptions</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkLowLevelInterfaceSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkAutoLibEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkAdditionalLibs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkOverrideProgramEntryLabel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkProgramEntryLabelSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkProgramEntryLabel</name>\n          <state>__iar_program_start</state>\n        </option>\n        <option>\n          <name>DoFill</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FillerByte</name>\n          <state>0xFF</state>\n        </option>\n        <option>\n          <name>FillerStart</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>FillerEnd</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>CrcSize</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcAlign</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcPoly</name>\n          <state>0x11021</state>\n        </option>\n        <option>\n          <name>CrcCompl</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcBitOrder</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcInitialValue</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>DoCrc</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkBE8Slave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkBufferedTerminalOutput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkStdoutInterfaceSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcFullSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkIElfToolPostProcess</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogAutoLibSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogRedirSymbols</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogUnusedFragments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkCrcReverseByteOrder</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkCrcUseAsInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptInline</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkOptExceptionsAllow</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptExceptionsForce</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkCmsis</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptMergeDuplSections</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkOptUseVfe</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptForceVfe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkStackAnalysisEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkStackControlFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkStackCallGraphFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CrcAlgorithm</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcUnitSize</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkThreadsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkLogCallGraph</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>IARCHIVE</name>\n      <archiveVersion>0</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>IarchiveInputs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IarchiveOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IarchiveOutput</name>\n          <state>###Unitialized###</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>BILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>Coder</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n  </configuration>\n  <configuration>\n    <name>Release</name>\n    <toolchain>\n      <name>ARM</name>\n    </toolchain>\n    <debug>0</debug>\n    <settings>\n      <name>General</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>24</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>ExePath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>ObjPath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>ListPath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>GEndianMode</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Input variant</name>\n          <version>3</version>\n          <state>6</state>\n        </option>\n        <option>\n          <name>Input description</name>\n          <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n        </option>\n        <option>\n          <name>Output variant</name>\n          <version>2</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>Output description</name>\n          <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n        </option>\n        <option>\n          <name>GOutputBinary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGCoreOrChip</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelect</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelectSlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RTDescription</name>\n          <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n        </option>\n        <option>\n          <name>OGProductVersion</name>\n          <state>5.11.0.50579</state>\n        </option>\n        <option>\n          <name>OGLastSavedByProductVersion</name>\n          <state>7.70.1.11471</state>\n        </option>\n        <option>\n          <name>GeneralEnableMisra</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVerbose</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGChipSelectEditMenu</name>\n          <state>TM4C123GH6PM\tTexasInstruments TM4C123GH6PM</state>\n        </option>\n        <option>\n          <name>GenLowLevelInterface</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEndianModeBE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OGBufferedTerminalOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GenStdoutInterface</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>GeneralMisraVer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>RTConfigPath2</name>\n          <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n        </option>\n        <option>\n          <name>GBECoreSlave</name>\n          <version>24</version>\n          <state>40</state>\n        </option>\n        <option>\n          <name>OGUseCmsis</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGUseCmsisDspLib</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibThreads</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CoreVariant</name>\n          <version>24</version>\n          <state>39</state>\n        </option>\n        <option>\n          <name>GFPUDeviceSlave</name>\n          <state>TM4C123GH6PM\tTexasInstruments TM4C123GH6PM</state>\n        </option>\n        <option>\n          <name>FPU2</name>\n          <version>0</version>\n          <state>4</state>\n        </option>\n        <option>\n          <name>NrRegs</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>NEON</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GFPUCoreSlave2</name>\n          <version>24</version>\n          <state>39</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICCARM</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>31</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CCOptimizationNoSizeConstraints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDefines</name>\n          <state>NDEBUG</state>\n        </option>\n        <option>\n          <name>CCPreprocFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocComments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMnemonics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMessages</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagSuppress</name>\n          <state>Pa050</state>\n        </option>\n        <option>\n          <name>CCDiagRemark</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagWarning</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagError</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCAllowList</name>\n          <version>1</version>\n          <state>11111110</state>\n        </option>\n        <option>\n          <name>CCDebugInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IEndianMode</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCLangConformance</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCSignedPlainChar</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRequirePrototypes</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagWarnAreErr</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCompilerRuntimeInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IFpuProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.o</state>\n        </option>\n        <option>\n          <name>CCLibConfigHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>PreInclude</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CompilerMisraOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCIncludePath2</name>\n          <state>$PROJ_DIR$\\..</state>\n          <state>$PROJ_DIR$\\..\\..</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\iar</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl</state>\n        </option>\n        <option>\n          <name>CCStdIncCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCodeSection</name>\n          <state>.text</state>\n        </option>\n        <option>\n          <name>IInterwork2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IProcessorMode2</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevel</name>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CCOptStrategy</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevelSlave</name>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>CCPosIndRopi</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPosIndRwpi</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPosIndNoDynInit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccLang</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>IccCDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccAllowVLA</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCppDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccExceptions</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccRTTI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccStaticDestr</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccCppInlineSemantics</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccCmsis</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccFloatSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCNoLiteralPool</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOptStrategySlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCGuardCalls</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>AARM</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>9</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>AObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AEndian</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ACaseSensitivity</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacroChars</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnWhat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnOne</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ADebug</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AltRegisterNames</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state>ewarm</state>\n        </option>\n        <option>\n          <name>AList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AListHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AListing</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Includes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacExps</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacExec</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OnlyAssed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MultiLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>TabSpacing</name>\n          <state>8</state>\n        </option>\n        <option>\n          <name>AXRef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDefines</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefInternal</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDual</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AFpuProcessor</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AOutputFile</name>\n          <state>$FILE_BNAME$.o</state>\n        </option>\n        <option>\n          <name>AMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ALimitErrorsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ALimitErrorsEdit</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>AIgnoreStdInclude</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AUserIncludes</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AExtraOptionsCheckV2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptionsV2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AsmNoLiteralPool</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>OBJCOPY</name>\n      <archiveVersion>0</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OOCOutputFormat</name>\n          <version>3</version>\n          <state>3</state>\n        </option>\n        <option>\n          <name>OCOutputOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OOCOutputFile</name>\n          <state>pelican-qk.bin</state>\n        </option>\n        <option>\n          <name>OOCCommandLineProducer</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OOCObjCopyEnable</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CUSTOM</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <extensions></extensions>\n        <cmdline></cmdline>\n        <hasPrio>0</hasPrio>\n      </data>\n    </settings>\n    <settings>\n      <name>BICOMP</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>BUILDACTION</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <prebuild></prebuild>\n        <postbuild></postbuild>\n      </data>\n    </settings>\n    <settings>\n      <name>ILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data>\n        <version>17</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>IlinkLibIOConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XLinkMisraHandler</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkInputFileSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkOutputFile</name>\n          <state>pelican-qk.out</state>\n        </option>\n        <option>\n          <name>IlinkDebugInfoEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkKeepSymbols</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinaryFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinarySymbol</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinarySegment</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkRawBinaryAlign</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkConfigDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkMapFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkLogFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogInitialization</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogModule</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogSection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogVeneer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkIcfOverride</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkIcfFile</name>\n          <state>$PROJ_DIR$\\pelican-qk.icf</state>\n        </option>\n        <option>\n          <name>IlinkIcfFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkSuppressDiags</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkTreatAsRem</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkTreatAsWarn</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkTreatAsErr</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkWarningsAreErrors</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkUseExtraOptions</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkLowLevelInterfaceSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkAutoLibEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkAdditionalLibs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkOverrideProgramEntryLabel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkProgramEntryLabelSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkProgramEntryLabel</name>\n          <state>__iar_program_start</state>\n        </option>\n        <option>\n          <name>DoFill</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FillerByte</name>\n          <state>0xFF</state>\n        </option>\n        <option>\n          <name>FillerStart</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>FillerEnd</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>CrcSize</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcAlign</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcPoly</name>\n          <state>0x11021</state>\n        </option>\n        <option>\n          <name>CrcCompl</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcBitOrder</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcInitialValue</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>DoCrc</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkBE8Slave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkBufferedTerminalOutput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkStdoutInterfaceSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcFullSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkIElfToolPostProcess</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogAutoLibSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogRedirSymbols</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkLogUnusedFragments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkCrcReverseByteOrder</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkCrcUseAsInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptInline</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptExceptionsAllow</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptExceptionsForce</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkCmsis</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptMergeDuplSections</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkOptUseVfe</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkOptForceVfe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkStackAnalysisEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkStackControlFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IlinkStackCallGraphFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CrcAlgorithm</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcUnitSize</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IlinkThreadsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkLogCallGraph</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>IARCHIVE</name>\n      <archiveVersion>0</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>IarchiveInputs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IarchiveOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IarchiveOutput</name>\n          <state>###Unitialized###</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>BILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>Coder</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n  </configuration>\n  <group>\n    <name>Application</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\bsp.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\bsp.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\main.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\pelican.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\pelican.h</name>\n    </file>\n  </group>\n  <group>\n    <name>ek-tm4c123gxl</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\iar\\startup_TM4C123GH6PM.s</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</name>\n    </file>\n  </group>\n  <group>\n    <name>QP</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qepn.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qfn.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qkn\\qkn.c</name>\n    </file>\n  </group>\n  <group>\n    <name>QP_port</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qk\\iar\\qkn_port.c</name>\n    </file>\n  </group>\n</project>\n\n\n"
  },
  {
    "path": "examples/arm-cm/pelican_ek-tm4c123gxl/qk/iar/pelican-qk.eww",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<workspace>\n  <project>\n    <path>$WS_DIR$\\pelican-qk.ewp</path>\n  </project>\n  <batchBuild/>\n</workspace>\n\n\n"
  },
  {
    "path": "examples/arm-cm/pelican_ek-tm4c123gxl/qk/iar/pelican-qk.icf",
    "content": "/*###ICF### Section handled by ICF editor, don't touch! ****/\n/*-Editor annotation file-*/\n/* IcfEditorFile=\"$TOOLKIT_DIR$\\config\\ide\\IcfEditor\\cortex_v1_0.xml\" */\n/*-Specials-*/\ndefine symbol __ICFEDIT_intvec_start__ = 0x00000000;\n/*-Memory Regions-*/\ndefine symbol __ICFEDIT_region_ROM_start__ = 0x00000000;\ndefine symbol __ICFEDIT_region_ROM_end__   = 0x0003FFFF;\ndefine symbol __ICFEDIT_region_RAM_start__ = 0x20000000;\ndefine symbol __ICFEDIT_region_RAM_end__   = 0x20007FFF;\n/*-Sizes-*/\ndefine symbol __ICFEDIT_size_cstack__ = 1024;\ndefine symbol __ICFEDIT_size_heap__   = 0;\n/**** End of ICF editor section. ###ICF###*/\n\ndefine memory mem with size = 4G;\ndefine region ROM_region   = mem:[from __ICFEDIT_region_ROM_start__   to __ICFEDIT_region_ROM_end__];\ndefine region RAM_region   = mem:[from __ICFEDIT_region_RAM_start__   to __ICFEDIT_region_RAM_end__];\n\ndefine block CSTACK    with alignment = 8, size = __ICFEDIT_size_cstack__   { };\ndefine block HEAP      with alignment = 8, size = __ICFEDIT_size_heap__     { };\n\ninitialize by copy { readwrite };\ndo not initialize  { section .noinit };\n\nplace at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };\nplace in ROM_region   { readonly };\nplace at start of RAM_region {block CSTACK }; \nplace in RAM_region   { readwrite, block HEAP  };"
  },
  {
    "path": "examples/arm-cm/pelican_ek-tm4c123gxl/qpn_conf.h",
    "content": "/*****************************************************************************\n* Product: QP-nano configuration for the PELICAN example\n* Last Updated for Version: 5.6.2\n* Date of the Last Update:  2016-04-05\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef QPN_CONF_H\n#define QPN_CONF_H\n\n#define Q_PARAM_SIZE            4U\n#define QF_MAX_TICK_RATE        1U\n#define QF_TIMEEVT_CTR_SIZE     2U\n#define QF_TIMEEVT_PERIODIC\n\n#endif  /* QPN_CONF_H */\n"
  },
  {
    "path": "examples/arm-cm/pelican_ek-tm4c123gxl/qv/armclang/README.txt",
    "content": "About this Example\n==================\nThis example demonstrates how to use the uVision IDE together with\nthe MDK-ARM toolchain.\n\n***\nNOTE: This example requires installing the following Software Pack\nin the Keil uVision: Keil::TM4C_DFP.\n***\n\n\nuVision Project File\n====================\nThe MDK-ARM uVision project file provided with this example uses\nrelative paths to the QP framework location (includes, port, and\nlibraries. These relative paths must be modified when the project\nis moved to different relative location.\n\n\nAdjusting Stack and Heap Sizes\n==============================\nThe stack and heap sizes are determined in this project by the\ncommand-line options for the ARM assembler (see the Asm tab in\nthe \"Options for Target\" dialog box in uVision). Specifically,\nyou should define symbols: Stack_Size=xxx Heap_Size=yyy, where\nxxx represents a numerical value of stack size and yyy the\nnumerical value of the heap size (for most embedded projects\nyyy should be 0, as the using the heap is not recommended).\n\n\nStartup Code\n============\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s\n\nThe file startup_TM4C123GH6PM.s provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n  "
  },
  {
    "path": "examples/arm-cm/pelican_ek-tm4c123gxl/qv/armclang/pelican-qv.uvoptx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<ProjectOpt xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_optx.xsd\">\n\n  <SchemaVersion>1.0</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Extensions>\n    <cExt>*.c</cExt>\n    <aExt>*.s*; *.src; *.a*</aExt>\n    <oExt>*.obj; *.o</oExt>\n    <lExt>*.lib</lExt>\n    <tExt>*.txt; *.h; *.inc</tExt>\n    <pExt>*.plm</pExt>\n    <CppX>*.cpp</CppX>\n    <nMigrate>0</nMigrate>\n  </Extensions>\n\n  <DaveTm>\n    <dwLowDateTime>0</dwLowDateTime>\n    <dwHighDateTime>0</dwHighDateTime>\n  </DaveTm>\n\n  <Target>\n    <TargetName>pelican-dbg</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\dbg\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>1</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>4</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>1</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>8</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>BIN\\lmidk-agdi.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>UL2CM3(-O207 -S0 -C0 -FO7  -FN1 -FC1000 -FD20000000 -FF0TM4C123_256 -FL040000 -FS00 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E2006F4 -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Target>\n    <TargetName>pelican-rel</TargetName>\n    <ToolsetNumber>0x4</ToolsetNumber>\n    <ToolsetName>ARM-ADS</ToolsetName>\n    <TargetOption>\n      <CLKADS>12000000</CLKADS>\n      <OPTTT>\n        <gFlags>1</gFlags>\n        <BeepAtEnd>1</BeepAtEnd>\n        <RunSim>1</RunSim>\n        <RunTarget>0</RunTarget>\n        <RunAbUc>0</RunAbUc>\n      </OPTTT>\n      <OPTHX>\n        <HexSelection>1</HexSelection>\n        <FlashByte>65535</FlashByte>\n        <HexRangeLowAddress>0</HexRangeLowAddress>\n        <HexRangeHighAddress>0</HexRangeHighAddress>\n        <HexOffset>0</HexOffset>\n      </OPTHX>\n      <OPTLEX>\n        <PageWidth>79</PageWidth>\n        <PageLength>66</PageLength>\n        <TabStop>8</TabStop>\n        <ListingPath>.\\rel\\</ListingPath>\n      </OPTLEX>\n      <ListingPage>\n        <CreateCListing>1</CreateCListing>\n        <CreateAListing>1</CreateAListing>\n        <CreateLListing>1</CreateLListing>\n        <CreateIListing>0</CreateIListing>\n        <AsmCond>1</AsmCond>\n        <AsmSymb>1</AsmSymb>\n        <AsmXref>0</AsmXref>\n        <CCond>1</CCond>\n        <CCode>0</CCode>\n        <CListInc>0</CListInc>\n        <CSymb>0</CSymb>\n        <LinkerCodeListing>0</LinkerCodeListing>\n      </ListingPage>\n      <OPTXL>\n        <LMap>1</LMap>\n        <LComments>1</LComments>\n        <LGenerateSymbols>1</LGenerateSymbols>\n        <LLibSym>1</LLibSym>\n        <LLines>1</LLines>\n        <LLocSym>1</LLocSym>\n        <LPubSym>1</LPubSym>\n        <LXref>0</LXref>\n        <LExpSel>0</LExpSel>\n      </OPTXL>\n      <OPTFL>\n        <tvExp>1</tvExp>\n        <tvExpOptDlg>0</tvExpOptDlg>\n        <IsCurrentTarget>0</IsCurrentTarget>\n      </OPTFL>\n      <CpuCode>4</CpuCode>\n      <DebugOpt>\n        <uSim>0</uSim>\n        <uTrg>1</uTrg>\n        <sLdApp>1</sLdApp>\n        <sGomain>1</sGomain>\n        <sRbreak>1</sRbreak>\n        <sRwatch>1</sRwatch>\n        <sRmem>1</sRmem>\n        <sRfunc>1</sRfunc>\n        <sRbox>1</sRbox>\n        <tLdApp>1</tLdApp>\n        <tGomain>0</tGomain>\n        <tRbreak>1</tRbreak>\n        <tRwatch>1</tRwatch>\n        <tRmem>1</tRmem>\n        <tRfunc>0</tRfunc>\n        <tRbox>1</tRbox>\n        <tRtrace>0</tRtrace>\n        <sRSysVw>1</sRSysVw>\n        <tRSysVw>1</tRSysVw>\n        <sRunDeb>0</sRunDeb>\n        <sLrtime>0</sLrtime>\n        <bEvRecOn>1</bEvRecOn>\n        <bSchkAxf>0</bSchkAxf>\n        <bTchkAxf>0</bTchkAxf>\n        <nTsel>8</nTsel>\n        <sDll></sDll>\n        <sDllPa></sDllPa>\n        <sDlgDll></sDlgDll>\n        <sDlgPa></sDlgPa>\n        <sIfile></sIfile>\n        <tDll></tDll>\n        <tDllPa></tDllPa>\n        <tDlgDll></tDlgDll>\n        <tDlgPa></tDlgPa>\n        <tIfile></tIfile>\n        <pMon>BIN\\lmidk-agdi.dll</pMon>\n      </DebugOpt>\n      <TargetDriverDllRegistry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGUARM</Key>\n          <Name>ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÈ`»\n´­­ª¤ô </Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMRTXEVENTFLAGS</Key>\n          <Name>-L70 -Z18 -C0 -M0 -T1</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>DLGTARM</Key>\n          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>ARMDBGFLAGS</Key>\n          <Name></Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>lmidk-agdi</Key>\n          <Name>-U0E10259B -O4622 -S4 -FO61</Name>\n        </SetRegEntry>\n        <SetRegEntry>\n          <Number>0</Number>\n          <Key>UL2CM3</Key>\n          <Name>-O207 -S0 -C0 -FO7  -FN1 -FC1000 -FD20000000 -FF0TM4C123_256 -FL040000 -FS00 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM)</Name>\n        </SetRegEntry>\n      </TargetDriverDllRegistry>\n      <Breakpoint/>\n      <MemoryWindow1>\n        <Mm>\n          <WinNumber>1</WinNumber>\n          <SubType>2</SubType>\n          <ItemText>0x20000200</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow1>\n      <MemoryWindow2>\n        <Mm>\n          <WinNumber>2</WinNumber>\n          <SubType>0</SubType>\n          <ItemText>0x400</ItemText>\n          <AccSizeX>0</AccSizeX>\n        </Mm>\n      </MemoryWindow2>\n      <Tracepoint>\n        <THDelay>0</THDelay>\n      </Tracepoint>\n      <DebugFlag>\n        <trace>0</trace>\n        <periodic>0</periodic>\n        <aLwin>1</aLwin>\n        <aCover>0</aCover>\n        <aSer1>0</aSer1>\n        <aSer2>0</aSer2>\n        <aPa>0</aPa>\n        <viewmode>1</viewmode>\n        <vrSel>0</vrSel>\n        <aSym>0</aSym>\n        <aTbox>0</aTbox>\n        <AscS1>0</AscS1>\n        <AscS2>0</AscS2>\n        <AscS3>0</AscS3>\n        <aSer3>0</aSer3>\n        <eProf>0</eProf>\n        <aLa>0</aLa>\n        <aPa1>0</aPa1>\n        <AscS4>0</AscS4>\n        <aSer4>0</aSer4>\n        <StkLoc>0</StkLoc>\n        <TrcWin>0</TrcWin>\n        <newCpu>0</newCpu>\n        <uProt>0</uProt>\n      </DebugFlag>\n      <LintExecutable></LintExecutable>\n      <LintConfigFile></LintConfigFile>\n      <bLintAuto>0</bLintAuto>\n      <bAutoGenD>0</bAutoGenD>\n      <LntExFlags>0</LntExFlags>\n      <pMisraName></pMisraName>\n      <pszMrule></pszMrule>\n      <pSingCmds></pSingCmds>\n      <pMultCmds></pMultCmds>\n      <pMisraNamep></pMisraNamep>\n      <pszMrulep></pszMrulep>\n      <pSingCmdsp></pSingCmdsp>\n      <pMultCmdsp></pMultCmdsp>\n    </TargetOption>\n  </Target>\n\n  <Group>\n    <GroupName>Applicatioin</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>1</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\bsp.c</PathWithFileName>\n      <FilenameWithoutPath>bsp.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>2</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\main.c</PathWithFileName>\n      <FilenameWithoutPath>main.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>3</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\pelican.c</PathWithFileName>\n      <FilenameWithoutPath>pelican.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>4</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\pelican.h</PathWithFileName>\n      <FilenameWithoutPath>pelican.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>1</GroupNumber>\n      <FileNumber>5</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\qpn_conf.h</PathWithFileName>\n      <FilenameWithoutPath>qpn_conf.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>ek-tm4c123gxl</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>6</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</PathWithFileName>\n      <FilenameWithoutPath>system_TM4C123GH6PM.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>7</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</PathWithFileName>\n      <FilenameWithoutPath>TM4C123GH6PM.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>8</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\gpio.h</PathWithFileName>\n      <FilenameWithoutPath>gpio.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>9</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\rom.h</PathWithFileName>\n      <FilenameWithoutPath>rom.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>10</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\sysctl.h</PathWithFileName>\n      <FilenameWithoutPath>sysctl.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>11</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</PathWithFileName>\n      <FilenameWithoutPath>system_TM4C123GH6PM.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>2</GroupNumber>\n      <FileNumber>12</FileNumber>\n      <FileType>2</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s</PathWithFileName>\n      <FilenameWithoutPath>startup_TM4C123GH6PM.s</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>13</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</PathWithFileName>\n      <FilenameWithoutPath>qepn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>14</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</PathWithFileName>\n      <FilenameWithoutPath>qfn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>3</GroupNumber>\n      <FileNumber>15</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\src\\qvn\\qvn.c</PathWithFileName>\n      <FilenameWithoutPath>qvn.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n  <Group>\n    <GroupName>QP_port</GroupName>\n    <tvExp>1</tvExp>\n    <tvExpOptDlg>0</tvExpOptDlg>\n    <cbSel>0</cbSel>\n    <RteFlg>0</RteFlg>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>16</FileNumber>\n      <FileType>5</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qfn_port.h</PathWithFileName>\n      <FilenameWithoutPath>qfn_port.h</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n    <File>\n      <GroupNumber>4</GroupNumber>\n      <FileNumber>17</FileNumber>\n      <FileType>1</FileType>\n      <tvExp>0</tvExp>\n      <tvExpOptDlg>0</tvExpOptDlg>\n      <bDave2>0</bDave2>\n      <PathWithFileName>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qvn_port.c</PathWithFileName>\n      <FilenameWithoutPath>qvn_port.c</FilenameWithoutPath>\n      <RteFlg>0</RteFlg>\n      <bShared>0</bShared>\n    </File>\n  </Group>\n\n</ProjectOpt>\n"
  },
  {
    "path": "examples/arm-cm/pelican_ek-tm4c123gxl/qv/armclang/pelican-qv.uvprojx",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<Project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"project_projx.xsd\">\n\n  <SchemaVersion>2.1</SchemaVersion>\n\n  <Header>### uVision Project, (C) Keil Software</Header>\n\n  <Targets>\n    <Target>\n      <TargetName>pelican-dbg</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6130001::V6.13.1::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>TM4C123GH6PM</Device>\n          <Vendor>Texas Instruments</Vendor>\n          <PackID>Keil.TM4C_DFP.1.1.0</PackID>\n          <PackURL>http://www.keil.com/pack/</PackURL>\n          <Cpu>IROM(0x00000000,0x040000) IRAM(0x20000000,0x008000) CPUTYPE(\"Cortex-M4\") FPU2 CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0TM4C123_256 -FS00 -FL040000 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:TM4C123GH6PM$Device\\Include\\TM4C123\\TM4C123.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:TM4C123GH6PM$SVD\\TM4C123\\TM4C123GH6PM.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\dbg\\</OutputDirectory>\n          <OutputName>pelican-qv</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>1</DebugInformation>\n          <BrowseInformation>1</BrowseInformation>\n          <ListingPath>.\\dbg\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\dbg\\pelican-qv.bin .\\dbg\\pelican-qv.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>1</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4097</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3></Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M4\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>2</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>0</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>1</vShortEn>\n            <vShortWch>1</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>__FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile></ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Applicatioin</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>pelican.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\pelican.c</FilePath>\n            </File>\n            <File>\n              <FileName>pelican.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\pelican.h</FilePath>\n            </File>\n            <File>\n              <FileName>qpn_conf.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\qpn_conf.h</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>ek-tm4c123gxl</GroupName>\n          <Files>\n            <File>\n              <FileName>system_TM4C123GH6PM.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</FilePath>\n            </File>\n            <File>\n              <FileName>TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</FilePath>\n            </File>\n            <File>\n              <FileName>gpio.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\gpio.h</FilePath>\n            </File>\n            <File>\n              <FileName>rom.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\rom.h</FilePath>\n            </File>\n            <File>\n              <FileName>sysctl.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\sysctl.h</FilePath>\n            </File>\n            <File>\n              <FileName>system_TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</FilePath>\n            </File>\n            <File>\n              <FileName>startup_TM4C123GH6PM.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qvn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qvn\\qvn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qvn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qvn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n    <Target>\n      <TargetName>pelican-rel</TargetName>\n      <ToolsetNumber>0x4</ToolsetNumber>\n      <ToolsetName>ARM-ADS</ToolsetName>\n      <pCCUsed>6130001::V6.13.1::.\\ARMCLANG</pCCUsed>\n      <uAC6>1</uAC6>\n      <TargetOption>\n        <TargetCommonOption>\n          <Device>TM4C123GH6PM</Device>\n          <Vendor>Texas Instruments</Vendor>\n          <PackID>Keil.TM4C_DFP.1.1.0</PackID>\n          <PackURL>http://www.keil.com/pack/</PackURL>\n          <Cpu>IROM(0x00000000,0x040000) IRAM(0x20000000,0x008000) CPUTYPE(\"Cortex-M4\") FPU2 CLOCK(12000000) ELITTLE</Cpu>\n          <FlashUtilSpec></FlashUtilSpec>\n          <StartupFile></StartupFile>\n          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0TM4C123_256 -FS00 -FL040000 -FP0($$Device:TM4C123GH6PM$Flash\\TM4C123_256.FLM))</FlashDriverDll>\n          <DeviceId>0</DeviceId>\n          <RegisterFile>$$Device:TM4C123GH6PM$Device\\Include\\TM4C123\\TM4C123.h</RegisterFile>\n          <MemoryEnv></MemoryEnv>\n          <Cmp></Cmp>\n          <Asm></Asm>\n          <Linker></Linker>\n          <OHString></OHString>\n          <InfinionOptionDll></InfinionOptionDll>\n          <SLE66CMisc></SLE66CMisc>\n          <SLE66AMisc></SLE66AMisc>\n          <SLE66LinkerMisc></SLE66LinkerMisc>\n          <SFDFile>$$Device:TM4C123GH6PM$SVD\\TM4C123\\TM4C123GH6PM.svd</SFDFile>\n          <bCustSvd>0</bCustSvd>\n          <UseEnv>0</UseEnv>\n          <BinPath></BinPath>\n          <IncludePath></IncludePath>\n          <LibPath></LibPath>\n          <RegisterFilePath></RegisterFilePath>\n          <DBRegisterFilePath></DBRegisterFilePath>\n          <TargetStatus>\n            <Error>0</Error>\n            <ExitCodeStop>0</ExitCodeStop>\n            <ButtonStop>0</ButtonStop>\n            <NotGenerated>0</NotGenerated>\n            <InvalidFlash>1</InvalidFlash>\n          </TargetStatus>\n          <OutputDirectory>.\\rel\\</OutputDirectory>\n          <OutputName>pelican-qv</OutputName>\n          <CreateExecutable>1</CreateExecutable>\n          <CreateLib>0</CreateLib>\n          <CreateHexFile>0</CreateHexFile>\n          <DebugInformation>0</DebugInformation>\n          <BrowseInformation>0</BrowseInformation>\n          <ListingPath>.\\rel\\</ListingPath>\n          <HexFormatSelection>1</HexFormatSelection>\n          <Merge32K>0</Merge32K>\n          <CreateBatchFile>0</CreateBatchFile>\n          <BeforeCompile>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopU1X>0</nStopU1X>\n            <nStopU2X>0</nStopU2X>\n          </BeforeCompile>\n          <BeforeMake>\n            <RunUserProg1>0</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name></UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopB1X>0</nStopB1X>\n            <nStopB2X>0</nStopB2X>\n          </BeforeMake>\n          <AfterMake>\n            <RunUserProg1>1</RunUserProg1>\n            <RunUserProg2>0</RunUserProg2>\n            <UserProg1Name>fromelf --bin --output .\\rel\\pelican-qv.bin .\\rel\\pelican-qv.axf</UserProg1Name>\n            <UserProg2Name></UserProg2Name>\n            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>\n            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>\n            <nStopA1X>0</nStopA1X>\n            <nStopA2X>0</nStopA2X>\n          </AfterMake>\n          <SelectedForBatchBuild>1</SelectedForBatchBuild>\n          <SVCSIdString></SVCSIdString>\n        </TargetCommonOption>\n        <CommonProperty>\n          <UseCPPCompiler>0</UseCPPCompiler>\n          <RVCTCodeConst>0</RVCTCodeConst>\n          <RVCTZI>0</RVCTZI>\n          <RVCTOtherData>0</RVCTOtherData>\n          <ModuleSelection>0</ModuleSelection>\n          <IncludeInBuild>1</IncludeInBuild>\n          <AlwaysBuild>0</AlwaysBuild>\n          <GenerateAssemblyFile>0</GenerateAssemblyFile>\n          <AssembleAssemblyFile>0</AssembleAssemblyFile>\n          <PublicsOnly>0</PublicsOnly>\n          <StopOnExitCode>3</StopOnExitCode>\n          <CustomArgument></CustomArgument>\n          <IncludeLibraryModules></IncludeLibraryModules>\n          <ComprImg>1</ComprImg>\n        </CommonProperty>\n        <DllOption>\n          <SimDllName>SARMCM3.DLL</SimDllName>\n          <SimDllArguments>  -MPU</SimDllArguments>\n          <SimDlgDll>DCM.DLL</SimDlgDll>\n          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>\n          <TargetDllName>SARMCM3.DLL</TargetDllName>\n          <TargetDllArguments> -MPU</TargetDllArguments>\n          <TargetDlgDll>TCM.DLL</TargetDlgDll>\n          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>\n        </DllOption>\n        <DebugOption>\n          <OPTHX>\n            <HexSelection>1</HexSelection>\n            <HexRangeLowAddress>0</HexRangeLowAddress>\n            <HexRangeHighAddress>0</HexRangeHighAddress>\n            <HexOffset>0</HexOffset>\n            <Oh166RecLen>16</Oh166RecLen>\n          </OPTHX>\n        </DebugOption>\n        <Utilities>\n          <Flash1>\n            <UseTargetDll>1</UseTargetDll>\n            <UseExternalTool>0</UseExternalTool>\n            <RunIndependent>0</RunIndependent>\n            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>\n            <Capability>1</Capability>\n            <DriverSelection>4097</DriverSelection>\n          </Flash1>\n          <bUseTDR>1</bUseTDR>\n          <Flash2>BIN\\UL2CM3.DLL</Flash2>\n          <Flash3></Flash3>\n          <Flash4></Flash4>\n          <pFcarmOut></pFcarmOut>\n          <pFcarmGrp></pFcarmGrp>\n          <pFcArmRoot></pFcArmRoot>\n          <FcArmLst>0</FcArmLst>\n        </Utilities>\n        <TargetArmAds>\n          <ArmAdsMisc>\n            <GenerateListings>0</GenerateListings>\n            <asHll>1</asHll>\n            <asAsm>1</asAsm>\n            <asMacX>1</asMacX>\n            <asSyms>1</asSyms>\n            <asFals>1</asFals>\n            <asDbgD>1</asDbgD>\n            <asForm>1</asForm>\n            <ldLst>0</ldLst>\n            <ldmm>1</ldmm>\n            <ldXref>1</ldXref>\n            <BigEnd>0</BigEnd>\n            <AdsALst>0</AdsALst>\n            <AdsACrf>0</AdsACrf>\n            <AdsANop>0</AdsANop>\n            <AdsANot>0</AdsANot>\n            <AdsLLst>1</AdsLLst>\n            <AdsLmap>1</AdsLmap>\n            <AdsLcgr>1</AdsLcgr>\n            <AdsLsym>1</AdsLsym>\n            <AdsLszi>1</AdsLszi>\n            <AdsLtoi>1</AdsLtoi>\n            <AdsLsun>1</AdsLsun>\n            <AdsLven>1</AdsLven>\n            <AdsLsxf>1</AdsLsxf>\n            <RvctClst>0</RvctClst>\n            <GenPPlst>0</GenPPlst>\n            <AdsCpuType>\"Cortex-M4\"</AdsCpuType>\n            <RvctDeviceName></RvctDeviceName>\n            <mOS>0</mOS>\n            <uocRom>0</uocRom>\n            <uocRam>0</uocRam>\n            <hadIROM>1</hadIROM>\n            <hadIRAM>1</hadIRAM>\n            <hadXRAM>0</hadXRAM>\n            <uocXRam>0</uocXRam>\n            <RvdsVP>2</RvdsVP>\n            <RvdsMve>0</RvdsMve>\n            <hadIRAM2>0</hadIRAM2>\n            <hadIROM2>0</hadIROM2>\n            <StupSel>8</StupSel>\n            <useUlib>0</useUlib>\n            <EndSel>0</EndSel>\n            <uLtcg>0</uLtcg>\n            <nSecure>0</nSecure>\n            <RoSelD>3</RoSelD>\n            <RwSelD>3</RwSelD>\n            <CodeSel>0</CodeSel>\n            <OptFeed>0</OptFeed>\n            <NoZi1>0</NoZi1>\n            <NoZi2>0</NoZi2>\n            <NoZi3>0</NoZi3>\n            <NoZi4>0</NoZi4>\n            <NoZi5>0</NoZi5>\n            <Ro1Chk>0</Ro1Chk>\n            <Ro2Chk>0</Ro2Chk>\n            <Ro3Chk>0</Ro3Chk>\n            <Ir1Chk>1</Ir1Chk>\n            <Ir2Chk>0</Ir2Chk>\n            <Ra1Chk>0</Ra1Chk>\n            <Ra2Chk>0</Ra2Chk>\n            <Ra3Chk>0</Ra3Chk>\n            <Im1Chk>1</Im1Chk>\n            <Im2Chk>0</Im2Chk>\n            <OnChipMemories>\n              <Ocm1>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm1>\n              <Ocm2>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm2>\n              <Ocm3>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm3>\n              <Ocm4>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm4>\n              <Ocm5>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm5>\n              <Ocm6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </Ocm6>\n              <IRAM>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </IRAM>\n              <IROM>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </IROM>\n              <XRAM>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </XRAM>\n              <OCR_RVCT1>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT1>\n              <OCR_RVCT2>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT2>\n              <OCR_RVCT3>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT3>\n              <OCR_RVCT4>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x40000</Size>\n              </OCR_RVCT4>\n              <OCR_RVCT5>\n                <Type>1</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT5>\n              <OCR_RVCT6>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT6>\n              <OCR_RVCT7>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT7>\n              <OCR_RVCT8>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT8>\n              <OCR_RVCT9>\n                <Type>0</Type>\n                <StartAddress>0x20000000</StartAddress>\n                <Size>0x8000</Size>\n              </OCR_RVCT9>\n              <OCR_RVCT10>\n                <Type>0</Type>\n                <StartAddress>0x0</StartAddress>\n                <Size>0x0</Size>\n              </OCR_RVCT10>\n            </OnChipMemories>\n            <RvctStartVector></RvctStartVector>\n          </ArmAdsMisc>\n          <Cads>\n            <interw>0</interw>\n            <Optim>7</Optim>\n            <oTime>0</oTime>\n            <SplitLS>0</SplitLS>\n            <OneElfS>1</OneElfS>\n            <Strict>0</Strict>\n            <EnumInt>0</EnumInt>\n            <PlainCh>0</PlainCh>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <wLevel>3</wLevel>\n            <uThumb>0</uThumb>\n            <uSurpInc>1</uSurpInc>\n            <uC99>0</uC99>\n            <uGnu>0</uGnu>\n            <useXO>0</useXO>\n            <v6Lang>3</v6Lang>\n            <v6LangP>3</v6LangP>\n            <vShortEn>1</vShortEn>\n            <vShortWch>1</vShortWch>\n            <v6Lto>0</v6Lto>\n            <v6WtE>0</v6WtE>\n            <v6Rtti>0</v6Rtti>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>NDEBUG __FPU_PRESENT</Define>\n              <Undefine></Undefine>\n              <IncludePath>..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang;..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include;..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl</IncludePath>\n            </VariousControls>\n          </Cads>\n          <Aads>\n            <interw>1</interw>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <thumb>0</thumb>\n            <SplitLS>0</SplitLS>\n            <SwStkChk>0</SwStkChk>\n            <NoWarn>0</NoWarn>\n            <uSurpInc>1</uSurpInc>\n            <useXO>0</useXO>\n            <uClangAs>0</uClangAs>\n            <VariousControls>\n              <MiscControls></MiscControls>\n              <Define>Stack_Size=1024 Heap_Size=0</Define>\n              <Undefine></Undefine>\n              <IncludePath></IncludePath>\n            </VariousControls>\n          </Aads>\n          <LDads>\n            <umfTarg>1</umfTarg>\n            <Ropi>0</Ropi>\n            <Rwpi>0</Rwpi>\n            <noStLib>0</noStLib>\n            <RepFail>1</RepFail>\n            <useFile>0</useFile>\n            <TextAddressRange>0x00000000</TextAddressRange>\n            <DataAddressRange>0x20000000</DataAddressRange>\n            <pXoBase></pXoBase>\n            <ScatterFile>pelican-qv.sct</ScatterFile>\n            <IncludeLibs></IncludeLibs>\n            <IncludeLibsPath></IncludeLibsPath>\n            <Misc>--entry Reset_Handler</Misc>\n            <LinkerInputFile></LinkerInputFile>\n            <DisabledWarnings></DisabledWarnings>\n          </LDads>\n        </TargetArmAds>\n      </TargetOption>\n      <Groups>\n        <Group>\n          <GroupName>Applicatioin</GroupName>\n          <Files>\n            <File>\n              <FileName>bsp.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\bsp.c</FilePath>\n            </File>\n            <File>\n              <FileName>main.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\main.c</FilePath>\n            </File>\n            <File>\n              <FileName>pelican.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\pelican.c</FilePath>\n            </File>\n            <File>\n              <FileName>pelican.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\pelican.h</FilePath>\n            </File>\n            <File>\n              <FileName>qpn_conf.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\qpn_conf.h</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>ek-tm4c123gxl</GroupName>\n          <Files>\n            <File>\n              <FileName>system_TM4C123GH6PM.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</FilePath>\n            </File>\n            <File>\n              <FileName>TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</FilePath>\n            </File>\n            <File>\n              <FileName>gpio.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\gpio.h</FilePath>\n            </File>\n            <File>\n              <FileName>rom.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\rom.h</FilePath>\n            </File>\n            <File>\n              <FileName>sysctl.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\sysctl.h</FilePath>\n            </File>\n            <File>\n              <FileName>system_TM4C123GH6PM.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</FilePath>\n            </File>\n            <File>\n              <FileName>startup_TM4C123GH6PM.s</FileName>\n              <FileType>2</FileType>\n              <FilePath>..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\arm\\startup_TM4C123GH6PM.s</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP</GroupName>\n          <Files>\n            <File>\n              <FileName>qepn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qepn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qfn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qfn\\qfn.c</FilePath>\n            </File>\n            <File>\n              <FileName>qvn.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\src\\qvn\\qvn.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n        <Group>\n          <GroupName>QP_port</GroupName>\n          <Files>\n            <File>\n              <FileName>qfn_port.h</FileName>\n              <FileType>5</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qfn_port.h</FilePath>\n            </File>\n            <File>\n              <FileName>qvn_port.c</FileName>\n              <FileType>1</FileType>\n              <FilePath>..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\armclang\\qvn_port.c</FilePath>\n            </File>\n          </Files>\n        </Group>\n      </Groups>\n    </Target>\n  </Targets>\n\n  <RTE>\n    <apis/>\n    <components/>\n    <files/>\n  </RTE>\n\n</Project>\n"
  },
  {
    "path": "examples/arm-cm/pelican_ek-tm4c123gxl/qv/bsp.c",
    "content": "/*****************************************************************************\n* Product: PELICAN on EK-TM4C123GXL board, cooperative QV kernel\n* Last Updated for Version: 5.6.0\n* Date of the Last Update:  2016-11-06\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"bsp.h\"\n#include \"pelican.h\"\n\n#include \"TM4C123GH6PM.h\"        /* the device specific header (TI) */\n#include \"rom.h\"                 /* the built-in ROM functions (TI) */\n#include \"sysctl.h\"              /* system control driver (TI) */\n#include \"gpio.h\"                /* GPIO driver (TI) */\n/* add other drivers if necessary... */\n\n//Q_DEFINE_THIS_FILE\n\n/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n* Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n* DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n*/\nenum KernelUnawareISRs { /* see NOTE00 */\n    /* ... */\n    MAX_KERNEL_UNAWARE_CMSIS_PRI  /* keep always last */\n};\n/* \"kernel-unaware\" interrupts can't overlap \"kernel-aware\" interrupts */\nQ_ASSERT_COMPILE(MAX_KERNEL_UNAWARE_CMSIS_PRI <= QF_AWARE_ISR_CMSIS_PRI);\n\nenum KernelAwareISRs {\n    SYSTICK_PRIO = QF_AWARE_ISR_CMSIS_PRI, /* see NOTE00 */\n    /* ... */\n    MAX_KERNEL_AWARE_CMSIS_PRI /* keep always last */\n};\n/* \"kernel-aware\" interrupts should not overlap the PendSV priority */\nQ_ASSERT_COMPILE(MAX_KERNEL_AWARE_CMSIS_PRI <= (0xFF >>(8-__NVIC_PRIO_BITS)));\n\n/* ISRs defined in this BSP ------------------------------------------------*/\nvoid SysTick_Handler(void);\nvoid GPIOPortA_IRQHandler(void);\n\n/* Local-scope objects -----------------------------------------------------*/\n#define LED_RED     (1U << 1)\n#define LED_GREEN   (1U << 3)\n#define LED_BLUE    (1U << 2)\n\n#define BTN_SW1     (1U << 4)\n#define BTN_SW2     (1U << 0)\n\n/* ISRs used in this project ===============================================*/\nvoid SysTick_Handler(void) {\n    /* state of the button debouncing, see below */\n    static struct ButtonsDebouncing {\n        uint32_t depressed;\n        uint32_t previous;\n    } buttons = { ~0U, ~0U };\n    uint32_t current;\n    uint32_t tmp;\n\n    QF_tickXISR(0U); /* process time events for rate 0 */\n\n    /* Perform the debouncing of buttons. The algorithm for debouncing\n    * adapted from the book \"Embedded Systems Dictionary\" by Jack Ganssle\n    * and Michael Barr, page 71.\n    */\n    current = ~GPIOF->DATA_Bits[BTN_SW1 | BTN_SW2]; /* read SW1 and SW2 */\n    tmp = buttons.depressed; /* save the debounced depressed buttons */\n    buttons.depressed |= (buttons.previous & current); /* set depressed */\n    buttons.depressed &= (buttons.previous | current); /* clear released */\n    buttons.previous   = current; /* update the history */\n    tmp ^= buttons.depressed;     /* changed debounced depressed */\n    if ((tmp & BTN_SW1) != 0U) {  /* debounced SW1 state changed? */\n        if ((buttons.depressed & BTN_SW1) != 0U) { /* is SW1 depressed? */\n            QACTIVE_POST_ISR((QActive *)&AO_Pelican, PEDS_WAITING_SIG, 0U);\n        }\n        else {            /* the button is released */\n        }\n    }\n}\n\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    /* NOTE: SystemInit() already called from the startup code\n    *  but SystemCoreClock needs to be updated\n    */\n    SystemCoreClockUpdate();\n\n    /* configure the FPU usage by choosing one of the options...\n    *\n    * Do NOT to use the automatic FPU state preservation and\n    * do NOT to use the FPU lazy stacking.\n    *\n    * NOTE:\n    * Use the following setting when FPU is used only by active objects\n    * and NOT in any ISR. This setting is very efficient, but if any ISRs\n    * start using the FPU, this can lead to corruption of the FPU registers.\n    */\n    FPU->FPCCR &= ~((1U << FPU_FPCCR_ASPEN_Pos) | (1U << FPU_FPCCR_LSPEN_Pos));\n\n    /* enable clock for to the peripherals used by this application... */\n    SYSCTL->RCGCGPIO |= (1U << 5); /* enable Run mode for GPIOF */\n\n    /* configure the LEDs and push buttons */\n    GPIOF->DIR |= (LED_RED | LED_GREEN | LED_BLUE);/* set direction: output */\n    GPIOF->DEN |= (LED_RED | LED_GREEN | LED_BLUE); /* digital enable */\n    GPIOF->DATA_Bits[LED_RED]   = 0;               /* turn the LED off */\n    GPIOF->DATA_Bits[LED_GREEN] = 0;               /* turn the LED off */\n    GPIOF->DATA_Bits[LED_BLUE]  = 0;               /* turn the LED off */\n\n    /* configure the Buttons */\n    GPIOF->DIR &= ~(BTN_SW1 | BTN_SW2); /*  set direction: input */\n    ROM_GPIOPadConfigSet(GPIOF_BASE, (BTN_SW1 | BTN_SW2),\n                         GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU);\n}\n/*..........................................................................*/\nvoid BSP_showState(char_t const *state) {\n    (void)state;\n}\n/*..........................................................................*/\nvoid BSP_signalCars(enum BSP_CarsSignal sig) {\n    switch (sig) {\n        case CARS_RED: {\n            //GPIOF->DATA_Bits[LED_RED] = LED_RED;\n            break;\n        }\n        case CARS_YELLOW: {\n            //GPIOF->DATA_Bits[LED_RED | LED_GREEN] = (LED_RED | LED_GREEN);\n            break;\n        }\n        case CARS_GREEN: {\n            //GPIOF->DATA_Bits[LED_GREEN] = LED_GREEN;\n            break;\n        }\n        case CARS_BLANK: {\n            //GPIOF->DATA_Bits[LED_RED | LED_GREEN | LED_BLUE] = 0U;\n            break;\n        }\n    }\n}\n/*..........................................................................*/\nvoid BSP_signalPeds(enum BSP_PedsSignal sig) {\n    switch (sig) {\n        case PEDS_DONT_WALK: {\n            GPIOF->DATA_Bits[LED_RED] = LED_RED;\n            break;\n        }\n        case PEDS_BLANK: {\n            GPIOF->DATA_Bits[LED_RED | LED_GREEN] = 0U;\n            break;\n        }\n        case PEDS_WALK: {\n            GPIOF->DATA_Bits[LED_RED | LED_GREEN] = LED_GREEN;\n            break;\n        }\n    }\n}\n\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    /* set up the SysTick timer to fire at BSP_TICKS_PER_SEC rate */\n    SysTick_Config(SystemCoreClock / BSP_TICKS_PER_SEC);\n\n    /* assing all priority bits for preemption-prio. and none to sub-prio. */\n    NVIC_SetPriorityGrouping(0U);\n\n    /* set priorities of ALL ISRs used in the system, see NOTE00\n    *\n    * !!!!!!!!!!!!!!!!!!!!!!!!!!!! CAUTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n    * Assign a priority to EVERY ISR explicitly by calling NVIC_SetPriority().\n    * DO NOT LEAVE THE ISR PRIORITIES AT THE DEFAULT VALUE!\n    */\n    NVIC_SetPriority(SysTick_IRQn,   SYSTICK_PRIO);\n    /* ... */\n\n    /* enable IRQs... */\n}\n/*..........................................................................*/\nvoid QF_stop(void) {\n}\n/*..........................................................................*/\nvoid QV_onIdle(void) { /* CATION: called with interrupts DISABLED, NOTE01 */\n    /* toggle LED2 on and then off, see NOTE02 */\n    GPIOF->DATA_Bits[LED_BLUE] = 0xFFU;\n    GPIOF->DATA_Bits[LED_BLUE] = 0x00U;\n\n#ifdef NDEBUG\n    /* Put the CPU and peripherals to the low-power mode.\n    * you might need to customize the clock management for your application,\n    * see the datasheet for your particular Cortex-M MCU.\n    */\n    QV_CPU_SLEEP();  /* atomically go to sleep and enable interrupts */\n#else\n    QF_INT_ENABLE(); /* just enable interrupts */\n#endif\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const module, int loc) {\n    /*\n    * NOTE: add here your application-specific error handling\n    */\n    (void)module;\n    (void)loc;\n\n    NVIC_SystemReset();\n}\n\n/*****************************************************************************\n* NOTE00:\n* The QF_AWARE_ISR_CMSIS_PRI constant from the QF port specifies the highest\n* ISR priority that is disabled by the QF framework. The value is suitable\n* for the NVIC_SetPriority() CMSIS function.\n*\n* Only ISRs prioritized at or below the QF_AWARE_ISR_CMSIS_PRI level (i.e.,\n* with the numerical values of priorities equal or higher than\n* QF_AWARE_ISR_CMSIS_PRI) are allowed to call any QF services. These ISRs\n* are \"QF-aware\".\n*\n* Conversely, any ISRs prioritized above the QF_AWARE_ISR_CMSIS_PRI priority\n* level (i.e., with the numerical values of priorities less than\n* QF_AWARE_ISR_CMSIS_PRI) are never disabled and are not aware of the kernel.\n* Such \"QF-unaware\" ISRs cannot call any QF services. The only mechanism\n* by which a \"QF-unaware\" ISR can communicate with the QF framework is by\n* triggering a \"QF-aware\" ISR, which can post/publish events.\n*\n* NOTE01:\n* The QV_onIdle() callback is called with interrupts disabled, because the\n* determination of the idle condition might change by any interrupt posting\n* an event. QV_onIdle() must internally enable interrupts, ideally\n* atomically with putting the CPU to the power-saving mode.\n*\n* NOTE02:\n* One of the LEDs is used to visualize the idle loop activity. The brightness\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n"
  },
  {
    "path": "examples/arm-cm/pelican_ek-tm4c123gxl/qv/gnu/Makefile",
    "content": "##############################################################################\n# Product: Makefile for QP-nano on EK-TM4C123GXL, QV-nano, GNU-ARM\n# Last Updated for Version: 6.5.0\n# Date of the Last Update:  2019-04-15\n#\n#                    Q u a n t u m  L e a P s\n#                    ------------------------\n#                    Modern Embedded Software\n#\n# Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# https://www.state-machine.com\n# mailto:info@state-machine.com\n##############################################################################\n# examples of invoking this Makefile:\n# building configurations: Debug (default), Release, and Spy\n# make\n# make CONF=rel\n#\n# cleaning configurations: Debug (default), Release, and Spy\n# make clean\n# make CONF=rel clean\n#\n# NOTE:\n# To use this Makefile on Windows, you will need the GNU make utility, which\n# is included in the Qtools collection for Windows, see:\n#    http://sourceforge.net/projects/qpc/files/Qtools/\n#\n\n#-----------------------------------------------------------------------------\n# project name\n#\nPROJECT     := pelican-qv\n\n#-----------------------------------------------------------------------------\n# project directories\n#\n\n# location of the QP-nano framework (if not provided in an environemnt var.)\nifeq ($(QPN),)\nQPN := ../../../../..\nendif\n\n# QP port used in this project\nQP_PORT_DIR := $(QPN)/ports/arm-cm/qv/gnu\n\n# list of all source directories used by this project\nVPATH = \\\n\t.. \\\n\t../.. \\\n\t$(QPN)/src/qfn \\\n\t$(QPN)/src/qvn \\\n\t$(QP_PORT_DIR) \\\n\t$(QPN)/3rd_party/ek-tm4c123gxl \\\n\t$(QPN)/3rd_party/ek-tm4c123gxl/gnu\n\n# list of all include directories needed by this project\nINCLUDES  = \\\n\t-I../.. \\\n\t-I$(QPN)/include \\\n\t-I$(QP_PORT_DIR) \\\n\t-I$(QPN)/3rd_party/CMSIS/Include \\\n\t-I$(QPN)/3rd_party/ek-tm4c123gxl\n\n#-----------------------------------------------------------------------------\n# files\n#\n\n# assembler source files\nASM_SRCS :=\n\n# C source files\nC_SRCS := \\\n\tpelican.c \\\n\tbsp.c \\\n\tmain.c \\\n\tsystem_TM4C123GH6PM.c \\\n\tstartup_TM4C123GH6PM.c\n\n# C++ source files\nCPP_SRCS :=\n\nOUTPUT    := $(PROJECT)\nLD_SCRIPT := $(PROJECT).ld\n\nQP_SRCS := \\\n\tqepn.c \\\n\tqfn.c \\\n\tqvn.c \\\n\tqvn_port.c\n\nQP_ASMS :=\n\nLIB_DIRS  :=\nLIBS      :=\n\n# defines\nDEFINES   :=\n\n# ARM CPU, ARCH, FPU, and Float-ABI types...\n# ARM_CPU:   [cortex-m0 | cortex-m0plus | cortex-m1 | cortex-m3 | cortex-m4]\n# ARM_ARCH:  [6 | 7] (NOTE: must match ARM_CPU!)\n# ARM_FPU:   [ | vfp]\n# FLOAT_ABI: [ | soft | softfp | hard]\n#\nARM_CPU   := -mcpu=cortex-m4\nARM_ARCH  := 7   # NOTE: must match the ARM_CPU!\nARM_FPU   := -mfpu=vfp\nFLOAT_ABI := -mfloat-abi=softfp\n\n#-----------------------------------------------------------------------------\n# GNU-ARM toolset (NOTE: You need to adjust to your machine)\n# see https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads\n#\nifeq ($(GNU_ARM),)\nGNU_ARM := $(QTOOLS)/gnu_arm-none-eabi\nendif\n\n# make sure that the GNU-ARM toolset exists...\nifeq (\"$(wildcard $(GNU_ARM))\",\"\")\n$(error GNU_ARM toolset not found. Please adjust the Makefile)\nendif\n\nCC    := $(GNU_ARM)/bin/arm-none-eabi-gcc\nCPP   := $(GNU_ARM)/bin/arm-none-eabi-g++\nAS    := $(GNU_ARM)/bin/arm-none-eabi-as\nLINK  := $(GNU_ARM)/bin/arm-none-eabi-g++\nBIN   := $(GNU_ARM)/bin/arm-none-eabi-objcopy\n\n\n##############################################################################\n# Typically, you should not need to change anything below this line\n\n# basic utilities (included in Qtools for Windows), see:\n#    http://sourceforge.net/projects/qpc/files/Qtools\n\nMKDIR := mkdir\nRM    := rm\n\n#-----------------------------------------------------------------------------\n# build options for various configurations for ARM Cortex-M\n#\n\n# combine all the soruces...\nC_SRCS += $(QP_SRCS)\nASM_SRCS += $(QP_ASMS)\n\nifeq (rel, $(CONF)) # Release configuration ..................................\n\nBIN_DIR := rel\n\nASFLAGS = $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O1 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nCPPFLAGS = -c $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O1 $(INCLUDES) $(DEFINES) -DNDEBUG\n\nelse # default Debug configuration ..........................................\n\nBIN_DIR := dbg\n\nASFLAGS = -g $(ARM_CPU) $(ARM_FPU) $(ASM_CPU) $(ASM_FPU)\n\nCFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections \\\n\t-O $(INCLUDES) $(DEFINES)\n\nCPPFLAGS = -c -g $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n\t-O $(INCLUDES) $(DEFINES)\n\nendif # ......................................................................\n\n\nLINKFLAGS = -T$(LD_SCRIPT) $(ARM_CPU) $(ARM_FPU) $(FLOAT_ABI) -mthumb \\\n\t-specs=nosys.specs -specs=nano.specs \\\n\t-Wl,-Map,$(BIN_DIR)/$(OUTPUT).map,--cref,--gc-sections $(LIB_DIRS)\n\n\nASM_OBJS     := $(patsubst %.s,%.o,  $(notdir $(ASM_SRCS)))\nC_OBJS       := $(patsubst %.c,%.o,  $(notdir $(C_SRCS)))\nCPP_OBJS     := $(patsubst %.cpp,%.o,$(notdir $(CPP_SRCS)))\n\nTARGET_BIN   := $(BIN_DIR)/$(OUTPUT).bin\nTARGET_ELF   := $(BIN_DIR)/$(OUTPUT).elf\nASM_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(ASM_OBJS))\nC_OBJS_EXT   := $(addprefix $(BIN_DIR)/, $(C_OBJS))\nC_DEPS_EXT   := $(patsubst %.o, %.d, $(C_OBJS_EXT))\nCPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))\nCPP_DEPS_EXT := $(patsubst %.o, %.d, $(CPP_OBJS_EXT))\n\n# create $(BIN_DIR) if it does not exist\nifeq (\"$(wildcard $(BIN_DIR))\",\"\")\n$(shell $(MKDIR) $(BIN_DIR))\nendif\n\n#-----------------------------------------------------------------------------\n# rules\n#\n\nall: $(TARGET_BIN)\n#all: $(TARGET_ELF)\n\n$(TARGET_BIN): $(TARGET_ELF)\n\t$(BIN) -O binary $< $@\n\n$(TARGET_ELF) : $(ASM_OBJS_EXT) $(C_OBJS_EXT) $(CPP_OBJS_EXT)\n\t$(CC) $(CFLAGS) $(QPN)/include/qstamp.c -o $(BIN_DIR)/qstamp.o\n\t$(LINK) $(LINKFLAGS) -o $@ $^ $(BIN_DIR)/qstamp.o $(LIBS)\n\n$(BIN_DIR)/%.d : %.c\n\t$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@\n\n$(BIN_DIR)/%.d : %.cpp\n\t$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@\n\n$(BIN_DIR)/%.o : %.s\n\t$(AS) $(ASFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.c\n\t$(CC) $(CFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.cpp\n\t$(CPP) $(CPPFLAGS) $< -o $@\n\n# include dependency files only if our goal depends on their existence\nifneq ($(MAKECMDGOALS),clean)\n  ifneq ($(MAKECMDGOALS),show)\n-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)\n  endif\nendif\n\n\n.PHONY : clean\nclean:\n\t-$(RM) $(BIN_DIR)/*.o \\\n\t$(BIN_DIR)/*.d \\\n\t$(BIN_DIR)/*.bin \\\n\t$(BIN_DIR)/*.elf \\\n\t$(BIN_DIR)/*.map\n\t\nshow:\n\t@echo PROJECT = $(PROJECT)\n\t@echo CONF = $(CONF)\n\t@echo DEFINES = $(DEFINES)\n\t@echo ASM_FPU = $(ASM_FPU)\n\t@echo ASM_SRCS = $(ASM_SRCS)\n\t@echo C_SRCS = $(C_SRCS)\n\t@echo CPP_SRCS = $(CPP_SRCS)\n\t@echo ASM_OBJS_EXT = $(ASM_OBJS_EXT)\n\t@echo C_OBJS_EXT = $(C_OBJS_EXT)\n\t@echo C_DEPS_EXT = $(C_DEPS_EXT)\n\t@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)\n\t@echo TARGET_ELF = $(TARGET_ELF)\n"
  },
  {
    "path": "examples/arm-cm/pelican_ek-tm4c123gxl/qv/gnu/README.txt",
    "content": "About this Example\n==================\nThis example can be built from the command prompt with the provided\nMakefile. The example can also be imported as a Makefile-based\nproject into Eclipse-based IDEs.\n\n\nThe Makefile\n============\nThe provided Makefile should be easy to adapt for your own projects.\nIt contains three build configurations: Debug (default), Release, and\nSpy.\n\nAlso, the Makefile has been specifically designed to work as an external\nMakefile with the Eclipse CDT.\n\nThe various build configurations are built as follows:\n\nmake\nmake CONF=rel\nmake CONF=spy\n\nmake clean\nmake CONF=rel clean\nmake CONF=spy clean\n\n***\nNOTE:\nThe installation folder of the GNU-ARM toolset on YOUR machine needs\nto be adjusted in the provided Makefile, by editing the symbol: GNU_ARM.\nAs described in the comment for this symbol, the GNU-ARM toolset is taken\nfrom: http://gnutoolchains.com/arm-eabi\n\nIt is highly recommened to use the same GNU-ARM distribution, especially\nfor ARM Cortex-M4F projects, due to the support for the hardware FPU\n(float-abi=hard).\n***\n\n\nAdjusting Stack and Heap Sizes\n==============================\nThe stack and heap sizes are determined in this project by the GCC linker\nscript (.ld file), which provides a template of the recommended GCC linker\nscript for QP applications.\n\n\nStartup Code\n============\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\ek-tm4c123gxl\\gcc\\startup_TM4C123GH6PM.c\n\nThe file startup_TM4C123GH6PM.c provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n"
  },
  {
    "path": "examples/arm-cm/pelican_ek-tm4c123gxl/qv/gnu/flash.bat",
    "content": "::============================================================================\n:: Batch file to program the flash of EK-TM4C123GXL\n:: \n:: NOTE: requires the LMFlash programmer (included in QTools for Windows)\n:: \n@echo off\nsetlocal\n\n@echo Load a given binary file to the flash of EK-TM4C123GXL\n@echo usage:   flash binary-file\n@echo example: flash dbg\\blinky-qk.bin\n\n::----------------------------------------------------------------------------\n:: NOTE: The following symbol LMFLASH assumes that LMFlash.exe can\n:: be found on the PATH. You might need to adjust this symbol to the\n:: location of the LMFlash utility on your machine\n::\nset LMFLASH=LMFlash.exe\n\nif [\"%~1\"]==[\"\"] (\n    @echo The binary file missing\n    @goto end\n)\nif not exist %~s1 (\n    @echo The binary file '%1' does not exist\n    @goto end\n)\n\n%LMFLASH% -q ek-tm4c123gxl -e -v -r %1\n\n:end\n\nendlocal"
  },
  {
    "path": "examples/arm-cm/pelican_ek-tm4c123gxl/qv/gnu/pelican-qv.ld",
    "content": "/*****************************************************************************\n* Product: Linker script for EK-TM4C123GXL, GNU-ARM linker\n* Last Updated for Version: 5.9.8\n* Date of the Last Update:  2017-09-13\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <http://www.gnu.org/licenses/>.\n*\n* Contact information:\n* Web  : http://www.state-machine.com\n* Email: info@state-machine.com\n*****************************************************************************/\nOUTPUT_FORMAT(\"elf32-littlearm\", \"elf32-bigarm\", \"elf32-littlearm\")\nOUTPUT_ARCH(arm)\nENTRY(Reset_Handler) /* entry Point */\n\nMEMORY { /* memory map of Tiva TM4C123GH6PM */\n    ROM (rx)  : ORIGIN = 0x00000000, LENGTH = 256K\n    RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K\n}\n\n/* The size of the stack used by the application. NOTE: you need to adjust  */\nSTACK_SIZE = 1024;\n\n/* The size of the heap used by the application. NOTE: you need to adjust   */\nHEAP_SIZE = 0;\n\nSECTIONS {\n\n    .isr_vector : {        /* the vector table goes FIRST into ROM */\n        KEEP(*(.isr_vector)) /* vector table */\n        . = ALIGN(4);\n    } >ROM\n\n    .text : {              /* code and constants */\n        . = ALIGN(4);\n        *(.text)           /* .text sections (code) */\n        *(.text*)          /* .text* sections (code) */\n        *(.rodata)         /* .rodata sections (constants, strings, etc.) */\n        *(.rodata*)        /* .rodata* sections (constants, strings, etc.) */\n\n        KEEP (*(.init))\n        KEEP (*(.fini))\n\n        . = ALIGN(4);\n    } >ROM\n\n    .preinit_array : {\n        PROVIDE_HIDDEN (__preinit_array_start = .);\n        KEEP (*(.preinit_array*))\n        PROVIDE_HIDDEN (__preinit_array_end = .);\n    } >ROM\n\n    .init_array : {\n        PROVIDE_HIDDEN (__init_array_start = .);\n        KEEP (*(SORT(.init_array.*)))\n        KEEP (*(.init_array*))\n        PROVIDE_HIDDEN (__init_array_end = .);\n    } >ROM\n\n    .fini_array : {\n        PROVIDE_HIDDEN (__fini_array_start = .);\n        KEEP (*(.fini_array*))\n        KEEP (*(SORT(.fini_array.*)))\n        PROVIDE_HIDDEN (__fini_array_end = .);\n    } >ROM\n\n    _etext = .;            /* global symbols at end of code */\n\n    .stack : {\n        __stack_start__ = .;\n        . = . + STACK_SIZE;\n        . = ALIGN(4);\n        __stack_end__ = .;\n    } >RAM\n\n    .data :  AT (_etext) {\n        __data_load = LOADADDR (.data);\n        __data_start = .;\n        *(.data)           /* .data sections */\n        *(.data*)          /* .data* sections */\n        . = ALIGN(4);\n        __data_end__ = .;\n        _edata = __data_end__;\n    } >RAM\n\n    .bss : {\n        __bss_start__ = .;\n        *(.bss)\n        *(.bss*)\n        *(COMMON)\n        . = ALIGN(4);\n        _ebss = .;         /* define a global symbol at bss end */\n        __bss_end__ = .;\n    } >RAM\n\n    __exidx_start = .;\n    .ARM.exidx   : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } >RAM\n    __exidx_end = .;\n\n    PROVIDE ( end = _ebss );\n    PROVIDE ( _end = _ebss );\n    PROVIDE ( __end__ = _ebss );\n\n    .heap : {\n        __heap_start__ = .;\n        . = . + HEAP_SIZE;\n        . = ALIGN(4);\n        __heap_end__ = .;\n    } >RAM\n\n    /* Remove information from the standard libraries */\n    /DISCARD/ : {\n        libc.a ( * )\n        libm.a ( * )\n        libgcc.a ( * )\n    }\n}\n"
  },
  {
    "path": "examples/arm-cm/pelican_ek-tm4c123gxl/qv/iar/README.txt",
    "content": "About this Example\n==================\nThis example demonstrates how to use the IAR EWARM IDE to build\na QP application.\n\n\nIAR Project File\n----------------\nThe IAR EWARM project file provided with this example uses relative paths\nto the QP-nano framework location. These relative paths must be modified\nwhen the project is moved to different relative location.\n\n\nStack Size and Heap Size\n------------------------\nIn this project, the size of the C stack and heap are determined in\nthe linker script pelican-qv.icf (see the next section).\n\n\nLinker Script\n-------------\nThe IAR linker script provides a template of the recommended linker script\nfor QP applications. This file needs to be customized to set the\napplication-specific sizes of the Stack and Heap. This file can be edited\nfrom the IAR EWARM IDE via the Project Options/Linker settings.\n\n\nStartup Code\n------------\nThe startup code for the TM4C123GH6PM MCU used in this project is\nlocated in the \"3rd_party\" folder in the following location:\n\n3rd_party\\ek-tm4c123gxl\\iar\\startup_TM4C123GH6PM.s\n\nThe file startup_TM4C123GH6PM.s provides a template of the recommended\nstartup for QP applications and should be easily customizable for other\nARM Cortex-M microcontrollers.\n\nThe startup file typically does not need to be modified or adapted for\napplications. It provides only weak definitions of all exception and\ninterrupt handlers, as well as the assert_failed() function.\n\nThe weak function assert_failed() defined in this file might be re-defined\nin the application to customize it for the application-specific error-\nhandling policy.\n\n***\nNOTE: The function assert_failed() typically should NOT use the stack,\nbecause stack might be corrupted by the time this function is called.\nAlso, assert_failed() is intended to handle catastrophic errors and\nshould NOT return.\n***\n"
  },
  {
    "path": "examples/arm-cm/pelican_ek-tm4c123gxl/qv/iar/pelican-qv.ewd",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project>\n    <fileVersion>3</fileVersion>\n    <configuration>\n        <name>Debug</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>1</debug>\n        <settings>\n            <name>C-SPY</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCVariant</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>MemOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MemFile</name>\n                    <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\TexasInstruments\\TM4C123GH6PM.ddf</state>\n                </option>\n                <option>\n                    <name>RunToEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RunToName</name>\n                    <state>main</state>\n                </option>\n                <option>\n                    <name>CExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDDFArgumentProducer</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadSuppressDownload</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDownloadVerifyAll</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCProductVersion</name>\n                    <state>7.40.2.8567</state>\n                </option>\n                <option>\n                    <name>OCDynDriverList</name>\n                    <state>LMIFTDI_ID</state>\n                </option>\n                <option>\n                    <name>OCLastSavedByProductVersion</name>\n                    <state>8.11.1.13270</state>\n                </option>\n                <option>\n                    <name>UseFlashLoader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CLowLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CDevice</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>FlashLoadersV3</name>\n                    <state>$TOOLKIT_DIR$\\config\\flashloader\\TexasInstruments\\FlashTC4_H6_o.board</state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OverrideDefFlashBoard</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesOffset1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesUse1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDeviceConfigMacroFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDebuggerExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAllMTBOptions</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreNrOfCores</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreMaster</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCMulticorePort</name>\n                    <state>53461</state>\n                </option>\n                <option>\n                    <name>OCMulticoreWorkspace</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveProject</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveConfiguration</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadExtraImage</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAttachSlave</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ARMSIM_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCSimDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCSimEnablePSP</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspOverrideConfig</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspConfigFile</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CADI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCadiMemory</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Fast Model</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCADILogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCADILogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CMSISDAP_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CMSISDAPResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>CMSISDAPDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CMSISDAPProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>GDBSERVER_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJTagBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IJET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>8</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>IjetPowerFromProbe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPowerRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetProtocolRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPin</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPrescalerList</name>\n                    <version>1</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IjetProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPreferETB</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetTraceSettingsList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetTraceSizeList</name>\n                    <version>0</version>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>FlashBoardPathSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>JLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>16</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>JLinkSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJLinkHWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>JLinkInitialSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCDoJlinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkCommRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>CCJLinkSpeedRadioV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCUSBDevice</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkResetList</name>\n                    <version>6</version>\n                    <state>5</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCTcpIpAlt</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTcpIpSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSourceDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkDeviceName</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>LMIFTDI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>2</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>LmiftdiSpeed</name>\n                    <state>500</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>PEMICRO_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>3</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJPEMicroShowSettings</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>STLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkResetList</name>\n                    <version>3</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDAPNumber</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkDebugAccessPortRadio</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>THIRDPARTY_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CThirdPartyDriverDll</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>TIFET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVccTypeDefault</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVoltage</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CCMSPFetVCCDefault</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetSettlingtime</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioJtagSpeedType</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetConnection</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetUsbComPort</name>\n                    <state>Automatic</state>\n                </option>\n                <option>\n                    <name>CCMSPFetAllowAccessToBSL</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioEraseFlash</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>XDS100_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>6</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TIPackageOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TIPackage</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>BoardFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCXds100BreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100DoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CpuClockEdit</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockEdit</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCXds100HWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100JtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ProbeList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPortRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPort</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <debuggerPlugins>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n                <loadFlag>1</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n        </debuggerPlugins>\n    </configuration>\n    <configuration>\n        <name>Release</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>0</debug>\n        <settings>\n            <name>C-SPY</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCVariant</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>MemOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MemFile</name>\n                    <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\TexasInstruments\\TM4C123GH6PM.ddf</state>\n                </option>\n                <option>\n                    <name>RunToEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RunToName</name>\n                    <state>main</state>\n                </option>\n                <option>\n                    <name>CExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDDFArgumentProducer</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadSuppressDownload</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDownloadVerifyAll</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCProductVersion</name>\n                    <state>7.40.2.8567</state>\n                </option>\n                <option>\n                    <name>OCDynDriverList</name>\n                    <state>LMIFTDI_ID</state>\n                </option>\n                <option>\n                    <name>OCLastSavedByProductVersion</name>\n                    <state>7.40.2.8567</state>\n                </option>\n                <option>\n                    <name>UseFlashLoader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CLowLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CDevice</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>FlashLoadersV3</name>\n                    <state>$TOOLKIT_DIR$\\config\\flashloader\\TexasInstruments\\FlashTC4_H6_o.board</state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OverrideDefFlashBoard</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesOffset1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesUse1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDeviceConfigMacroFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDebuggerExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAllMTBOptions</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreNrOfCores</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreMaster</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCMulticorePort</name>\n                    <state>53461</state>\n                </option>\n                <option>\n                    <name>OCMulticoreWorkspace</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveProject</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveConfiguration</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadExtraImage</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAttachSlave</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ARMSIM_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCSimDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCSimEnablePSP</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspOverrideConfig</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspConfigFile</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CADI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCadiMemory</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Fast Model</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCADILogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCADILogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CMSISDAP_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CMSISDAPResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>CMSISDAPDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CMSISDAPProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>GDBSERVER_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJTagBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IJET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>8</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>IjetPowerFromProbe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPowerRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetProtocolRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPin</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPrescalerList</name>\n                    <version>1</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IjetProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPreferETB</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetTraceSettingsList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetTraceSizeList</name>\n                    <version>0</version>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>FlashBoardPathSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>JLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>16</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>JLinkSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJLinkHWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>JLinkInitialSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCDoJlinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkCommRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>CCJLinkSpeedRadioV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCUSBDevice</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkResetList</name>\n                    <version>6</version>\n                    <state>5</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCTcpIpAlt</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTcpIpSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSourceDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkDeviceName</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>LMIFTDI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>2</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>LmiftdiSpeed</name>\n                    <state>500</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>PEMICRO_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>3</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJPEMicroShowSettings</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>STLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkResetList</name>\n                    <version>3</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDAPNumber</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkDebugAccessPortRadio</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>THIRDPARTY_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CThirdPartyDriverDll</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>TIFET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVccTypeDefault</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVoltage</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CCMSPFetVCCDefault</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetSettlingtime</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioJtagSpeedType</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetConnection</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetUsbComPort</name>\n                    <state>Automatic</state>\n                </option>\n                <option>\n                    <name>CCMSPFetAllowAccessToBSL</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioEraseFlash</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>XDS100_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>6</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TIPackageOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TIPackage</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>BoardFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCXds100BreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100DoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CpuClockEdit</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockEdit</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCXds100HWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100JtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ProbeList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPortRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPort</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <debuggerPlugins>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n                <loadFlag>1</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n        </debuggerPlugins>\n    </configuration>\n</project>\n"
  },
  {
    "path": "examples/arm-cm/pelican_ek-tm4c123gxl/qv/iar/pelican-qv.ewp",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project>\n    <fileVersion>3</fileVersion>\n    <configuration>\n        <name>Debug</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>1</debug>\n        <settings>\n            <name>General</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>ExePath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>ObjPath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>ListPath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>GEndianMode</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>Input description</name>\n                    <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n                </option>\n                <option>\n                    <name>Output description</name>\n                    <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n                </option>\n                <option>\n                    <name>GOutputBinary</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCoreOrChip</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelect</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelectSlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RTDescription</name>\n                    <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n                </option>\n                <option>\n                    <name>OGProductVersion</name>\n                    <state>5.11.0.50579</state>\n                </option>\n                <option>\n                    <name>OGLastSavedByProductVersion</name>\n                    <state>8.11.1.13270</state>\n                </option>\n                <option>\n                    <name>GeneralEnableMisra</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVerbose</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGChipSelectEditMenu</name>\n                    <state>TM4C123GH6PM\tTexasInstruments TM4C123GH6PM</state>\n                </option>\n                <option>\n                    <name>GenLowLevelInterface</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GEndianModeBE</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OGBufferedTerminalOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenStdoutInterface</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>RTConfigPath2</name>\n                    <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n                </option>\n                <option>\n                    <name>GBECoreSlave</name>\n                    <version>25</version>\n                    <state>40</state>\n                </option>\n                <option>\n                    <name>OGUseCmsis</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsisDspLib</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibThreads</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CoreVariant</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>GFPUDeviceSlave</name>\n                    <state>TM4C123GH6PM\tTexasInstruments TM4C123GH6PM</state>\n                </option>\n                <option>\n                    <name>FPU2</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>NrRegs</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>NEON</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUCoreSlave2</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>OGCMSISPackSelectDevice</name>\n                </option>\n                <option>\n                    <name>OgLibHeap</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGLibAdditionalLocale</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGPrintfVariant</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>OGPrintfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGScanfVariant</name>\n                    <version>0</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OGScanfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenLocaleTags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>GenLocaleDisplayOnly</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ICCARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>34</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCOptimizationNoSizeConstraints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCPreprocFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocComments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMnemonics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMessages</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDiagSuppress</name>\n                    <state>Pa050</state>\n                </option>\n                <option>\n                    <name>CCDiagRemark</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagWarning</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagError</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCAllowList</name>\n                    <version>1</version>\n                    <state>00000000</state>\n                </option>\n                <option>\n                    <name>CCDebugInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IEndianMode</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCLangConformance</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSignedPlainChar</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRequirePrototypes</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCDiagWarnAreErr</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCompilerRuntimeInfo</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>CCLibConfigHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>PreInclude</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CompilerMisraOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIncludePath2</name>\n                    <state>$PROJ_DIR$\\..</state>\n                    <state>$PROJ_DIR$\\..\\..</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl</state>\n                </option>\n                <option>\n                    <name>CCStdIncCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCodeSection</name>\n                    <state>.text</state>\n                </option>\n                <option>\n                    <name>IProcessorMode2</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptStrategy</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevelSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>CCPosIndRopi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndRwpi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndNoDynInit</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccLang</name>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>IccCDialect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccAllowVLA</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccStaticDestr</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCppInlineSemantics</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccFloatSemantics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCOptStrategySlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCGuardCalls</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccExceptions2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccRTTI2</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>AARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>10</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>AObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>ACaseSensitivity</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacroChars</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnWhat</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnOne</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>ADebug</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AltRegisterNames</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ADefines</name>\n                    <state>ewarm</state>\n                </option>\n                <option>\n                    <name>AList</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AListHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AListing</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Includes</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacDefs</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacExps</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacExec</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OnlyAssed</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MultiLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLengthCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLength</name>\n                    <state>80</state>\n                </option>\n                <option>\n                    <name>TabSpacing</name>\n                    <state>8</state>\n                </option>\n                <option>\n                    <name>AXRef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDefines</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefInternal</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDual</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AOutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsEdit</name>\n                    <state>100</state>\n                </option>\n                <option>\n                    <name>AIgnoreStdInclude</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AUserIncludes</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AExtraOptionsCheckV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AExtraOptionsV2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AsmNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>OBJCOPY</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OOCOutputFormat</name>\n                    <version>3</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OCOutputOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OOCOutputFile</name>\n                    <state>pelican-qv.bin</state>\n                </option>\n                <option>\n                    <name>OOCCommandLineProducer</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OOCObjCopyEnable</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CUSTOM</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <extensions></extensions>\n                <cmdline></cmdline>\n                <hasPrio>0</hasPrio>\n            </data>\n        </settings>\n        <settings>\n            <name>BICOMP</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>BUILDACTION</name>\n            <archiveVersion>1</archiveVersion>\n            <data>\n                <prebuild></prebuild>\n                <postbuild></postbuild>\n            </data>\n        </settings>\n        <settings>\n            <name>ILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>20</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>IlinkLibIOConfig</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>XLinkMisraHandler</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkInputFileSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOutputFile</name>\n                    <state>pelican-qv.out</state>\n                </option>\n                <option>\n                    <name>IlinkDebugInfoEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkKeepSymbols</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkConfigDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkMapFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogInitialization</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogModule</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogSection</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogVeneer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfOverride</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile</name>\n                    <state>$PROJ_DIR$\\pelican-qv.icf</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFileSlave</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkSuppressDiags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsRem</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsWarn</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsErr</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkWarningsAreErrors</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkUseExtraOptions</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkLowLevelInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAutoLibEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAdditionalLibs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkOverrideProgramEntryLabel</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabelSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabel</name>\n                    <state>__iar_program_start</state>\n                </option>\n                <option>\n                    <name>DoFill</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>FillerByte</name>\n                    <state>0xFF</state>\n                </option>\n                <option>\n                    <name>FillerStart</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>FillerEnd</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>CrcSize</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcAlign</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcPoly</name>\n                    <state>0x11021</state>\n                </option>\n                <option>\n                    <name>CrcCompl</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcBitOrder</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcInitialValue</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>DoCrc</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkBufferedTerminalOutput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkStdoutInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcFullSize</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIElfToolPostProcess</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogAutoLibSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogRedirSymbols</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogUnusedFragments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcReverseByteOrder</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcUseAsInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptInline</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsAllow</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsForce</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptMergeDuplSections</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptUseVfe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptForceVfe</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackAnalysisEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackControlFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkStackCallGraphFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CrcAlgorithm</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcUnitSize</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkThreadsSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogCallGraph</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile_AltDefault</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkHeapSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLocaleSelect</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IARCHIVE</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>IarchiveInputs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IarchiveOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IarchiveOutput</name>\n                    <state>###Unitialized###</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>BILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>Coder</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n    </configuration>\n    <configuration>\n        <name>Release</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>0</debug>\n        <settings>\n            <name>General</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>ExePath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>ObjPath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>ListPath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>GEndianMode</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>Input description</name>\n                    <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n                </option>\n                <option>\n                    <name>Output description</name>\n                    <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n                </option>\n                <option>\n                    <name>GOutputBinary</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCoreOrChip</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelect</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelectSlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RTDescription</name>\n                    <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n                </option>\n                <option>\n                    <name>OGProductVersion</name>\n                    <state>5.11.0.50579</state>\n                </option>\n                <option>\n                    <name>OGLastSavedByProductVersion</name>\n                    <state>7.70.1.11471</state>\n                </option>\n                <option>\n                    <name>GeneralEnableMisra</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVerbose</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGChipSelectEditMenu</name>\n                    <state>TM4C123GH6PM\tTexasInstruments TM4C123GH6PM</state>\n                </option>\n                <option>\n                    <name>GenLowLevelInterface</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GEndianModeBE</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OGBufferedTerminalOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenStdoutInterface</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>RTConfigPath2</name>\n                    <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n                </option>\n                <option>\n                    <name>GBECoreSlave</name>\n                    <version>25</version>\n                    <state>40</state>\n                </option>\n                <option>\n                    <name>OGUseCmsis</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsisDspLib</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibThreads</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CoreVariant</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>GFPUDeviceSlave</name>\n                    <state>TM4C123GH6PM\tTexasInstruments TM4C123GH6PM</state>\n                </option>\n                <option>\n                    <name>FPU2</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>NrRegs</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>NEON</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUCoreSlave2</name>\n                    <version>25</version>\n                    <state>39</state>\n                </option>\n                <option>\n                    <name>OGCMSISPackSelectDevice</name>\n                </option>\n                <option>\n                    <name>OgLibHeap</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGLibAdditionalLocale</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGPrintfVariant</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>OGPrintfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGScanfVariant</name>\n                    <version>0</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OGScanfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenLocaleTags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>GenLocaleDisplayOnly</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ICCARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>34</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCOptimizationNoSizeConstraints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDefines</name>\n                    <state>NDEBUG</state>\n                </option>\n                <option>\n                    <name>CCPreprocFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocComments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMnemonics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMessages</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDiagSuppress</name>\n                    <state>Pa050</state>\n                </option>\n                <option>\n                    <name>CCDiagRemark</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagWarning</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagError</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCAllowList</name>\n                    <version>1</version>\n                    <state>11111110</state>\n                </option>\n                <option>\n                    <name>CCDebugInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IEndianMode</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCLangConformance</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSignedPlainChar</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRequirePrototypes</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCDiagWarnAreErr</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCompilerRuntimeInfo</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>CCLibConfigHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>PreInclude</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CompilerMisraOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIncludePath2</name>\n                    <state>$PROJ_DIR$\\..</state>\n                    <state>$PROJ_DIR$\\..\\..</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\CMSIS\\Include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl</state>\n                </option>\n                <option>\n                    <name>CCStdIncCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCodeSection</name>\n                    <state>.text</state>\n                </option>\n                <option>\n                    <name>IProcessorMode2</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevel</name>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>CCOptStrategy</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevelSlave</name>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>CCPosIndRopi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndRwpi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndNoDynInit</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccLang</name>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>IccCDialect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccAllowVLA</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccStaticDestr</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCppInlineSemantics</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccFloatSemantics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCOptStrategySlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCGuardCalls</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccExceptions2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccRTTI2</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>AARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>10</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>AObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>ACaseSensitivity</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacroChars</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnWhat</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnOne</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>ADebug</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AltRegisterNames</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ADefines</name>\n                    <state>ewarm</state>\n                </option>\n                <option>\n                    <name>AList</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AListHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AListing</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Includes</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacDefs</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacExps</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacExec</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OnlyAssed</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MultiLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLengthCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLength</name>\n                    <state>80</state>\n                </option>\n                <option>\n                    <name>TabSpacing</name>\n                    <state>8</state>\n                </option>\n                <option>\n                    <name>AXRef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDefines</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefInternal</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDual</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AOutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsEdit</name>\n                    <state>100</state>\n                </option>\n                <option>\n                    <name>AIgnoreStdInclude</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AUserIncludes</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AExtraOptionsCheckV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AExtraOptionsV2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AsmNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>OBJCOPY</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OOCOutputFormat</name>\n                    <version>3</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OCOutputOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OOCOutputFile</name>\n                    <state>pelican-qv.bin</state>\n                </option>\n                <option>\n                    <name>OOCCommandLineProducer</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OOCObjCopyEnable</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CUSTOM</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <extensions></extensions>\n                <cmdline></cmdline>\n                <hasPrio>0</hasPrio>\n            </data>\n        </settings>\n        <settings>\n            <name>BICOMP</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>BUILDACTION</name>\n            <archiveVersion>1</archiveVersion>\n            <data>\n                <prebuild></prebuild>\n                <postbuild></postbuild>\n            </data>\n        </settings>\n        <settings>\n            <name>ILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>20</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>IlinkLibIOConfig</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>XLinkMisraHandler</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkInputFileSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOutputFile</name>\n                    <state>pelican-qv.out</state>\n                </option>\n                <option>\n                    <name>IlinkDebugInfoEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkKeepSymbols</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkConfigDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkMapFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogInitialization</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogModule</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogSection</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogVeneer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfOverride</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile</name>\n                    <state>$PROJ_DIR$\\pelican-qv.icf</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFileSlave</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkSuppressDiags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsRem</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsWarn</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsErr</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkWarningsAreErrors</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkUseExtraOptions</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkLowLevelInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAutoLibEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAdditionalLibs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkOverrideProgramEntryLabel</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabelSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabel</name>\n                    <state>__iar_program_start</state>\n                </option>\n                <option>\n                    <name>DoFill</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>FillerByte</name>\n                    <state>0xFF</state>\n                </option>\n                <option>\n                    <name>FillerStart</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>FillerEnd</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>CrcSize</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcAlign</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcPoly</name>\n                    <state>0x11021</state>\n                </option>\n                <option>\n                    <name>CrcCompl</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcBitOrder</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcInitialValue</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>DoCrc</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkBufferedTerminalOutput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkStdoutInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcFullSize</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIElfToolPostProcess</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogAutoLibSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogRedirSymbols</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogUnusedFragments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcReverseByteOrder</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcUseAsInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptInline</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsAllow</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsForce</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptMergeDuplSections</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptUseVfe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptForceVfe</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackAnalysisEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackControlFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkStackCallGraphFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CrcAlgorithm</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcUnitSize</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkThreadsSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogCallGraph</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile_AltDefault</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkHeapSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLocaleSelect</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IARCHIVE</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>IarchiveInputs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IarchiveOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IarchiveOutput</name>\n                    <state>###Unitialized###</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>BILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>Coder</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n    </configuration>\n    <group>\n        <name>Application</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\bsp.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\bsp.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\main.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\pelican.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\pelican.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\qpn_conf.h</name>\n        </file>\n    </group>\n    <group>\n        <name>ek-tm4c123gxl</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\iar\\startup_TM4C123GH6PM.s</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\system_TM4C123GH6PM.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\ek-tm4c123gxl\\TM4C123GH6PM.h</name>\n        </file>\n    </group>\n    <group>\n        <name>QP</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qepn.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qfn.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qvn\\qvn.c</name>\n        </file>\n    </group>\n    <group>\n        <name>QP_port</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar\\qfn_port.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm-cm\\qv\\iar\\qvn_port.c</name>\n        </file>\n    </group>\n</project>\n"
  },
  {
    "path": "examples/arm-cm/pelican_ek-tm4c123gxl/qv/iar/pelican-qv.eww",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<workspace>\n  <project>\n    <path>$WS_DIR$\\pelican-qv.ewp</path>\n  </project>\n  <batchBuild/>\n</workspace>\n\n\n"
  },
  {
    "path": "examples/arm-cm/pelican_ek-tm4c123gxl/qv/iar/pelican-qv.icf",
    "content": "/*###ICF### Section handled by ICF editor, don't touch! ****/\n/*-Editor annotation file-*/\n/* IcfEditorFile=\"$TOOLKIT_DIR$\\config\\ide\\IcfEditor\\cortex_v1_0.xml\" */\n/*-Specials-*/\ndefine symbol __ICFEDIT_intvec_start__ = 0x00000000;\n/*-Memory Regions-*/\ndefine symbol __ICFEDIT_region_ROM_start__ = 0x00000000;\ndefine symbol __ICFEDIT_region_ROM_end__   = 0x0003FFFF;\ndefine symbol __ICFEDIT_region_RAM_start__ = 0x20000000;\ndefine symbol __ICFEDIT_region_RAM_end__   = 0x20007FFF;\n/*-Sizes-*/\ndefine symbol __ICFEDIT_size_cstack__ = 1024;\ndefine symbol __ICFEDIT_size_heap__   = 0;\n/**** End of ICF editor section. ###ICF###*/\n\ndefine memory mem with size = 4G;\ndefine region ROM_region   = mem:[from __ICFEDIT_region_ROM_start__   to __ICFEDIT_region_ROM_end__];\ndefine region RAM_region   = mem:[from __ICFEDIT_region_RAM_start__   to __ICFEDIT_region_RAM_end__];\n\ndefine block CSTACK    with alignment = 8, size = __ICFEDIT_size_cstack__   { };\ndefine block HEAP      with alignment = 8, size = __ICFEDIT_size_heap__     { };\n\ninitialize by copy { readwrite };\ndo not initialize  { section .noinit };\n\nplace at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };\nplace in ROM_region   { readonly };\nplace at start of RAM_region {block CSTACK }; \nplace in RAM_region   { readwrite, block HEAP  };"
  },
  {
    "path": "examples/arm7-9/README.url",
    "content": "[InternetShortcut]\nURL=http://www.state-machine.com/qpn/exa_arm7-9.html\nIconFile=http://www.state-machine.com/qp.ico\n"
  },
  {
    "path": "examples/arm7-9/dpp_at91sam7s-ek/README.url",
    "content": "[InternetShortcut]\nURL=http://www.state-machine.com/qpn/arm7-9_dpp_at91sam7s-ek.html\nIconFile=http://www.state-machine.com/qp.ico\n"
  },
  {
    "path": "examples/arm7-9/dpp_at91sam7s-ek/bsp.h",
    "content": "/*****************************************************************************\n* Product: DPP example\n* Last Updated for Version: 5.4.0\n* Date of the Last Update:  2015-03-07\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* Web  : www.state-machine.com\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BSP_H\n#define BSP_H\n\n#define BSP_TICKS_PER_SEC    100U\n\nvoid BSP_init(void);\nvoid BSP_displayPaused(uint8_t paused);\nvoid BSP_displayPhilStat(uint8_t n, char_t const *stat);\nvoid BSP_terminate(int16_t result);\n\nvoid BSP_randomSeed(uint32_t seed);   /* random seed */\nuint32_t BSP_random(void);            /* pseudo-random generator */\n\n#endif /* BSP_H */\n"
  },
  {
    "path": "examples/arm7-9/dpp_at91sam7s-ek/dpp.h",
    "content": "/*.$file${.::dpp.h} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: dpp.qm\n* File:  ${.::dpp.h}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::dpp.h} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#ifndef DPP_H\n#define DPP_H\n\nenum DPPSignals {\n    EAT_SIG = Q_USER_SIG, /* published by Table to let a philosopher eat */\n    DONE_SIG,             /* published by Philosopher when done eating */\n    PAUSE_SIG,            /* published by BSP to pause the application */\n    SERVE_SIG,            /* published by BSP to pause the application */\n    TERMINATE_SIG,        /* published by BSP to terminate the application */\n    HUNGRY_SIG,           /* posted direclty to Table from hungry Philo */\n    MAX_SIG               /* the last signal */\n};\n\n/* number of philosophers */\n#define N_PHILO ((uint8_t)5)\n#define PHILO_0_PRIO 1\n\n/*.$declare${AOs::AO_Philo0} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo0;\n/*.$enddecl${AOs::AO_Philo0} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo1} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo1;\n/*.$enddecl${AOs::AO_Philo1} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo2} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo2;\n/*.$enddecl${AOs::AO_Philo2} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo3} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo3;\n/*.$enddecl${AOs::AO_Philo3} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo4} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo4;\n/*.$enddecl${AOs::AO_Philo4} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Table AO_Table;\n/*.$enddecl${AOs::AO_Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/*.$declare${AOs::Philo_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo_ctor} ......................................................*/\nvoid Philo_ctor(void);\n/*.$enddecl${AOs::Philo_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::Table_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table_ctor} ......................................................*/\nvoid Table_ctor(void);\n/*.$enddecl${AOs::Table_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n#endif /* DPP_H */\n"
  },
  {
    "path": "examples/arm7-9/dpp_at91sam7s-ek/dpp.qm",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<model version=\"4.6.0\" links=\"1\">\n <documentation>Dining Philosopher Problem example with QActive</documentation>\n <!--${qpn}-->\n <framework name=\"qpn\"/>\n <!--${AOs}-->\n <package name=\"AOs\" stereotype=\"0x02\">\n  <!--${AOs::Philo}-->\n  <class name=\"Philo\" superclass=\"qpn::QActive\">\n   <!--${AOs::Philo::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${AOs::Philo::SM::initial}-->\n    <initial target=\"../1\">\n     <initial_glyph conn=\"2,3,5,1,20,5,-3\">\n      <action box=\"0,-2,6,2\"/>\n     </initial_glyph>\n    </initial>\n    <!--${AOs::Philo::SM::thinking}-->\n    <state name=\"thinking\">\n     <entry>QActive_armX(&amp;me-&gt;super, 0U, THINK_TIME, 0U);</entry>\n     <exit>QActive_disarmX(&amp;me-&gt;super, 0U);</exit>\n     <!--${AOs::Philo::SM::thinking::Q_TIMEOUT}-->\n     <tran trig=\"Q_TIMEOUT\" target=\"../../2\">\n      <tran_glyph conn=\"2,12,3,1,20,13,-3\">\n       <action box=\"0,-2,6,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Philo::SM::thinking::EAT, DONE}-->\n     <tran trig=\"EAT, DONE\">\n      <action>Q_ERROR(); /* these events should never arrive in this state */</action>\n      <tran_glyph conn=\"2,17,3,-1,13\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,5,17,16\">\n      <entry box=\"1,2,5,2\"/>\n      <exit box=\"1,4,6,2\"/>\n     </state_glyph>\n    </state>\n    <!--${AOs::Philo::SM::hungry}-->\n    <state name=\"hungry\">\n     <entry>QACTIVE_POST(&amp;AO_Table, HUNGRY_SIG, me-&gt;super.prio);</entry>\n     <!--${AOs::Philo::SM::hungry::EAT}-->\n     <tran trig=\"EAT\" target=\"../../3\">\n      <tran_glyph conn=\"2,30,3,1,20,13,-3\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Philo::SM::hungry::DONE}-->\n     <tran trig=\"DONE\">\n      <action>Q_ERROR(); /* this event should never arrive in this state */</action>\n      <tran_glyph conn=\"2,36,3,-1,14\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,23,17,16\">\n      <entry box=\"1,2,5,2\"/>\n     </state_glyph>\n    </state>\n    <!--${AOs::Philo::SM::eating}-->\n    <state name=\"eating\">\n     <entry>QActive_armX(&amp;me-&gt;super, 0U, EAT_TIME, 0U);</entry>\n     <exit>QActive_disarmX(&amp;me-&gt;super, 0U);\nQACTIVE_POST(QF_ACTIVE_CAST(&amp;AO_Table), DONE_SIG, me-&gt;super.prio);</exit>\n     <!--${AOs::Philo::SM::eating::Q_TIMEOUT}-->\n     <tran trig=\"Q_TIMEOUT\" target=\"../../1\">\n      <tran_glyph conn=\"2,51,3,1,22,-41,-5\">\n       <action box=\"0,-2,6,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Philo::SM::eating::EAT, DONE}-->\n     <tran trig=\"EAT, DONE\">\n      <action>Q_ERROR(); /* these events should never arrive in this state */</action>\n      <tran_glyph conn=\"2,55,3,-1,13\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,41,17,18\">\n      <entry box=\"1,2,5,2\"/>\n      <exit box=\"1,4,5,2\"/>\n     </state_glyph>\n    </state>\n    <state_diagram size=\"37,61\"/>\n   </statechart>\n  </class>\n  <!--${AOs::Table}-->\n  <class name=\"Table\" superclass=\"qpn::QActive\">\n   <!--${AOs::Table::fork[N_PHILO]}-->\n   <attribute name=\"fork[N_PHILO]\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Table::isHungry[N_PHILO]}-->\n   <attribute name=\"isHungry[N_PHILO]\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Table::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${AOs::Table::SM::initial}-->\n    <initial target=\"../1/2\">\n     <action>uint8_t n;\nfor (n = 0U; n &lt; N_PHILO; ++n) {\n    me-&gt;fork[n] = FREE;\n    me-&gt;isHungry[n] = 0U;\n    BSP_displayPhilStat(n, &quot;thinking&quot;);\n}</action>\n     <initial_glyph conn=\"3,3,5,1,44,18,-9\">\n      <action box=\"0,-2,6,2\"/>\n     </initial_glyph>\n    </initial>\n    <!--${AOs::Table::SM::active}-->\n    <state name=\"active\">\n     <!--${AOs::Table::SM::active::TERMINATE}-->\n     <tran trig=\"TERMINATE\">\n      <action>BSP_terminate(0);</action>\n      <tran_glyph conn=\"2,11,3,-1,14\">\n       <action box=\"0,-2,11,4\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Table::SM::active::EAT}-->\n     <tran trig=\"EAT\">\n      <action>Q_ERROR();</action>\n      <tran_glyph conn=\"2,15,3,-1,14\">\n       <action box=\"0,-2,10,4\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Table::SM::active::serving}-->\n     <state name=\"serving\">\n      <entry brief=\"give pending permitions to eat\">uint8_t n;\nfor (n = 0U; n &lt; N_PHILO; ++n) { /* give permissions to eat... */\n    if ((me-&gt;isHungry[n] != 0U)\n        &amp;&amp; (me-&gt;fork[LEFT(n)] == FREE)\n        &amp;&amp; (me-&gt;fork[n] == FREE))\n    {\n        QActive *philo;\n\n        me-&gt;fork[LEFT(n)] = USED;\n        me-&gt;fork[n] = USED;\n        philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\n        QACTIVE_POST(philo, EAT_SIG, n);\n        me-&gt;isHungry[n] = 0U;\n        BSP_displayPhilStat(n, &quot;eating  &quot;);\n    }\n}</entry>\n      <!--${AOs::Table::SM::active::serving::HUNGRY}-->\n      <tran trig=\"HUNGRY\">\n       <action>uint8_t n, m;\nQActive *philo;\n\nn = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* phil ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\n\nBSP_displayPhilStat(n, &quot;hungry  &quot;);\nm = LEFT(n);</action>\n       <!--${AOs::Table::SM::active::serving::HUNGRY::[bothfree]}-->\n       <choice>\n        <guard brief=\"both free\">(me-&gt;fork[m] == FREE) &amp;&amp; (me-&gt;fork[n] == FREE)</guard>\n        <action>me-&gt;fork[m] = USED;\nme-&gt;fork[n] = USED;\nphilo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\nQACTIVE_POST(philo, EAT_SIG, n);\nBSP_displayPhilStat(n, &quot;eating  &quot;);</action>\n        <choice_glyph conn=\"19,26,5,-1,10\">\n         <action box=\"1,0,10,2\"/>\n        </choice_glyph>\n       </choice>\n       <!--${AOs::Table::SM::active::serving::HUNGRY::[else]}-->\n       <choice>\n        <guard>else</guard>\n        <action>me-&gt;isHungry[n] = 1U;</action>\n        <choice_glyph conn=\"19,26,4,-1,5,10\">\n         <action box=\"1,5,6,2\"/>\n        </choice_glyph>\n       </choice>\n       <tran_glyph conn=\"4,26,3,-1,15\">\n        <action box=\"0,-2,8,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::serving::DONE}-->\n      <tran trig=\"DONE\">\n       <action>uint8_t n, m;\nQActive *philo;\n\nn = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* phil ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\n\nBSP_displayPhilStat(n, &quot;thinking&quot;);\nm = LEFT(n);\n/* both forks of Phil[n] must be used */\nQ_ASSERT((me-&gt;fork[n] == USED) &amp;&amp; (me-&gt;fork[m] == USED));\n\nme-&gt;fork[m] = FREE;\nme-&gt;fork[n] = FREE;\nm = RIGHT(n); /* check the right neighbor */\n\nif ((me-&gt;isHungry[m] != 0U) &amp;&amp; (me-&gt;fork[m] == FREE)) {\n    me-&gt;fork[n] = USED;\n    me-&gt;fork[m] = USED;\n    me-&gt;isHungry[m] = 0U;\n    philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n    QACTIVE_POST(philo, EAT_SIG, m);\n    BSP_displayPhilStat(m, &quot;eating  &quot;);\n}\nm = LEFT(n); /* check the left neighbor */\nn = LEFT(m); /* left fork of the left neighbor */\nif ((me-&gt;isHungry[m] != 0U) &amp;&amp; (me-&gt;fork[n] == FREE)) {\n    me-&gt;fork[m] = USED;\n    me-&gt;fork[n] = USED;\n    me-&gt;isHungry[m] = 0U;\n    philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n    QACTIVE_POST(philo, EAT_SIG, m);\n    BSP_displayPhilStat(m, &quot;eating  &quot;);\n}</action>\n       <tran_glyph conn=\"4,34,3,-1,15\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::serving::EAT}-->\n      <tran trig=\"EAT\">\n       <action>Q_ERROR();</action>\n       <tran_glyph conn=\"4,37,3,-1,15\">\n        <action box=\"0,-2,12,4\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::serving::PAUSE}-->\n      <tran trig=\"PAUSE\" target=\"../../3\">\n       <tran_glyph conn=\"4,41,3,1,37,6,-3\">\n        <action box=\"0,-2,7,2\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"4,19,34,24\">\n       <entry box=\"1,2,27,2\"/>\n      </state_glyph>\n     </state>\n     <!--${AOs::Table::SM::active::paused}-->\n     <state name=\"paused\">\n      <entry>BSP_displayPaused(1U);</entry>\n      <exit>BSP_displayPaused(0U);</exit>\n      <!--${AOs::Table::SM::active::paused::SERVE}-->\n      <tran trig=\"SERVE\" target=\"../../2\">\n       <tran_glyph conn=\"4,57,3,1,39,-20,-5\">\n        <action box=\"0,-2,7,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::paused::HUNGRY}-->\n      <tran trig=\"HUNGRY\">\n       <action>uint8_t n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* philo ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\nme-&gt;isHungry[n] = 1U;\nBSP_displayPhilStat(n, &quot;hungry  &quot;);</action>\n       <tran_glyph conn=\"4,60,3,-1,15\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::paused::DONE}-->\n      <tran trig=\"DONE\">\n       <action>uint8_t n, m;\n\nn = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* phil ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\n\nBSP_displayPhilStat(n, &quot;thinking&quot;);\nm = LEFT(n);\n/* both forks of Phil[n] must be used */\nQ_ASSERT((me-&gt;fork[n] == USED) &amp;&amp; (me-&gt;fork[m] == USED));\n\nme-&gt;fork[m] = FREE;\nme-&gt;fork[n] = FREE;</action>\n       <tran_glyph conn=\"4,63,3,-1,15\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"4,45,34,20\">\n       <entry box=\"1,2,18,4\"/>\n       <exit box=\"1,6,18,4\"/>\n      </state_glyph>\n     </state>\n     <state_glyph node=\"2,5,43,62\"/>\n    </state>\n    <state_diagram size=\"49,69\"/>\n   </statechart>\n  </class>\n  <!--${AOs::AO_Philo0}-->\n  <attribute name=\"AO_Philo0\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo1}-->\n  <attribute name=\"AO_Philo1\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo2}-->\n  <attribute name=\"AO_Philo2\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo3}-->\n  <attribute name=\"AO_Philo3\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo4}-->\n  <attribute name=\"AO_Philo4\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Table}-->\n  <attribute name=\"AO_Table\" type=\"struct Table\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::Philo_ctor}-->\n  <operation name=\"Philo_ctor\" type=\"void\" visibility=\"0x00\" properties=\"0x00\">\n   <code>QActive_ctor(&amp;AO_Philo0.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo1.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo2.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo3.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo4.super, Q_STATE_CAST(&amp;Philo_initial));\nBSP_randomSeed(123U);</code>\n  </operation>\n  <!--${AOs::Table_ctor}-->\n  <operation name=\"Table_ctor\" type=\"void\" visibility=\"0x00\" properties=\"0x00\">\n   <code>uint8_t n;\nTable *me = &amp;AO_Table;\n\nQActive_ctor(&amp;me-&gt;super, Q_STATE_CAST(&amp;Table_initial));\nfor (n = 0U; n &lt; N_PHILO; ++n) {\n    me-&gt;fork[n] = FREE;\n    me-&gt;isHungry[n] = 0U;\n}</code>\n  </operation>\n </package>\n <!--${.}-->\n <directory name=\".\">\n  <!--${.::dpp.h}-->\n  <file name=\"dpp.h\">\n   <text>#ifndef DPP_H\n#define DPP_H\n\nenum DPPSignals {\n    EAT_SIG = Q_USER_SIG, /* published by Table to let a philosopher eat */\n    DONE_SIG,             /* published by Philosopher when done eating */\n    PAUSE_SIG,            /* published by BSP to pause the application */\n    SERVE_SIG,            /* published by BSP to pause the application */\n    TERMINATE_SIG,        /* published by BSP to terminate the application */\n    HUNGRY_SIG,           /* posted direclty to Table from hungry Philo */\n    MAX_SIG               /* the last signal */\n};\n\n/* number of philosophers */\n#define N_PHILO ((uint8_t)5)\n#define PHILO_0_PRIO 1\n\n$declare${AOs::AO_Philo0}\n$declare${AOs::AO_Philo1}\n$declare${AOs::AO_Philo2}\n$declare${AOs::AO_Philo3}\n$declare${AOs::AO_Philo4}\n$declare${AOs::AO_Table}\n\n$declare${AOs::Philo_ctor}\n$declare${AOs::Table_ctor}\n\n#endif /* DPP_H */\n</text>\n  </file>\n  <!--${.::philo.c}-->\n  <file name=\"philo.c\">\n   <text>#include &quot;qpn.h&quot;  /* QP-nano port */\n#include &quot;bsp.h&quot;  /* Board Support Package */\n#include &quot;dpp.h&quot;  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(&quot;philo&quot;)\n\n/* Active object class -----------------------------------------------------*/\n$declare${AOs::Philo}\n\n/* Global objects ----------------------------------------------------------*/\n$define${AOs::AO_Philo0}\n$define${AOs::AO_Philo1}\n$define${AOs::AO_Philo2}\n$define${AOs::AO_Philo3}\n$define${AOs::AO_Philo4}\n\n/* Local objects -----------------------------------------------------------*/\n#define THINK_TIME  \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + (BSP_TICKS_PER_SEC/2U))\n#define EAT_TIME    \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + BSP_TICKS_PER_SEC)\n\n/* Philo definition --------------------------------------------------------*/\n$define${AOs::Philo_ctor}\n$define${AOs::Philo}</text>\n  </file>\n  <!--${.::table.c}-->\n  <file name=\"table.c\">\n   <text>#include &quot;qpn.h&quot;  /* QP-nano port */\n#include &quot;bsp.h&quot;  /* Board Support Package */\n#include &quot;dpp.h&quot;  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(&quot;table&quot;)\n\n/* Active object class -----------------------------------------------------*/\n$declare${AOs::Table}\n\n/* Global objects ----------------------------------------------------------*/\n$define${AOs::AO_Table}\n\n#define RIGHT(n_) ((uint8_t)(((n_) + (N_PHILO - 1U)) % N_PHILO))\n#define LEFT(n_)  ((uint8_t)(((n_) + 1U) % N_PHILO))\n#define FREE      ((uint8_t)0)\n#define USED      ((uint8_t)1)\n\n/*..........................................................................*/\n$define${AOs::Table_ctor}\n$define${AOs::Table}</text>\n  </file>\n </directory>\n</model>\n"
  },
  {
    "path": "examples/arm7-9/dpp_at91sam7s-ek/main.c",
    "content": "/*****************************************************************************\n* Product: DPP example\n* Last Updated for Version: 5.8.0\n* Date of the Last Update:  2016-11-06\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"  /* QP-nano */\n#include \"bsp.h\"  /* Board Support Package */\n#include \"dpp.h\"  /* Application interface */\n\n/*..........................................................................*/\nstatic QEvt l_philoQueue[N_PHILO][N_PHILO];\nstatic QEvt l_tableQueue[2];\n\n/* QF_active[] array defines all active object control blocks --------------*/\nQActiveCB const Q_ROM QF_active[] = {\n    { (QActive *)0,           (QEvt *)0,        0U                      },\n    { (QActive *)&AO_Philo0,  l_philoQueue[0],  Q_DIM(l_philoQueue[0])  },\n    { (QActive *)&AO_Philo1,  l_philoQueue[1],  Q_DIM(l_philoQueue[1])  },\n    { (QActive *)&AO_Philo2,  l_philoQueue[2],  Q_DIM(l_philoQueue[2])  },\n    { (QActive *)&AO_Philo3,  l_philoQueue[3],  Q_DIM(l_philoQueue[3])  },\n    { (QActive *)&AO_Philo4,  l_philoQueue[4],  Q_DIM(l_philoQueue[4])  },\n    { (QActive *)&AO_Table,   l_tableQueue,     Q_DIM(l_tableQueue)     }\n};\n\n/*..........................................................................*/\nint_t main() {\n    Philo_ctor();    /* instantiate all Philo AOs */\n    Table_ctor();    /* instantiate the Table AO */\n\n    QF_init(Q_DIM(QF_active)); /* initialize the QF-nano framework */\n    BSP_init();      /* initialize the Board Support Package */\n\n    return QF_run(); /* transfer control to QF-nano */\n}\n"
  },
  {
    "path": "examples/arm7-9/dpp_at91sam7s-ek/philo.c",
    "content": "/*.$file${.::philo.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: dpp.qm\n* File:  ${.::philo.c}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::philo.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"  /* QP-nano port */\n#include \"bsp.h\"  /* Board Support Package */\n#include \"dpp.h\"  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(\"philo\")\n\n/* Active object class -----------------------------------------------------*/\n/*.$declare${AOs::Philo} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo} ...........................................................*/\ntypedef struct Philo {\n/* protected: */\n    QActive super;\n} Philo;\n\n/* protected: */\nstatic QState Philo_initial(Philo * const me);\nstatic QState Philo_thinking(Philo * const me);\nstatic QState Philo_hungry(Philo * const me);\nstatic QState Philo_eating(Philo * const me);\n/*.$enddecl${AOs::Philo} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Global objects ----------------------------------------------------------*/\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 650U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.5.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo0} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo0} .......................................................*/\nstruct Philo AO_Philo0;\n/*.$enddef${AOs::AO_Philo0} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo1} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo1} .......................................................*/\nstruct Philo AO_Philo1;\n/*.$enddef${AOs::AO_Philo1} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo2} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo2} .......................................................*/\nstruct Philo AO_Philo2;\n/*.$enddef${AOs::AO_Philo2} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo3} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo3} .......................................................*/\nstruct Philo AO_Philo3;\n/*.$enddef${AOs::AO_Philo3} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo4} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo4} .......................................................*/\nstruct Philo AO_Philo4;\n/*.$enddef${AOs::AO_Philo4} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Local objects -----------------------------------------------------------*/\n#define THINK_TIME  \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + (BSP_TICKS_PER_SEC/2U))\n#define EAT_TIME    \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + BSP_TICKS_PER_SEC)\n\n/* Philo definition --------------------------------------------------------*/\n/*.$define${AOs::Philo_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo_ctor} ......................................................*/\nvoid Philo_ctor(void) {\n    QActive_ctor(&AO_Philo0.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo1.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo2.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo3.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo4.super, Q_STATE_CAST(&Philo_initial));\n    BSP_randomSeed(123U);\n}\n/*.$enddef${AOs::Philo_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Philo} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo} ...........................................................*/\n/*.${AOs::Philo::SM} .......................................................*/\nstatic QState Philo_initial(Philo * const me) {\n    /*.${AOs::Philo::SM::initial} */\n    return Q_TRAN(&Philo_thinking);\n}\n/*.${AOs::Philo::SM::thinking} .............................................*/\nstatic QState Philo_thinking(Philo * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Philo::SM::thinking} */\n        case Q_ENTRY_SIG: {\n            QActive_armX(&me->super, 0U, THINK_TIME, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::thinking} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::thinking::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Philo_hungry);\n            break;\n        }\n        /*.${AOs::Philo::SM::thinking::EAT, DONE} */\n        case EAT_SIG: /* intentionally fall through */\n        case DONE_SIG: {\n            Q_ERROR(); /* these events should never arrive in this state */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Philo::SM::hungry} ...............................................*/\nstatic QState Philo_hungry(Philo * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Philo::SM::hungry} */\n        case Q_ENTRY_SIG: {\n            QACTIVE_POST(&AO_Table, HUNGRY_SIG, me->super.prio);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::hungry::EAT} */\n        case EAT_SIG: {\n            status_ = Q_TRAN(&Philo_eating);\n            break;\n        }\n        /*.${AOs::Philo::SM::hungry::DONE} */\n        case DONE_SIG: {\n            Q_ERROR(); /* this event should never arrive in this state */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Philo::SM::eating} ...............................................*/\nstatic QState Philo_eating(Philo * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Philo::SM::eating} */\n        case Q_ENTRY_SIG: {\n            QActive_armX(&me->super, 0U, EAT_TIME, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::eating} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            QACTIVE_POST(QF_ACTIVE_CAST(&AO_Table), DONE_SIG, me->super.prio);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::eating::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Philo_thinking);\n            break;\n        }\n        /*.${AOs::Philo::SM::eating::EAT, DONE} */\n        case EAT_SIG: /* intentionally fall through */\n        case DONE_SIG: {\n            Q_ERROR(); /* these events should never arrive in this state */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${AOs::Philo} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/arm7-9/dpp_at91sam7s-ek/qk/iar/at91SAM7S64.icf",
    "content": "/*###ICF### Section handled by ICF editor, don't touch! ****/\n/*-Editor annotation file-*/\n/* IcfEditorFile=\"$TOOLKIT_DIR$\\config\\ide\\IcfEditor\\a_v1_0.xml\" */\n/*-Specials-*/\ndefine symbol __ICFEDIT_intvec_start__ = 0x00100000;\n/*-Memory Regions-*/\ndefine symbol __ICFEDIT_region_ROM_start__ = 0x00100000;\ndefine symbol __ICFEDIT_region_ROM_end__   = 0x0010FFFF;\ndefine symbol __ICFEDIT_region_RAM_start__ = 0x00200000;\ndefine symbol __ICFEDIT_region_RAM_end__   = 0x00203FFF;\n/*-Sizes-*/\ndefine symbol __ICFEDIT_size_cstack__   = 0x400;\ndefine symbol __ICFEDIT_size_svcstack__ = 0;\ndefine symbol __ICFEDIT_size_irqstack__ = 0;\ndefine symbol __ICFEDIT_size_fiqstack__ = 0;\ndefine symbol __ICFEDIT_size_undstack__ = 0;\ndefine symbol __ICFEDIT_size_abtstack__ = 0;\ndefine symbol __ICFEDIT_size_heap__     = 0;\n/**** End of ICF editor section. ###ICF###*/\n\n\ndefine memory mem with size = 4G;\ndefine region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];\ndefine region VEC_region = mem:[from __ICFEDIT_region_RAM_start__ size 0x40];\ndefine region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ + 0x40 to __ICFEDIT_region_RAM_end__];\n\ndefine block CSTACK    with alignment = 8, size = __ICFEDIT_size_cstack__   { };\ndefine block SVC_STACK with alignment = 8, size = __ICFEDIT_size_svcstack__ { };\ndefine block IRQ_STACK with alignment = 8, size = __ICFEDIT_size_irqstack__ { };\ndefine block FIQ_STACK with alignment = 8, size = __ICFEDIT_size_fiqstack__ { };\ndefine block UND_STACK with alignment = 8, size = __ICFEDIT_size_undstack__ { };\ndefine block ABT_STACK with alignment = 8, size = __ICFEDIT_size_abtstack__ { };\ndefine block HEAP      with alignment = 8, size = __ICFEDIT_size_heap__     { };\n\ninitialize by copy { readwrite };\ndo not initialize  { section .noinit };\n\nplace at address mem:__ICFEDIT_intvec_start__    { readonly section .intvec };\n\nplace in ROM_region   { readonly };\nplace in VEC_region   { section .vectors };\nplace in RAM_region   { readwrite,\n                        block CSTACK, block SVC_STACK, block IRQ_STACK, block FIQ_STACK,\n                        block UND_STACK, block ABT_STACK, block HEAP };"
  },
  {
    "path": "examples/arm7-9/dpp_at91sam7s-ek/qk/iar/bsp.c",
    "content": "/*****************************************************************************\n* Product: DPP on AT91SAM7S-EK board, preemptive QK kernel\n* Last Updated for Version: 5.5.1\n* Date of the Last Update:  2015-10-05\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"dpp.h\"\n#include \"bsp.h\"\n\n#include \"AT91SAM7S64.h\"      /* Atmel AT91SAM7S64 MCU */\n\n//Q_DEFINE_THIS_FILE\n\n#pragma diag_suppress=Ta021  /* call __iar_disable_interrupt from __ramfunc */\n#pragma diag_suppress=Ta022  /* possible ROM access <ptr> from __ramfunc */\n#pragma diag_suppress=Ta023  /* call to non __ramfunc from __ramfunc */\n\n/* Local objects -----------------------------------------------------------*/\ntypedef void (*IntVector)(void); /* IntVector pointer-to-function */\nuint32_t get_MCK_FREQ(void);     /* CPU clock set up in __low_level_init() */\n\nuint32_t const l_led[] = {\n    (1U << 0),  /* LED D1 on AT91SAM7S-EK */\n    (1U << 1),  /* LED D2 on AT91SAM7S-EK */\n    (1U << 2),  /* LED D3 on AT91SAM7S-EK */\n    (1U << 3)   /* LED D4 on AT91SAM7S-EK */\n};\n\n#define LED_ON(num_)  (AT91C_BASE_PIOA->PIO_CODR = l_led[num_])\n#define LED_OFF(num_) (AT91C_BASE_PIOA->PIO_SODR = l_led[num_])\n\nuint32_t const l_btn[] = {\n    (1U << 19), /* BTN P1 on AT91SAM7S-EK */\n    (1U << 20), /* BTN P2 on AT91SAM7S-EK */\n    (1U << 14), /* BTN P3 on AT91SAM7S-EK */\n    (1U << 15)  /* BTN P4 on AT91SAM7S-EK */\n};\n\n/* random seed */\nstatic uint32_t l_rnd;\n\n/* ISRs and ISR \"wrappers\" ================================================*/\n__ramfunc\nvoid BSP_irq(void) {\n    IntVector vect = (IntVector)AT91C_BASE_AIC->AIC_IVR; /* read the IVR */\n    AT91C_BASE_AIC->AIC_IVR = (AT91_REG)vect; /* write AIC_IVR if protected */\n\n    QF_INT_ENABLE();    /* allow nesting interrupts */\n    (*vect)();          /* call the IRQ ISR via the pointer to function */\n    QF_INT_DISABLE();   /* disable interrups for the exit sequence */\n\n    AT91C_BASE_AIC->AIC_EOICR = 0; /* write AIC_EOICR to clear interrupt */\n}\n/* ISRs --------------------------------------------------------------------*/\n__ramfunc\nstatic void ISR_tick(void) {\n    /* state of the button debouncing, see below */\n    static struct ButtonsDebouncing {\n        uint32_t depressed;\n        uint32_t previous;\n    } buttons = { ~0U, ~0U };\n    uint32_t current;\n    uint32_t volatile tmp;\n\n    /* clear the interrupt source */\n    tmp = AT91C_BASE_PITC->PITC_PIVR;\n\n    QF_tickXISR(0U); /* process time events for rate 0 */\n\n    /* Perform the debouncing of buttons. The algorithm for debouncing\n    * adapted from the book \"Embedded Systems Dictionary\" by Jack Ganssle\n    * and Michael Barr, page 71.\n    */\n    current = ~AT91C_BASE_PIOA->PIO_PDSR;/* read PIOA with state of Buttons */\n    tmp = buttons.depressed; /* save the debounced depressed buttons */\n    buttons.depressed |= (buttons.previous & current); /* set depressed */\n    buttons.depressed &= (buttons.previous | current); /* clear released */\n    buttons.previous   = current; /* update the history */\n    tmp ^= buttons.depressed;     /* changed debounced depressed */\n    if ((tmp & l_btn[0]) != 0U) {  /* debounced BTN_P1 state changed? */\n        if ((buttons.depressed & l_btn[0]) != 0U) { /* is BTN_P1 depressed? */\n            QACTIVE_POST_ISR(&AO_Table, PAUSE_SIG, 0U);\n        }\n        else {            /* the button is released */\n            QACTIVE_POST_ISR(&AO_Table, SERVE_SIG, 0U);\n        }\n    }\n}\n/*..........................................................................*/\n__ramfunc\nstatic void ISR_spur(void) {\n}\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    uint32_t i;\n\n    /* When using the JTAG debugger the AIC might not be initialised\n    * to the correct default state. This line ensures that AIC does not\n    * mask all interrupts at the start.\n    */\n    AT91C_BASE_AIC->AIC_EOICR = 0U;\n\n    /* enable peripheral clock for PIOA */\n    AT91C_BASE_PMC->PMC_PCER = (1U << AT91C_ID_PIOA);\n\n    /* initialize the LEDs... */\n    for (i = 0; i < Q_DIM(l_led); ++i) {\n        AT91C_BASE_PIOA->PIO_PER = l_led[i];  /* enable pin */\n        AT91C_BASE_PIOA->PIO_OER = l_led[i];  /* configure as output pin */\n        LED_OFF(i);                           /* extinguish the LED */\n    }\n\n    /* initialize the Buttons... */\n    for (i = 0; i < Q_DIM(l_btn); ++i) {\n        AT91C_BASE_PIOA->PIO_ODR = l_btn[i]; /* disable output (input pin) */\n        AT91C_BASE_PIOA->PIO_PER = l_btn[i]; /* enable pin */\n    }\n\n    /* configure Advanced Interrupt Controller (AIC) of AT91... */\n    AT91C_BASE_AIC->AIC_IDCR = ~0;            /* disable all interrupts */\n    AT91C_BASE_AIC->AIC_ICCR = ~0;            /* clear all interrupts */\n    for (i = 0; i < 8; ++i) {\n        AT91C_BASE_AIC->AIC_EOICR = 0;        /* write AIC_EOICR 8 times */\n    }\n\n    /* set the desired ticking rate for the PIT... */\n    i = (get_MCK_FREQ() / 16U / BSP_TICKS_PER_SEC) - 1U;\n    AT91C_BASE_PITC->PITC_PIMR = (AT91C_PITC_PITEN | AT91C_PITC_PITIEN | i);\n\n    BSP_randomSeed(1234U); /* seed the random number generator */\n}\n/*..........................................................................*/\nvoid BSP_displayPhilStat(uint8_t n, char const *stat) {\n    if (stat[0] == 'h') {\n        LED_ON(0);  /* turn LED on  */\n    }\n    else {\n        LED_OFF(0); /* turn LED off */\n    }\n    if (stat[0] == 'e') {\n        LED_ON(1);  /* turn LED on  */\n    }\n    else {\n        LED_OFF(1); /* turn LED off */\n    }\n}\n/*..........................................................................*/\nvoid BSP_displayPaused(uint8_t paused) {\n    if (paused != (uint8_t)0) {\n        LED_ON(2);  /* turn LED on  */\n    }\n    else {\n        LED_OFF(2); /* turn LED off */\n    }\n}\n/*..........................................................................*/\nuint32_t BSP_random(void) { /* a very cheap pseudo-random-number generator */\n    /* \"Super-Duper\" Linear Congruential Generator (LCG)\n    * LCG(2^32, 3*7*11*13*23, 0, seed)\n    */\n    l_rnd = l_rnd * (3U*7U*11U*13U*23U);\n\n    return l_rnd >> 8;\n}\n/*..........................................................................*/\nvoid BSP_randomSeed(uint32_t seed) {\n    l_rnd = seed;\n}\n/*..........................................................................*/\nvoid BSP_terminate(int16_t result) {\n    (void)result;\n}\n\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    /* hook the exception handlers from the QF port... */\n    *(uint32_t volatile *)0x24 = (uint32_t)&QF_undef;\n    *(uint32_t volatile *)0x28 = (uint32_t)&QF_swi;\n    *(uint32_t volatile *)0x2C = (uint32_t)&QF_pAbort;\n    *(uint32_t volatile *)0x30 = (uint32_t)&QF_dAbort;\n    *(uint32_t volatile *)0x34 = (uint32_t)&QF_reserved;\n    *(uint32_t volatile *)0x38 = (uint32_t)&QK_irq;\n    *(uint32_t volatile *)0x3C = (uint32_t)0; /* QK_fiq unimplemented! */\n\n    AT91C_BASE_AIC->AIC_SVR[AT91C_ID_SYS] = (uint32_t)&ISR_tick;\n    AT91C_BASE_AIC->AIC_SPU = (uint32_t)&ISR_spur; /* spurious IRQ */\n\n    AT91C_BASE_AIC->AIC_SMR[AT91C_ID_SYS] =\n        (AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL | AT91C_AIC_PRIOR_LOWEST);\n    AT91C_BASE_AIC->AIC_ICCR = (1 << AT91C_ID_SYS);\n    AT91C_BASE_AIC->AIC_IECR = (1 << AT91C_ID_SYS);\n}\n/*..........................................................................*/\n__ramfunc\nvoid QK_onIdle(void) {\n\n    /* toggle first LED on and off, see NOTE01 */\n    QF_INT_DISABLE();\n    LED_ON(3);  /* turn LED on  */\n    LED_OFF(3); /* turn LED off */\n    QF_INT_ENABLE();\n\n#ifdef NDEBUG /* only if not debugging (idle mode hinders debugging) */\n    AT91C_BASE_PMC->PMC_SCDR = 1;/* Power-Management: disable the CPU clock */\n    /* NOTE: an interrupt starts the CPU clock again */\n#endif\n}\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const module, int loc) {\n    QF_INT_DISABLE(); /* disable all interrupts */\n    /*\n    * NOTE: add here your application-specific error handling\n    */\n    (void)module;\n    (void)loc;\n\n    /* trip the Watchdog to reset the system */\n    AT91C_BASE_WDTC->WDTC_WDCR = (0xA5U << 24) | AT91C_WDTC_WDRSTT;\n\n    /* hang in here until the reset occurrs */\n    for (;;) {\n    }\n}\n\n/*****************************************************************************\n* NOTE01:\n* One of the LEDs is used to visualize the idle loop activity. The brightness\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n"
  },
  {
    "path": "examples/arm7-9/dpp_at91sam7s-ek/qk/iar/dpp-qk.ewd",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project>\n    <fileVersion>3</fileVersion>\n    <configuration>\n        <name>Debug</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>1</debug>\n        <settings>\n            <name>C-SPY</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCVariant</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>MemOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MemFile</name>\n                    <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\Atmel\\AT91SAM7S64.ddf</state>\n                </option>\n                <option>\n                    <name>RunToEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RunToName</name>\n                    <state>main</state>\n                </option>\n                <option>\n                    <name>CExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDDFArgumentProducer</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadSuppressDownload</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDownloadVerifyAll</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCProductVersion</name>\n                    <state>7.40.2.8567</state>\n                </option>\n                <option>\n                    <name>OCDynDriverList</name>\n                    <state>JLINK_ID</state>\n                </option>\n                <option>\n                    <name>OCLastSavedByProductVersion</name>\n                    <state>8.11.1.13270</state>\n                </option>\n                <option>\n                    <name>UseFlashLoader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CLowLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CDevice</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>FlashLoadersV3</name>\n                    <state>$TOOLKIT_DIR$\\config\\flashloader\\Atmel\\AT91SAM7S64-EK\\at91sam7s64-flash.board</state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OverrideDefFlashBoard</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesOffset1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesOffset2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesUse1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDeviceConfigMacroFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDebuggerExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAllMTBOptions</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreNrOfCores</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreMaster</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCMulticorePort</name>\n                    <state>53461</state>\n                </option>\n                <option>\n                    <name>OCMulticoreWorkspace</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveProject</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveConfiguration</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadExtraImage</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAttachSlave</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ARMSIM_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCSimDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCSimEnablePSP</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspOverrideConfig</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspConfigFile</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CADI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCadiMemory</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Fast Model</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCADILogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCADILogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CMSISDAP_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CMSISDAPResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>CMSISDAPDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CMSISDAPProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>GDBSERVER_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJTagBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IJET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>8</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>IjetPowerFromProbe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPowerRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetProtocolRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPin</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPrescalerList</name>\n                    <version>1</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IjetProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPreferETB</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetTraceSettingsList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetTraceSizeList</name>\n                    <version>0</version>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>FlashBoardPathSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>JLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>16</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>JLinkSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJLinkHWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>JLinkInitialSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCDoJlinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkCommRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>CCJLinkSpeedRadioV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCUSBDevice</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkResetList</name>\n                    <version>6</version>\n                    <state>5</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCTcpIpAlt</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTcpIpSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSourceDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkDeviceName</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>LMIFTDI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>2</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>LmiftdiSpeed</name>\n                    <state>500</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>PEMICRO_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>3</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJPEMicroShowSettings</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>STLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkResetList</name>\n                    <version>3</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDAPNumber</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkDebugAccessPortRadio</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>THIRDPARTY_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CThirdPartyDriverDll</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>TIFET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVccTypeDefault</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVoltage</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CCMSPFetVCCDefault</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetSettlingtime</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioJtagSpeedType</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetConnection</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetUsbComPort</name>\n                    <state>Automatic</state>\n                </option>\n                <option>\n                    <name>CCMSPFetAllowAccessToBSL</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioEraseFlash</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>XDS100_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>6</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TIPackageOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TIPackage</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>BoardFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCXds100BreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100DoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CpuClockEdit</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockEdit</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCXds100HWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100JtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ProbeList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPortRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPort</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <debuggerPlugins>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n                <loadFlag>1</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n        </debuggerPlugins>\n    </configuration>\n    <configuration>\n        <name>Release</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>0</debug>\n        <settings>\n            <name>C-SPY</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCVariant</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>MemOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MemFile</name>\n                    <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\Atmel\\AT91SAM7S64.ddf</state>\n                </option>\n                <option>\n                    <name>RunToEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RunToName</name>\n                    <state>main</state>\n                </option>\n                <option>\n                    <name>CExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDDFArgumentProducer</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadSuppressDownload</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDownloadVerifyAll</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCProductVersion</name>\n                    <state>7.40.2.8567</state>\n                </option>\n                <option>\n                    <name>OCDynDriverList</name>\n                    <state>JLINK_ID</state>\n                </option>\n                <option>\n                    <name>OCLastSavedByProductVersion</name>\n                    <state>8.11.1.13270</state>\n                </option>\n                <option>\n                    <name>UseFlashLoader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CLowLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CDevice</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>FlashLoadersV3</name>\n                    <state>$TOOLKIT_DIR$\\config\\flashloader\\Atmel\\AT91SAM7S64-EK\\at91sam7s64-flash.board</state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OverrideDefFlashBoard</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesOffset1</name>\n                    <state>0x00100000</state>\n                </option>\n                <option>\n                    <name>OCImagesOffset2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesUse1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDeviceConfigMacroFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDebuggerExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAllMTBOptions</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreNrOfCores</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreMaster</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCMulticorePort</name>\n                    <state>53461</state>\n                </option>\n                <option>\n                    <name>OCMulticoreWorkspace</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveProject</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveConfiguration</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadExtraImage</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAttachSlave</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ARMSIM_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCSimDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCSimEnablePSP</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspOverrideConfig</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspConfigFile</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CADI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCadiMemory</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Fast Model</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCADILogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCADILogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CMSISDAP_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CMSISDAPResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>CMSISDAPDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CMSISDAPProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>GDBSERVER_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJTagBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IJET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>8</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>IjetPowerFromProbe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPowerRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetProtocolRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPin</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPrescalerList</name>\n                    <version>1</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IjetProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPreferETB</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetTraceSettingsList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetTraceSizeList</name>\n                    <version>0</version>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>FlashBoardPathSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>JLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>16</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>JLinkSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJLinkHWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>JLinkInitialSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCDoJlinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkCommRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>CCJLinkSpeedRadioV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCUSBDevice</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkResetList</name>\n                    <version>6</version>\n                    <state>5</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCTcpIpAlt</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTcpIpSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSourceDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkDeviceName</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>LMIFTDI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>2</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>LmiftdiSpeed</name>\n                    <state>500</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>PEMICRO_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>3</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJPEMicroShowSettings</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>STLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkResetList</name>\n                    <version>3</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDAPNumber</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkDebugAccessPortRadio</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>THIRDPARTY_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CThirdPartyDriverDll</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>TIFET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVccTypeDefault</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVoltage</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CCMSPFetVCCDefault</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetSettlingtime</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioJtagSpeedType</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetConnection</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetUsbComPort</name>\n                    <state>Automatic</state>\n                </option>\n                <option>\n                    <name>CCMSPFetAllowAccessToBSL</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioEraseFlash</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>XDS100_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>6</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TIPackageOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TIPackage</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>BoardFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCXds100BreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100DoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CpuClockEdit</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockEdit</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCXds100HWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100JtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ProbeList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPortRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPort</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <debuggerPlugins>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n                <loadFlag>1</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n        </debuggerPlugins>\n    </configuration>\n</project>\n"
  },
  {
    "path": "examples/arm7-9/dpp_at91sam7s-ek/qk/iar/dpp-qk.ewp",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project>\n    <fileVersion>3</fileVersion>\n    <configuration>\n        <name>Debug</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>1</debug>\n        <settings>\n            <name>General</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <version>31</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>ExePath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>ObjPath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>ListPath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>GEndianMode</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>Input description</name>\n                    <state>No specifier n, no float nor long long, no scan set, no assignment suppressing, without multibyte support.</state>\n                </option>\n                <option>\n                    <name>Output description</name>\n                    <state>No specifier a, A, no specifier n, no float nor long long, no flags, without multibyte support.</state>\n                </option>\n                <option>\n                    <name>GOutputBinary</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCoreOrChip</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelect</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelectSlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RTDescription</name>\n                    <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n                </option>\n                <option>\n                    <name>OGProductVersion</name>\n                    <state>5.11.0.50579</state>\n                </option>\n                <option>\n                    <name>OGLastSavedByProductVersion</name>\n                    <state>8.40.2.22864</state>\n                </option>\n                <option>\n                    <name>GeneralEnableMisra</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVerbose</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGChipSelectEditMenu</name>\n                    <state>AT91SAM7S64\tAtmel AT91SAM7S64</state>\n                </option>\n                <option>\n                    <name>GenLowLevelInterface</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GEndianModeBE</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGBufferedTerminalOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenStdoutInterface</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>RTConfigPath2</name>\n                    <state>$TOOLKIT_DIR$\\inc\\c\\DLib_Config_Normal.h</state>\n                </option>\n                <option>\n                    <name>GBECoreSlave</name>\n                    <version>27</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsis</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsisDspLib</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibThreads</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CoreVariant</name>\n                    <version>27</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUDeviceSlave</name>\n                    <state>AT91SAM7S64\tAtmel AT91SAM7S64</state>\n                </option>\n                <option>\n                    <name>FPU2</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>NrRegs</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>NEON</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUCoreSlave2</name>\n                    <version>27</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCMSISPackSelectDevice</name>\n                </option>\n                <option>\n                    <name>OgLibHeap</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGLibAdditionalLocale</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGPrintfVariant</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>OGPrintfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGScanfVariant</name>\n                    <version>0</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OGScanfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenLocaleTags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>GenLocaleDisplayOnly</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DSPExtension</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TrustZone</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TrustZoneModes</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ICCARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>35</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCOptimizationNoSizeConstraints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCPreprocFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocComments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMnemonics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMessages</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDiagSuppress</name>\n                    <state>Pa050</state>\n                </option>\n                <option>\n                    <name>CCDiagRemark</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagWarning</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagError</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCAllowList</name>\n                    <version>1</version>\n                    <state>00000000</state>\n                </option>\n                <option>\n                    <name>CCDebugInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IEndianMode</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCLangConformance</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSignedPlainChar</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRequirePrototypes</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCDiagWarnAreErr</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCompilerRuntimeInfo</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>CCLibConfigHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>PreInclude</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CompilerMisraOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIncludePath2</name>\n                    <state>$PROJ_DIR$\\..</state>\n                    <state>$PROJ_DIR$\\..\\..</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm7-9\\qk\\iar</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\at91sam7s-ek</state>\n                </option>\n                <option>\n                    <name>CCStdIncCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCodeSection</name>\n                    <state>.text</state>\n                </option>\n                <option>\n                    <name>IProcessorMode2</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptStrategy</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevelSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>CCPosIndRopi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndRwpi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndNoDynInit</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccLang</name>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>IccCDialect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccAllowVLA</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccStaticDestr</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCppInlineSemantics</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccFloatSemantics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCOptStrategySlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCGuardCalls</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccExceptions2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccRTTI2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OICompilerExtraOption</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>AARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>10</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>AObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>ACaseSensitivity</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacroChars</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnWhat</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnOne</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>ADebug</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AltRegisterNames</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ADefines</name>\n                    <state>ewarm</state>\n                </option>\n                <option>\n                    <name>AList</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AListHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AListing</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Includes</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacDefs</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacExps</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacExec</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OnlyAssed</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MultiLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLengthCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLength</name>\n                    <state>80</state>\n                </option>\n                <option>\n                    <name>TabSpacing</name>\n                    <state>8</state>\n                </option>\n                <option>\n                    <name>AXRef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDefines</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefInternal</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDual</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AOutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsEdit</name>\n                    <state>100</state>\n                </option>\n                <option>\n                    <name>AIgnoreStdInclude</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AUserIncludes</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AExtraOptionsCheckV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AExtraOptionsV2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AsmNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>OBJCOPY</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OOCOutputFormat</name>\n                    <version>3</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OCOutputOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OOCOutputFile</name>\n                    <state>dpp-qk.bin</state>\n                </option>\n                <option>\n                    <name>OOCCommandLineProducer</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OOCObjCopyEnable</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CUSTOM</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <extensions></extensions>\n                <cmdline></cmdline>\n                <hasPrio>0</hasPrio>\n            </data>\n        </settings>\n        <settings>\n            <name>BICOMP</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>BUILDACTION</name>\n            <archiveVersion>1</archiveVersion>\n            <data>\n                <prebuild></prebuild>\n                <postbuild></postbuild>\n            </data>\n        </settings>\n        <settings>\n            <name>ILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>23</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>IlinkLibIOConfig</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>XLinkMisraHandler</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkInputFileSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOutputFile</name>\n                    <state>dpp-qk.out</state>\n                </option>\n                <option>\n                    <name>IlinkDebugInfoEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkKeepSymbols</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkConfigDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkMapFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogInitialization</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogModule</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogSection</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogVeneer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfOverride</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile</name>\n                    <state>$PROJ_DIR$\\at91SAM7S64.icf</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFileSlave</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkSuppressDiags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsRem</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsWarn</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsErr</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkWarningsAreErrors</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkUseExtraOptions</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkLowLevelInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAutoLibEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAdditionalLibs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkOverrideProgramEntryLabel</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabelSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabel</name>\n                    <state>__iar_program_start</state>\n                </option>\n                <option>\n                    <name>DoFill</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>FillerByte</name>\n                    <state>0xFF</state>\n                </option>\n                <option>\n                    <name>FillerStart</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>FillerEnd</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>CrcSize</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcAlign</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcPoly</name>\n                    <state>0x11021</state>\n                </option>\n                <option>\n                    <name>CrcCompl</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcBitOrder</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcInitialValue</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>DoCrc</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkBufferedTerminalOutput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkStdoutInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcFullSize</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIElfToolPostProcess</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogAutoLibSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogRedirSymbols</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogUnusedFragments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcReverseByteOrder</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcUseAsInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptInline</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsAllow</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsForce</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptMergeDuplSections</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptUseVfe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptForceVfe</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackAnalysisEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackControlFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkStackCallGraphFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CrcAlgorithm</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcUnitSize</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkThreadsSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogCallGraph</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile_AltDefault</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkHeapSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLocaleSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkTrustzoneImportLibraryOut</name>\n                    <state>dpp-qk_import_lib.o</state>\n                </option>\n                <option>\n                    <name>OILinkExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign2</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IARCHIVE</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>IarchiveInputs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IarchiveOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IarchiveOutput</name>\n                    <state>###Unitialized###</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>BILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>Coder</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n    </configuration>\n    <configuration>\n        <name>Release</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>0</debug>\n        <settings>\n            <name>General</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <version>31</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>ExePath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>ObjPath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>ListPath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>GEndianMode</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>Input description</name>\n                    <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n                </option>\n                <option>\n                    <name>Output description</name>\n                    <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n                </option>\n                <option>\n                    <name>GOutputBinary</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCoreOrChip</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelect</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelectSlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RTDescription</name>\n                    <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n                </option>\n                <option>\n                    <name>OGProductVersion</name>\n                    <state>5.11.0.50579</state>\n                </option>\n                <option>\n                    <name>OGLastSavedByProductVersion</name>\n                    <state>8.11.1.13270</state>\n                </option>\n                <option>\n                    <name>GeneralEnableMisra</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVerbose</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGChipSelectEditMenu</name>\n                    <state>AT91SAM7S64\tAtmel AT91SAM7S64</state>\n                </option>\n                <option>\n                    <name>GenLowLevelInterface</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GEndianModeBE</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGBufferedTerminalOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenStdoutInterface</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>RTConfigPath2</name>\n                    <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n                </option>\n                <option>\n                    <name>GBECoreSlave</name>\n                    <version>27</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsis</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsisDspLib</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibThreads</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CoreVariant</name>\n                    <version>27</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUDeviceSlave</name>\n                    <state>AT91SAM7S64\tAtmel AT91SAM7S64</state>\n                </option>\n                <option>\n                    <name>FPU2</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>NrRegs</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>NEON</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUCoreSlave2</name>\n                    <version>27</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCMSISPackSelectDevice</name>\n                </option>\n                <option>\n                    <name>OgLibHeap</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGLibAdditionalLocale</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGPrintfVariant</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>OGPrintfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGScanfVariant</name>\n                    <version>0</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OGScanfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenLocaleTags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>GenLocaleDisplayOnly</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DSPExtension</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TrustZone</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TrustZoneModes</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ICCARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>35</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCOptimizationNoSizeConstraints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDefines</name>\n                    <state>NDEBUG</state>\n                </option>\n                <option>\n                    <name>CCPreprocFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocComments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMnemonics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMessages</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDiagSuppress</name>\n                    <state>Pa050</state>\n                </option>\n                <option>\n                    <name>CCDiagRemark</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagWarning</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagError</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCAllowList</name>\n                    <version>1</version>\n                    <state>11111110</state>\n                </option>\n                <option>\n                    <name>CCDebugInfo</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IEndianMode</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCLangConformance</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSignedPlainChar</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRequirePrototypes</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCDiagWarnAreErr</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCompilerRuntimeInfo</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>CCLibConfigHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>PreInclude</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CompilerMisraOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIncludePath2</name>\n                    <state>$PROJ_DIR$\\..</state>\n                    <state>$PROJ_DIR$\\..\\..</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm7-9\\qk\\iar</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\at91sam7s-ek</state>\n                </option>\n                <option>\n                    <name>CCStdIncCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCodeSection</name>\n                    <state>.text</state>\n                </option>\n                <option>\n                    <name>IProcessorMode2</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevel</name>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>CCOptStrategy</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevelSlave</name>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>CCPosIndRopi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndRwpi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndNoDynInit</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccLang</name>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>IccCDialect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccAllowVLA</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccStaticDestr</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCppInlineSemantics</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccFloatSemantics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCOptStrategySlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCGuardCalls</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccExceptions2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccRTTI2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OICompilerExtraOption</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>AARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>10</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>AObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>ACaseSensitivity</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacroChars</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnWhat</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnOne</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>ADebug</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AltRegisterNames</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ADefines</name>\n                    <state>ewarm</state>\n                </option>\n                <option>\n                    <name>AList</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AListHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AListing</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Includes</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacDefs</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacExps</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacExec</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OnlyAssed</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MultiLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLengthCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLength</name>\n                    <state>80</state>\n                </option>\n                <option>\n                    <name>TabSpacing</name>\n                    <state>8</state>\n                </option>\n                <option>\n                    <name>AXRef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDefines</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefInternal</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDual</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AOutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsEdit</name>\n                    <state>100</state>\n                </option>\n                <option>\n                    <name>AIgnoreStdInclude</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AUserIncludes</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AExtraOptionsCheckV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AExtraOptionsV2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AsmNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>OBJCOPY</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OOCOutputFormat</name>\n                    <version>3</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OCOutputOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OOCOutputFile</name>\n                    <state>dpp-qk.bin</state>\n                </option>\n                <option>\n                    <name>OOCCommandLineProducer</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OOCObjCopyEnable</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CUSTOM</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <extensions></extensions>\n                <cmdline></cmdline>\n                <hasPrio>0</hasPrio>\n            </data>\n        </settings>\n        <settings>\n            <name>BICOMP</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>BUILDACTION</name>\n            <archiveVersion>1</archiveVersion>\n            <data>\n                <prebuild></prebuild>\n                <postbuild></postbuild>\n            </data>\n        </settings>\n        <settings>\n            <name>ILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>23</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>IlinkLibIOConfig</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>XLinkMisraHandler</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkInputFileSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOutputFile</name>\n                    <state>dpp-qk.out</state>\n                </option>\n                <option>\n                    <name>IlinkDebugInfoEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkKeepSymbols</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkConfigDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkMapFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogInitialization</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogModule</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogSection</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogVeneer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfOverride</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile</name>\n                    <state>$PROJ_DIR$\\at91SAM7S64.icf</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFileSlave</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkSuppressDiags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsRem</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsWarn</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsErr</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkWarningsAreErrors</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkUseExtraOptions</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkLowLevelInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAutoLibEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAdditionalLibs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkOverrideProgramEntryLabel</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabelSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabel</name>\n                    <state>__iar_program_start</state>\n                </option>\n                <option>\n                    <name>DoFill</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>FillerByte</name>\n                    <state>0xFF</state>\n                </option>\n                <option>\n                    <name>FillerStart</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>FillerEnd</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>CrcSize</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcAlign</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcPoly</name>\n                    <state>0x11021</state>\n                </option>\n                <option>\n                    <name>CrcCompl</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcBitOrder</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcInitialValue</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>DoCrc</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkBufferedTerminalOutput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkStdoutInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcFullSize</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIElfToolPostProcess</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogAutoLibSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogRedirSymbols</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogUnusedFragments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcReverseByteOrder</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcUseAsInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptInline</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsAllow</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsForce</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptMergeDuplSections</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptUseVfe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptForceVfe</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackAnalysisEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackControlFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkStackCallGraphFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CrcAlgorithm</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcUnitSize</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkThreadsSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogCallGraph</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile_AltDefault</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkHeapSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLocaleSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkTrustzoneImportLibraryOut</name>\n                    <state>###Unitialized###</state>\n                </option>\n                <option>\n                    <name>OILinkExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign2</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IARCHIVE</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>IarchiveInputs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IarchiveOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IarchiveOutput</name>\n                    <state>###Unitialized###</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>BILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>Coder</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n    </configuration>\n    <group>\n        <name>Application</name>\n        <file>\n            <name>$PROJ_DIR$\\bsp.c</name>\n            <configuration>\n                <name>Debug</name>\n                <settings>\n                    <name>ICCARM</name>\n                    <data>\n                        <version>35</version>\n                        <wantNonLocal>0</wantNonLocal>\n                        <debug>1</debug>\n                        <option>\n                            <name>CCOptimizationNoSizeConstraints</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCDefines</name>\n                            <state></state>\n                        </option>\n                        <option>\n                            <name>CCPreprocFile</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCPreprocComments</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCPreprocLine</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCListCFile</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCListCMnemonics</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCListCMessages</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCListAssFile</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCListAssSource</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCEnableRemarks</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCDiagSuppress</name>\n                            <state>Pa050</state>\n                        </option>\n                        <option>\n                            <name>CCDiagRemark</name>\n                            <state></state>\n                        </option>\n                        <option>\n                            <name>CCDiagWarning</name>\n                            <state></state>\n                        </option>\n                        <option>\n                            <name>CCDiagError</name>\n                            <state></state>\n                        </option>\n                        <option>\n                            <name>CCObjPrefix</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>CCAllowList</name>\n                            <version>1</version>\n                            <state>11111110</state>\n                        </option>\n                        <option>\n                            <name>CCDebugInfo</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>IEndianMode</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>IProcessor</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>IExtraOptionsCheck</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>IExtraOptions</name>\n                            <state></state>\n                        </option>\n                        <option>\n                            <name>CCLangConformance</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCSignedPlainChar</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>CCRequirePrototypes</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>CCDiagWarnAreErr</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCCompilerRuntimeInfo</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>IFpuProcessor</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>OutputFile</name>\n                            <state>$FILE_BNAME$.o</state>\n                        </option>\n                        <option>\n                            <name>CCLibConfigHeader</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>PreInclude</name>\n                            <state></state>\n                        </option>\n                        <option>\n                            <name>CompilerMisraOverride</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCIncludePath2</name>\n                            <state>$PROJ_DIR$\\..</state>\n                            <state>$PROJ_DIR$\\..\\..</state>\n                            <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                            <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm7-9\\qk\\iar</state>\n                            <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\at91sam7s-ek</state>\n                        </option>\n                        <option>\n                            <name>CCStdIncCheck</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCCodeSection</name>\n                            <state>.text</state>\n                        </option>\n                        <option>\n                            <name>IProcessorMode2</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCOptLevel</name>\n                            <state>3</state>\n                        </option>\n                        <option>\n                            <name>CCOptStrategy</name>\n                            <version>0</version>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>CCOptLevelSlave</name>\n                            <state>3</state>\n                        </option>\n                        <option>\n                            <name>CompilerMisraRules98</name>\n                            <version>0</version>\n                            <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                        </option>\n                        <option>\n                            <name>CompilerMisraRules04</name>\n                            <version>0</version>\n                            <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                        </option>\n                        <option>\n                            <name>CCPosIndRopi</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCPosIndRwpi</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCPosIndNoDynInit</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>IccLang</name>\n                            <state>2</state>\n                        </option>\n                        <option>\n                            <name>IccCDialect</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>IccAllowVLA</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>IccStaticDestr</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>IccCppInlineSemantics</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>IccCmsis</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>IccFloatSemantics</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCNoLiteralPool</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCOptStrategySlave</name>\n                            <version>0</version>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>CCEncSource</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCEncOutput</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCEncOutputBom</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>CCEncInput</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>IccExceptions2</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>IccRTTI2</name>\n                            <state>0</state>\n                        </option>\n                    </data>\n                </settings>\n            </configuration>\n            <configuration>\n                <name>Release</name>\n                <settings>\n                    <name>ICCARM</name>\n                    <data>\n                        <version>35</version>\n                        <wantNonLocal>0</wantNonLocal>\n                        <debug>0</debug>\n                        <option>\n                            <name>CCOptimizationNoSizeConstraints</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCDefines</name>\n                            <state>NDEBUG</state>\n                        </option>\n                        <option>\n                            <name>CCPreprocFile</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCPreprocComments</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCPreprocLine</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCListCFile</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCListCMnemonics</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCListCMessages</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCListAssFile</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCListAssSource</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCEnableRemarks</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCDiagSuppress</name>\n                            <state>Pa050</state>\n                        </option>\n                        <option>\n                            <name>CCDiagRemark</name>\n                            <state></state>\n                        </option>\n                        <option>\n                            <name>CCDiagWarning</name>\n                            <state></state>\n                        </option>\n                        <option>\n                            <name>CCDiagError</name>\n                            <state></state>\n                        </option>\n                        <option>\n                            <name>CCObjPrefix</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>CCAllowList</name>\n                            <version>1</version>\n                            <state>11111110</state>\n                        </option>\n                        <option>\n                            <name>CCDebugInfo</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>IEndianMode</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>IProcessor</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>IExtraOptionsCheck</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>IExtraOptions</name>\n                            <state></state>\n                        </option>\n                        <option>\n                            <name>CCLangConformance</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCSignedPlainChar</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>CCRequirePrototypes</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>CCDiagWarnAreErr</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCCompilerRuntimeInfo</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>IFpuProcessor</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>OutputFile</name>\n                            <state>$FILE_BNAME$.o</state>\n                        </option>\n                        <option>\n                            <name>CCLibConfigHeader</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>PreInclude</name>\n                            <state></state>\n                        </option>\n                        <option>\n                            <name>CompilerMisraOverride</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCIncludePath2</name>\n                            <state>$PROJ_DIR$\\..</state>\n                            <state>$PROJ_DIR$\\..\\..</state>\n                            <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                            <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm7-9\\qk\\iar</state>\n                            <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\at91sam7s-ek</state>\n                        </option>\n                        <option>\n                            <name>CCStdIncCheck</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCCodeSection</name>\n                            <state>.text</state>\n                        </option>\n                        <option>\n                            <name>IProcessorMode2</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCOptLevel</name>\n                            <state>3</state>\n                        </option>\n                        <option>\n                            <name>CCOptStrategy</name>\n                            <version>0</version>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>CCOptLevelSlave</name>\n                            <state>3</state>\n                        </option>\n                        <option>\n                            <name>CompilerMisraRules98</name>\n                            <version>0</version>\n                            <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                        </option>\n                        <option>\n                            <name>CompilerMisraRules04</name>\n                            <version>0</version>\n                            <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                        </option>\n                        <option>\n                            <name>CCPosIndRopi</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCPosIndRwpi</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCPosIndNoDynInit</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>IccLang</name>\n                            <state>2</state>\n                        </option>\n                        <option>\n                            <name>IccCDialect</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>IccAllowVLA</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>IccStaticDestr</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>IccCppInlineSemantics</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>IccCmsis</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>IccFloatSemantics</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCNoLiteralPool</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCOptStrategySlave</name>\n                            <version>0</version>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>CCEncSource</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCEncOutput</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCEncOutputBom</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>CCEncInput</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>IccExceptions2</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>IccRTTI2</name>\n                            <state>0</state>\n                        </option>\n                    </data>\n                </settings>\n            </configuration>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\dpp.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\main.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\philo.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\table.c</name>\n        </file>\n    </group>\n    <group>\n        <name>AT91SAM7S-EK</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\at91sam7s-ek\\iar\\low_level_init.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\at91sam7s-ek\\iar\\startup_at91mc.s</name>\n        </file>\n        <configuration>\n            <name>Debug</name>\n            <settings>\n                <name>ICCARM</name>\n                <data>\n                    <version>35</version>\n                    <wantNonLocal>0</wantNonLocal>\n                    <debug>1</debug>\n                    <option>\n                        <name>CCOptimizationNoSizeConstraints</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCDefines</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCPreprocFile</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCPreprocComments</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCPreprocLine</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListCFile</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListCMnemonics</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListCMessages</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListAssFile</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListAssSource</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCEnableRemarks</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCDiagSuppress</name>\n                        <state>Pa050</state>\n                    </option>\n                    <option>\n                        <name>CCDiagRemark</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCDiagWarning</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCDiagError</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCObjPrefix</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCAllowList</name>\n                        <version>1</version>\n                        <state>11111110</state>\n                    </option>\n                    <option>\n                        <name>CCDebugInfo</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IEndianMode</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IProcessor</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IExtraOptionsCheck</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IExtraOptions</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCLangConformance</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCSignedPlainChar</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCRequirePrototypes</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCDiagWarnAreErr</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCCompilerRuntimeInfo</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IFpuProcessor</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>OutputFile</name>\n                        <state>$FILE_BNAME$.o</state>\n                    </option>\n                    <option>\n                        <name>CCLibConfigHeader</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>PreInclude</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CompilerMisraOverride</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCIncludePath2</name>\n                        <state>$PROJ_DIR$\\..</state>\n                        <state>$PROJ_DIR$\\..\\..</state>\n                        <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                        <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm7-9\\qk\\iar</state>\n                        <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\at91sam7s-ek</state>\n                    </option>\n                    <option>\n                        <name>CCStdIncCheck</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCCodeSection</name>\n                        <state>.text</state>\n                    </option>\n                    <option>\n                        <name>IProcessorMode2</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCOptLevel</name>\n                        <state>3</state>\n                    </option>\n                    <option>\n                        <name>CCOptStrategy</name>\n                        <version>0</version>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCOptLevelSlave</name>\n                        <state>3</state>\n                    </option>\n                    <option>\n                        <name>CompilerMisraRules98</name>\n                        <version>0</version>\n                        <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                    </option>\n                    <option>\n                        <name>CompilerMisraRules04</name>\n                        <version>0</version>\n                        <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                    </option>\n                    <option>\n                        <name>CCPosIndRopi</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCPosIndRwpi</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCPosIndNoDynInit</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IccLang</name>\n                        <state>2</state>\n                    </option>\n                    <option>\n                        <name>IccCDialect</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IccAllowVLA</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IccStaticDestr</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IccCppInlineSemantics</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IccCmsis</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IccFloatSemantics</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCNoLiteralPool</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCOptStrategySlave</name>\n                        <version>0</version>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCEncSource</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCEncOutput</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCEncOutputBom</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCEncInput</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IccExceptions2</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IccRTTI2</name>\n                        <state>0</state>\n                    </option>\n                </data>\n            </settings>\n        </configuration>\n        <configuration>\n            <name>Release</name>\n            <settings>\n                <name>ICCARM</name>\n                <data>\n                    <version>35</version>\n                    <wantNonLocal>0</wantNonLocal>\n                    <debug>0</debug>\n                    <option>\n                        <name>CCOptimizationNoSizeConstraints</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCDefines</name>\n                        <state>NDEBUG</state>\n                    </option>\n                    <option>\n                        <name>CCPreprocFile</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCPreprocComments</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCPreprocLine</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListCFile</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListCMnemonics</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListCMessages</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListAssFile</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListAssSource</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCEnableRemarks</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCDiagSuppress</name>\n                        <state>Pa050</state>\n                    </option>\n                    <option>\n                        <name>CCDiagRemark</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCDiagWarning</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCDiagError</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCObjPrefix</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCAllowList</name>\n                        <version>1</version>\n                        <state>11111110</state>\n                    </option>\n                    <option>\n                        <name>CCDebugInfo</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IEndianMode</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IProcessor</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IExtraOptionsCheck</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IExtraOptions</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCLangConformance</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCSignedPlainChar</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCRequirePrototypes</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCDiagWarnAreErr</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCCompilerRuntimeInfo</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IFpuProcessor</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>OutputFile</name>\n                        <state>$FILE_BNAME$.o</state>\n                    </option>\n                    <option>\n                        <name>CCLibConfigHeader</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>PreInclude</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CompilerMisraOverride</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCIncludePath2</name>\n                        <state>$PROJ_DIR$\\..</state>\n                        <state>$PROJ_DIR$\\..\\..</state>\n                        <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                        <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm7-9\\qk\\iar</state>\n                        <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\at91sam7s-ek</state>\n                    </option>\n                    <option>\n                        <name>CCStdIncCheck</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCCodeSection</name>\n                        <state>.text</state>\n                    </option>\n                    <option>\n                        <name>IProcessorMode2</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCOptLevel</name>\n                        <state>3</state>\n                    </option>\n                    <option>\n                        <name>CCOptStrategy</name>\n                        <version>0</version>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCOptLevelSlave</name>\n                        <state>3</state>\n                    </option>\n                    <option>\n                        <name>CompilerMisraRules98</name>\n                        <version>0</version>\n                        <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                    </option>\n                    <option>\n                        <name>CompilerMisraRules04</name>\n                        <version>0</version>\n                        <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                    </option>\n                    <option>\n                        <name>CCPosIndRopi</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCPosIndRwpi</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCPosIndNoDynInit</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IccLang</name>\n                        <state>2</state>\n                    </option>\n                    <option>\n                        <name>IccCDialect</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IccAllowVLA</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IccStaticDestr</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IccCppInlineSemantics</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IccCmsis</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IccFloatSemantics</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCNoLiteralPool</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCOptStrategySlave</name>\n                        <version>0</version>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCEncSource</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCEncOutput</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCEncOutputBom</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCEncInput</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IccExceptions2</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IccRTTI2</name>\n                        <state>0</state>\n                    </option>\n                </data>\n            </settings>\n        </configuration>\n    </group>\n    <group>\n        <name>QP_ARM</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qfn.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qkn\\qkn.c</name>\n        </file>\n        <configuration>\n            <name>Debug</name>\n            <settings>\n                <name>ICCARM</name>\n                <data>\n                    <version>35</version>\n                    <wantNonLocal>0</wantNonLocal>\n                    <debug>1</debug>\n                    <option>\n                        <name>CCOptimizationNoSizeConstraints</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCDefines</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCPreprocFile</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCPreprocComments</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCPreprocLine</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListCFile</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListCMnemonics</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListCMessages</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListAssFile</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListAssSource</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCEnableRemarks</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCDiagSuppress</name>\n                        <state>Pa050</state>\n                    </option>\n                    <option>\n                        <name>CCDiagRemark</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCDiagWarning</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCDiagError</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCObjPrefix</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCAllowList</name>\n                        <version>1</version>\n                        <state>11111110</state>\n                    </option>\n                    <option>\n                        <name>CCDebugInfo</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IEndianMode</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IProcessor</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IExtraOptionsCheck</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IExtraOptions</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCLangConformance</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCSignedPlainChar</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCRequirePrototypes</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCDiagWarnAreErr</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCCompilerRuntimeInfo</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IFpuProcessor</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>OutputFile</name>\n                        <state>$FILE_BNAME$.o</state>\n                    </option>\n                    <option>\n                        <name>CCLibConfigHeader</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>PreInclude</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CompilerMisraOverride</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCIncludePath2</name>\n                        <state>$PROJ_DIR$\\..</state>\n                        <state>$PROJ_DIR$\\..\\..</state>\n                        <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                        <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm7-9\\qk\\iar</state>\n                        <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\at91sam7s-ek</state>\n                    </option>\n                    <option>\n                        <name>CCStdIncCheck</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCCodeSection</name>\n                        <state>.text</state>\n                    </option>\n                    <option>\n                        <name>IProcessorMode2</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCOptLevel</name>\n                        <state>3</state>\n                    </option>\n                    <option>\n                        <name>CCOptStrategy</name>\n                        <version>0</version>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCOptLevelSlave</name>\n                        <state>3</state>\n                    </option>\n                    <option>\n                        <name>CompilerMisraRules98</name>\n                        <version>0</version>\n                        <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                    </option>\n                    <option>\n                        <name>CompilerMisraRules04</name>\n                        <version>0</version>\n                        <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                    </option>\n                    <option>\n                        <name>CCPosIndRopi</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCPosIndRwpi</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCPosIndNoDynInit</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IccLang</name>\n                        <state>2</state>\n                    </option>\n                    <option>\n                        <name>IccCDialect</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IccAllowVLA</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IccStaticDestr</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IccCppInlineSemantics</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IccCmsis</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IccFloatSemantics</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCNoLiteralPool</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCOptStrategySlave</name>\n                        <version>0</version>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCEncSource</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCEncOutput</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCEncOutputBom</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCEncInput</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IccExceptions2</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IccRTTI2</name>\n                        <state>0</state>\n                    </option>\n                </data>\n            </settings>\n        </configuration>\n        <configuration>\n            <name>Release</name>\n            <settings>\n                <name>ICCARM</name>\n                <data>\n                    <version>35</version>\n                    <wantNonLocal>0</wantNonLocal>\n                    <debug>0</debug>\n                    <option>\n                        <name>CCOptimizationNoSizeConstraints</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCDefines</name>\n                        <state>NDEBUG</state>\n                    </option>\n                    <option>\n                        <name>CCPreprocFile</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCPreprocComments</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCPreprocLine</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListCFile</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListCMnemonics</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListCMessages</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListAssFile</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListAssSource</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCEnableRemarks</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCDiagSuppress</name>\n                        <state>Pa050</state>\n                    </option>\n                    <option>\n                        <name>CCDiagRemark</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCDiagWarning</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCDiagError</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCObjPrefix</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCAllowList</name>\n                        <version>1</version>\n                        <state>11111110</state>\n                    </option>\n                    <option>\n                        <name>CCDebugInfo</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IEndianMode</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IProcessor</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IExtraOptionsCheck</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IExtraOptions</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCLangConformance</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCSignedPlainChar</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCRequirePrototypes</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCDiagWarnAreErr</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCCompilerRuntimeInfo</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IFpuProcessor</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>OutputFile</name>\n                        <state>$FILE_BNAME$.o</state>\n                    </option>\n                    <option>\n                        <name>CCLibConfigHeader</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>PreInclude</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CompilerMisraOverride</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCIncludePath2</name>\n                        <state>$PROJ_DIR$\\..</state>\n                        <state>$PROJ_DIR$\\..\\..</state>\n                        <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                        <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm7-9\\qk\\iar</state>\n                        <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\at91sam7s-ek</state>\n                    </option>\n                    <option>\n                        <name>CCStdIncCheck</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCCodeSection</name>\n                        <state>.text</state>\n                    </option>\n                    <option>\n                        <name>IProcessorMode2</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCOptLevel</name>\n                        <state>3</state>\n                    </option>\n                    <option>\n                        <name>CCOptStrategy</name>\n                        <version>0</version>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCOptLevelSlave</name>\n                        <state>3</state>\n                    </option>\n                    <option>\n                        <name>CompilerMisraRules98</name>\n                        <version>0</version>\n                        <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                    </option>\n                    <option>\n                        <name>CompilerMisraRules04</name>\n                        <version>0</version>\n                        <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                    </option>\n                    <option>\n                        <name>CCPosIndRopi</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCPosIndRwpi</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCPosIndNoDynInit</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IccLang</name>\n                        <state>2</state>\n                    </option>\n                    <option>\n                        <name>IccCDialect</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IccAllowVLA</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IccStaticDestr</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IccCppInlineSemantics</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IccCmsis</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IccFloatSemantics</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCNoLiteralPool</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCOptStrategySlave</name>\n                        <version>0</version>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCEncSource</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCEncOutput</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCEncOutputBom</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCEncInput</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IccExceptions2</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IccRTTI2</name>\n                        <state>0</state>\n                    </option>\n                </data>\n            </settings>\n        </configuration>\n    </group>\n    <group>\n        <name>QP_port</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm7-9\\qk\\iar\\qfn_port.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm7-9\\qk\\iar\\qkn_port.s</name>\n        </file>\n    </group>\n    <group>\n        <name>QP_THUMB</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qepn.c</name>\n        </file>\n    </group>\n</project>\n"
  },
  {
    "path": "examples/arm7-9/dpp_at91sam7s-ek/qk/iar/dpp-qk.eww",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<workspace>\n  <project>\n    <path>$WS_DIR$\\dpp-qk.ewp</path>\n  </project>\n  <batchBuild/>\n</workspace>\n\n\n"
  },
  {
    "path": "examples/arm7-9/dpp_at91sam7s-ek/qpn_conf.h",
    "content": "/*****************************************************************************\n* Product: QP-nano configuration for the Blinky example\n* Last Updated for Version: 5.6.2\n* Date of the Last Update:  2016-04-05\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef QPN_CONF_H\n#define QPN_CONF_H\n\n#define Q_PARAM_SIZE            4U\n#define QF_MAX_TICK_RATE        1U\n#define QF_TIMEEVT_CTR_SIZE     2U\n#define QF_TIMEEVT_PERIODIC\n\n#endif  /* QPN_CONF_H */\n"
  },
  {
    "path": "examples/arm7-9/dpp_at91sam7s-ek/qv/iar/at91SAM7S64.icf",
    "content": "/*###ICF### Section handled by ICF editor, don't touch! ****/\n/*-Editor annotation file-*/\n/* IcfEditorFile=\"$TOOLKIT_DIR$\\config\\ide\\IcfEditor\\a_v1_0.xml\" */\n/*-Specials-*/\ndefine symbol __ICFEDIT_intvec_start__ = 0x00100000;\n/*-Memory Regions-*/\ndefine symbol __ICFEDIT_region_ROM_start__ = 0x00100000;\ndefine symbol __ICFEDIT_region_ROM_end__   = 0x0010FFFF;\ndefine symbol __ICFEDIT_region_RAM_start__ = 0x00200000;\ndefine symbol __ICFEDIT_region_RAM_end__   = 0x00203FFF;\n/*-Sizes-*/\ndefine symbol __ICFEDIT_size_cstack__   = 0x400;\ndefine symbol __ICFEDIT_size_svcstack__ = 0;\ndefine symbol __ICFEDIT_size_irqstack__ = 0;\ndefine symbol __ICFEDIT_size_fiqstack__ = 0;\ndefine symbol __ICFEDIT_size_undstack__ = 0;\ndefine symbol __ICFEDIT_size_abtstack__ = 0;\ndefine symbol __ICFEDIT_size_heap__     = 0;\n/**** End of ICF editor section. ###ICF###*/\n\n\ndefine memory mem with size = 4G;\ndefine region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];\ndefine region VEC_region = mem:[from __ICFEDIT_region_RAM_start__ size 0x40];\ndefine region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ + 0x40 to __ICFEDIT_region_RAM_end__];\n\ndefine block CSTACK    with alignment = 8, size = __ICFEDIT_size_cstack__   { };\ndefine block SVC_STACK with alignment = 8, size = __ICFEDIT_size_svcstack__ { };\ndefine block IRQ_STACK with alignment = 8, size = __ICFEDIT_size_irqstack__ { };\ndefine block FIQ_STACK with alignment = 8, size = __ICFEDIT_size_fiqstack__ { };\ndefine block UND_STACK with alignment = 8, size = __ICFEDIT_size_undstack__ { };\ndefine block ABT_STACK with alignment = 8, size = __ICFEDIT_size_abtstack__ { };\ndefine block HEAP      with alignment = 8, size = __ICFEDIT_size_heap__     { };\n\ninitialize by copy { readwrite };\ndo not initialize  { section .noinit };\n\nplace at address mem:__ICFEDIT_intvec_start__    { readonly section .intvec };\n\nplace in ROM_region   { readonly };\nplace in VEC_region   { section .vectors };\nplace in RAM_region   { readwrite,\n                        block CSTACK, block SVC_STACK, block IRQ_STACK, block FIQ_STACK,\n                        block UND_STACK, block ABT_STACK, block HEAP };"
  },
  {
    "path": "examples/arm7-9/dpp_at91sam7s-ek/qv/iar/bsp.c",
    "content": "/*****************************************************************************\n* Product: DPP on AT91SAM7S-EK board, cooperative QV kernel\n* Last Updated for Version: 5.5.1\n* Date of the Last Update:  2015-10-05\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"dpp.h\"\n#include \"bsp.h\"\n\n#include \"AT91SAM7S64.h\"      /* Atmel AT91SAM7S64 MCU */\n\n//Q_DEFINE_THIS_FILE\n\n#pragma diag_suppress=Ta021  /* call __iar_disable_interrupt from __ramfunc */\n#pragma diag_suppress=Ta022  /* possible ROM access <ptr> from __ramfunc */\n#pragma diag_suppress=Ta023  /* call to non __ramfunc from __ramfunc */\n\n/* Local objects -----------------------------------------------------------*/\ntypedef void (*IntVector)(void); /* IntVector pointer-to-function */\nuint32_t get_MCK_FREQ(void);     /* CPU clock set up in __low_level_init() */\n\nuint32_t const l_led[] = {\n    (1U << 0),  /* LED D1 on AT91SAM7S-EK */\n    (1U << 1),  /* LED D2 on AT91SAM7S-EK */\n    (1U << 2),  /* LED D3 on AT91SAM7S-EK */\n    (1U << 3)   /* LED D4 on AT91SAM7S-EK */\n};\n\n#define LED_ON(num_)  (AT91C_BASE_PIOA->PIO_CODR = l_led[num_])\n#define LED_OFF(num_) (AT91C_BASE_PIOA->PIO_SODR = l_led[num_])\n\nuint32_t const l_btn[] = {\n    (1U << 19), /* BTN P1 on AT91SAM7S-EK */\n    (1U << 20), /* BTN P2 on AT91SAM7S-EK */\n    (1U << 14), /* BTN P3 on AT91SAM7S-EK */\n    (1U << 15)  /* BTN P4 on AT91SAM7S-EK */\n};\n\n/* random seed */\nstatic uint32_t l_rnd;\n\n/* ISRs and ISR \"wrappers\" ================================================*/\n__ramfunc\nvoid BSP_irq(void) {\n    IntVector vect = (IntVector)AT91C_BASE_AIC->AIC_IVR; /* read the IVR */\n    AT91C_BASE_AIC->AIC_IVR = (AT91_REG)vect; /* write AIC_IVR if protected */\n\n    QF_INT_ENABLE();    /* allow nesting interrupts */\n    (*vect)();          /* call the IRQ ISR via the pointer to function */\n    QF_INT_DISABLE();   /* disable interrups for the exit sequence */\n\n    AT91C_BASE_AIC->AIC_EOICR = 0; /* write AIC_EOICR to clear interrupt */\n}\n/* ISRs --------------------------------------------------------------------*/\n__ramfunc\nstatic void ISR_tick(void) {\n    /* state of the button debouncing, see below */\n    static struct ButtonsDebouncing {\n        uint32_t depressed;\n        uint32_t previous;\n    } buttons = { ~0U, ~0U };\n    uint32_t current;\n    uint32_t volatile tmp;\n\n    /* clear the interrupt source */\n    tmp = AT91C_BASE_PITC->PITC_PIVR;\n\n    QF_tickXISR(0U); /* process time events for rate 0 */\n\n    /* Perform the debouncing of buttons. The algorithm for debouncing\n    * adapted from the book \"Embedded Systems Dictionary\" by Jack Ganssle\n    * and Michael Barr, page 71.\n    */\n    current = ~AT91C_BASE_PIOA->PIO_PDSR;/* read PIOA with state of Buttons */\n    tmp = buttons.depressed; /* save the debounced depressed buttons */\n    buttons.depressed |= (buttons.previous & current); /* set depressed */\n    buttons.depressed &= (buttons.previous | current); /* clear released */\n    buttons.previous   = current; /* update the history */\n    tmp ^= buttons.depressed;     /* changed debounced depressed */\n    if ((tmp & l_btn[0]) != 0U) {  /* debounced BTN_P1 state changed? */\n        if ((buttons.depressed & l_btn[0]) != 0U) { /* is BTN_P1 depressed? */\n            QACTIVE_POST_ISR(&AO_Table, PAUSE_SIG, 0U);\n        }\n        else {            /* the button is released */\n            QACTIVE_POST_ISR(&AO_Table, SERVE_SIG, 0U);\n        }\n    }\n}\n/*..........................................................................*/\n__ramfunc\nstatic void ISR_spur(void) {\n}\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    uint32_t i;\n\n    /* When using the JTAG debugger the AIC might not be initialised\n    * to the correct default state. This line ensures that AIC does not\n    * mask all interrupts at the start.\n    */\n    AT91C_BASE_AIC->AIC_EOICR = 0U;\n\n    /* enable peripheral clock for PIOA */\n    AT91C_BASE_PMC->PMC_PCER = (1U << AT91C_ID_PIOA);\n\n    /* initialize the LEDs... */\n    for (i = 0; i < Q_DIM(l_led); ++i) {\n        AT91C_BASE_PIOA->PIO_PER = l_led[i];  /* enable pin */\n        AT91C_BASE_PIOA->PIO_OER = l_led[i];  /* configure as output pin */\n        LED_OFF(i);                           /* extinguish the LED */\n    }\n\n    /* initialize the Buttons... */\n    for (i = 0; i < Q_DIM(l_btn); ++i) {\n        AT91C_BASE_PIOA->PIO_ODR = l_btn[i]; /* disable output (input pin) */\n        AT91C_BASE_PIOA->PIO_PER = l_btn[i]; /* enable pin */\n    }\n\n    /* configure Advanced Interrupt Controller (AIC) of AT91... */\n    AT91C_BASE_AIC->AIC_IDCR = ~0;            /* disable all interrupts */\n    AT91C_BASE_AIC->AIC_ICCR = ~0;            /* clear all interrupts */\n    for (i = 0; i < 8; ++i) {\n        AT91C_BASE_AIC->AIC_EOICR = 0;        /* write AIC_EOICR 8 times */\n    }\n\n    /* set the desired ticking rate for the PIT... */\n    i = (get_MCK_FREQ() / 16U / BSP_TICKS_PER_SEC) - 1U;\n    AT91C_BASE_PITC->PITC_PIMR = (AT91C_PITC_PITEN | AT91C_PITC_PITIEN | i);\n\n    BSP_randomSeed(1234U); /* seed the random number generator */\n}\n/*..........................................................................*/\nvoid BSP_displayPhilStat(uint8_t n, char const *stat) {\n    if (stat[0] == 'h') {\n        LED_ON(0);  /* turn LED on  */\n    }\n    else {\n        LED_OFF(0); /* turn LED off */\n    }\n    if (stat[0] == 'e') {\n        LED_ON(1);  /* turn LED on  */\n    }\n    else {\n        LED_OFF(1); /* turn LED off */\n    }\n}\n/*..........................................................................*/\nvoid BSP_displayPaused(uint8_t paused) {\n    if (paused != (uint8_t)0) {\n        LED_ON(2);  /* turn LED on  */\n    }\n    else {\n        LED_OFF(2); /* turn LED off */\n    }\n}\n/*..........................................................................*/\nuint32_t BSP_random(void) { /* a very cheap pseudo-random-number generator */\n    /* \"Super-Duper\" Linear Congruential Generator (LCG)\n    * LCG(2^32, 3*7*11*13*23, 0, seed)\n    */\n    l_rnd = l_rnd * (3U*7U*11U*13U*23U);\n\n    return l_rnd >> 8;\n}\n/*..........................................................................*/\nvoid BSP_randomSeed(uint32_t seed) {\n    l_rnd = seed;\n}\n/*..........................................................................*/\nvoid BSP_terminate(int16_t result) {\n    (void)result;\n}\n\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    /* hook the exception handlers from the QF port... */\n    *(uint32_t volatile *)0x24 = (uint32_t)&QF_undef;\n    *(uint32_t volatile *)0x28 = (uint32_t)&QF_swi;\n    *(uint32_t volatile *)0x2C = (uint32_t)&QF_pAbort;\n    *(uint32_t volatile *)0x30 = (uint32_t)&QF_dAbort;\n    *(uint32_t volatile *)0x34 = (uint32_t)&QF_reserved;\n    *(uint32_t volatile *)0x38 = (uint32_t)&QV_irq;\n    *(uint32_t volatile *)0x3C = (uint32_t)0; /* QV_fiq unimplemented! */\n\n    AT91C_BASE_AIC->AIC_SVR[AT91C_ID_SYS] = (uint32_t)&ISR_tick;\n    AT91C_BASE_AIC->AIC_SPU = (uint32_t)&ISR_spur; /* spurious IRQ */\n\n    AT91C_BASE_AIC->AIC_SMR[AT91C_ID_SYS] =\n        (AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL | AT91C_AIC_PRIOR_LOWEST);\n    AT91C_BASE_AIC->AIC_ICCR = (1 << AT91C_ID_SYS);\n    AT91C_BASE_AIC->AIC_IECR = (1 << AT91C_ID_SYS);\n}\n/*..........................................................................*/\n__ramfunc\nvoid QV_onIdle(void) { /* NOTE: called with interrupts DISABLED */\n    /* toggle first LED on and off, see NOTE01 */\n    LED_ON(3);  /* turn LED on  */\n    LED_OFF(3); /* turn LED off */\n\n#ifdef NDEBUG /* only if not debugging (idle mode hinders debugging) */\n    AT91C_BASE_PMC->PMC_SCDR = 1;/* Power-Management: disable the CPU clock */\n    /* NOTE: an interrupt starts the CPU clock again */\n    QF_INT_ENABLE(); /* enable interrupts as soon as CPU clock starts */\n#else\n    QF_INT_ENABLE();\n#endif\n}\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const module, int loc) {\n    QF_INT_DISABLE(); /* disable all interrupts */\n    /*\n    * NOTE: add here your application-specific error handling\n    */\n    (void)module;\n    (void)loc;\n\n    /* trip the Watchdog to reset the system */\n    AT91C_BASE_WDTC->WDTC_WDCR = (0xA5U << 24) | AT91C_WDTC_WDRSTT;\n\n    /* hang in here until the reset occurrs */\n    for (;;) {\n    }\n}\n\n/*****************************************************************************\n* NOTE01:\n* One of the LEDs is used to visualize the idle loop activity. The brightness\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n"
  },
  {
    "path": "examples/arm7-9/dpp_at91sam7s-ek/qv/iar/dpp-qv.ewd",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project>\n    <fileVersion>3</fileVersion>\n    <configuration>\n        <name>Debug</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>1</debug>\n        <settings>\n            <name>C-SPY</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCVariant</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>MemOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MemFile</name>\n                    <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\Atmel\\AT91SAM7S64.ddf</state>\n                </option>\n                <option>\n                    <name>RunToEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RunToName</name>\n                    <state>main</state>\n                </option>\n                <option>\n                    <name>CExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDDFArgumentProducer</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadSuppressDownload</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDownloadVerifyAll</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCProductVersion</name>\n                    <state>7.40.2.8567</state>\n                </option>\n                <option>\n                    <name>OCDynDriverList</name>\n                    <state>JLINK_ID</state>\n                </option>\n                <option>\n                    <name>OCLastSavedByProductVersion</name>\n                    <state>8.11.1.13270</state>\n                </option>\n                <option>\n                    <name>UseFlashLoader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CLowLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CDevice</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>FlashLoadersV3</name>\n                    <state>$TOOLKIT_DIR$\\config\\flashloader\\Atmel\\AT91SAM7S64-EK\\at91sam7s64-flash.board</state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OverrideDefFlashBoard</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesOffset1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesUse1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDeviceConfigMacroFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDebuggerExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAllMTBOptions</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreNrOfCores</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreMaster</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCMulticorePort</name>\n                    <state>53461</state>\n                </option>\n                <option>\n                    <name>OCMulticoreWorkspace</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveProject</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveConfiguration</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadExtraImage</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAttachSlave</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ARMSIM_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCSimDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCSimEnablePSP</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspOverrideConfig</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspConfigFile</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CADI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCadiMemory</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Fast Model</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCADILogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCADILogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CMSISDAP_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CMSISDAPResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>CMSISDAPDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CMSISDAPProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>GDBSERVER_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJTagBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IJET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>8</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>IjetPowerFromProbe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPowerRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetProtocolRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPin</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPrescalerList</name>\n                    <version>1</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IjetProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPreferETB</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetTraceSettingsList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetTraceSizeList</name>\n                    <version>0</version>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>FlashBoardPathSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>JLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>16</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>JLinkSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJLinkHWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>JLinkInitialSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCDoJlinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkCommRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>CCJLinkSpeedRadioV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCUSBDevice</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkResetList</name>\n                    <version>6</version>\n                    <state>5</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCTcpIpAlt</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTcpIpSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSourceDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkDeviceName</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>LMIFTDI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>2</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>LmiftdiSpeed</name>\n                    <state>500</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>PEMICRO_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>3</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJPEMicroShowSettings</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>STLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkResetList</name>\n                    <version>3</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDAPNumber</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkDebugAccessPortRadio</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>THIRDPARTY_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CThirdPartyDriverDll</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>TIFET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVccTypeDefault</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVoltage</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CCMSPFetVCCDefault</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetSettlingtime</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioJtagSpeedType</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetConnection</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetUsbComPort</name>\n                    <state>Automatic</state>\n                </option>\n                <option>\n                    <name>CCMSPFetAllowAccessToBSL</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioEraseFlash</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>XDS100_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>6</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TIPackageOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TIPackage</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>BoardFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCXds100BreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100DoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CpuClockEdit</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockEdit</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCXds100HWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100JtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ProbeList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPortRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPort</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <debuggerPlugins>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n                <loadFlag>1</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n        </debuggerPlugins>\n    </configuration>\n    <configuration>\n        <name>Release</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>0</debug>\n        <settings>\n            <name>C-SPY</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCVariant</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>MemOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MemFile</name>\n                    <state>$TOOLKIT_DIR$\\CONFIG\\debugger\\Atmel\\AT91SAM7S64.ddf</state>\n                </option>\n                <option>\n                    <name>RunToEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RunToName</name>\n                    <state>main</state>\n                </option>\n                <option>\n                    <name>CExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDDFArgumentProducer</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadSuppressDownload</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDownloadVerifyAll</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProductVersion</name>\n                    <state>7.40.2.8567</state>\n                </option>\n                <option>\n                    <name>OCDynDriverList</name>\n                    <state>ARMSIM_ID</state>\n                </option>\n                <option>\n                    <name>OCLastSavedByProductVersion</name>\n                    <state>7.40.2.8567</state>\n                </option>\n                <option>\n                    <name>UseFlashLoader</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CLowLevel</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacFile2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CDevice</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>FlashLoadersV3</name>\n                    <state>$TOOLKIT_DIR$\\config\\flashloader\\Atmel\\AT91SAM7S64-EK\\at91sam7s64-flash.board</state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesSuppressCheck3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesPath3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OverrideDefFlashBoard</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesOffset1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesOffset3</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCImagesUse1</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCImagesUse3</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDeviceConfigMacroFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDebuggerExtraOption</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAllMTBOptions</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreNrOfCores</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCMulticoreMaster</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCMulticorePort</name>\n                    <state>53461</state>\n                </option>\n                <option>\n                    <name>OCMulticoreWorkspace</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveProject</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCMulticoreSlaveConfiguration</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCDownloadExtraImage</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCAttachSlave</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ARMSIM_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCSimDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCSimEnablePSP</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspOverrideConfig</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCSimPspConfigFile</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CADI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCadiMemory</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Fast Model</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCADILogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCADILogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CMSISDAP_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CMSISDAPResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>CMSISDAPHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>CMSISDAPDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CMSISDAPProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CMSISDAPSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCMSISDAPUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>GDBSERVER_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJTagBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJTagUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IJET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>8</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CatchSFERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OCIarProbeScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetResetList</name>\n                    <version>1</version>\n                    <state>10</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDuration</name>\n                    <state>300</state>\n                </option>\n                <option>\n                    <name>IjetHWResetDelay</name>\n                    <state>200</state>\n                </option>\n                <option>\n                    <name>IjetPowerFromProbe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPowerRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTargetEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetProtocolRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPin</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>IjetSwoPrescalerList</name>\n                    <version>1</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetRestoreBreakpointsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetUpdateBreakpointsEdit</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>RDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchUndef</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchData</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchPrefetch</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>RDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CatchMMERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchNOCPERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchCHKERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchSTATERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchBUSERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchINTERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchHARDERR</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeCfgOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCProbeConfig</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IjetProbeConfigRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetMultiCPUNumber</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetSelectedCPUBehaviour</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ICpuName</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>OCJetEmuParams</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetPreferETB</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IjetTraceSettingsList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IjetTraceSizeList</name>\n                    <version>0</version>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>FlashBoardPathSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCIjetUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>JLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>16</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>JLinkSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCJLinkHWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>JLinkInitialSpeed</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCDoJlinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCScanChainNonARMDevices</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkMultiTarget</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkIRLength</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkCommRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTCPIP</name>\n                    <state>aaa.bbb.ccc.ddd</state>\n                </option>\n                <option>\n                    <name>CCJLinkSpeedRadioV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCUSBDevice</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRDICatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCRDICatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkBreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkResetList</name>\n                    <version>6</version>\n                    <state>5</state>\n                </option>\n                <option>\n                    <name>CCJLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkScriptFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCTcpIpAlt</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCJLinkTcpIpSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkTraceSourceDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OCJLinkDeviceName</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>LMIFTDI_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>2</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>LmiftdiSpeed</name>\n                    <state>500</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiftdiLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCLmiFtdiInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>PEMICRO_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>3</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCJPEMicroShowSettings</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>STLINK_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>4</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkResetList</name>\n                    <version>3</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCpuClockEdit</name>\n                    <state>72.0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSwoClockEdit</name>\n                    <state>2000</state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkCatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkUsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkJtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSTLinkDAPNumber</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCSTLinkDebugAccessPortRadio</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>THIRDPARTY_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CThirdPartyDriverDll</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CThirdPartyLogFileEditB</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>TIFET_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetInterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVccTypeDefault</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetVoltage</name>\n                    <state>###Uninitialized###</state>\n                </option>\n                <option>\n                    <name>CCMSPFetVCCDefault</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetTargetSettlingtime</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioJtagSpeedType</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCMSPFetConnection</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetUsbComPort</name>\n                    <state>Automatic</state>\n                </option>\n                <option>\n                    <name>CCMSPFetAllowAccessToBSL</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetDoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCMSPFetLogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCMSPFetRadioEraseFlash</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>XDS100_ID</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>6</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OCDriverInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>TIPackageOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>TIPackage</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>BoardFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>DoLogfile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>LogFile</name>\n                    <state>$PROJ_DIR$\\cspycomm.log</state>\n                </option>\n                <option>\n                    <name>CCXds100BreakpointRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100DoUpdateBreakpoints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UpdateBreakpoints</name>\n                    <state>_call_main</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchReset</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchUndef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSWI</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchData</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchPrefetch</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchIRQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchFIQ</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCORERESET</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchMMERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchNOCPERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchCHRERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSTATERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchBUSERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchINTERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchSFERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchHARDERR</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CatchDummy</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100CpuClockEdit</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockAuto</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SwoClockEdit</name>\n                    <state>1000</state>\n                </option>\n                <option>\n                    <name>CCXds100HWResetDelay</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ResetList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNo</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCXds100UsbSerialNoSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100JtagSpeedList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100InterfaceCmdLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100ProbeList</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPortRadio</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCXds100SWOPort</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <debuggerPlugins>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\ThreadX\\ThreadXArmPlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n                <loadFlag>1</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n            <plugin>\n                <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n                <loadFlag>0</loadFlag>\n            </plugin>\n        </debuggerPlugins>\n    </configuration>\n</project>\n"
  },
  {
    "path": "examples/arm7-9/dpp_at91sam7s-ek/qv/iar/dpp-qv.ewp",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project>\n    <fileVersion>3</fileVersion>\n    <configuration>\n        <name>Debug</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>1</debug>\n        <settings>\n            <name>General</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>ExePath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>ObjPath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>ListPath</name>\n                    <state>dbg</state>\n                </option>\n                <option>\n                    <name>GEndianMode</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>Input description</name>\n                    <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n                </option>\n                <option>\n                    <name>Output description</name>\n                    <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n                </option>\n                <option>\n                    <name>GOutputBinary</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCoreOrChip</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelect</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelectSlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RTDescription</name>\n                    <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n                </option>\n                <option>\n                    <name>OGProductVersion</name>\n                    <state>5.11.0.50579</state>\n                </option>\n                <option>\n                    <name>OGLastSavedByProductVersion</name>\n                    <state>8.11.1.13270</state>\n                </option>\n                <option>\n                    <name>GeneralEnableMisra</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVerbose</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGChipSelectEditMenu</name>\n                    <state>AT91SAM7S64\tAtmel AT91SAM7S64</state>\n                </option>\n                <option>\n                    <name>GenLowLevelInterface</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GEndianModeBE</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGBufferedTerminalOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenStdoutInterface</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>RTConfigPath2</name>\n                    <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n                </option>\n                <option>\n                    <name>GBECoreSlave</name>\n                    <version>25</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsis</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsisDspLib</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibThreads</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CoreVariant</name>\n                    <version>25</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUDeviceSlave</name>\n                    <state>AT91SAM7S64\tAtmel AT91SAM7S64</state>\n                </option>\n                <option>\n                    <name>FPU2</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>NrRegs</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>NEON</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUCoreSlave2</name>\n                    <version>25</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCMSISPackSelectDevice</name>\n                </option>\n                <option>\n                    <name>OgLibHeap</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGLibAdditionalLocale</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGPrintfVariant</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>OGPrintfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGScanfVariant</name>\n                    <version>0</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OGScanfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenLocaleTags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>GenLocaleDisplayOnly</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ICCARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>34</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>CCOptimizationNoSizeConstraints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCPreprocFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocComments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMnemonics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMessages</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDiagSuppress</name>\n                    <state>Pa050</state>\n                </option>\n                <option>\n                    <name>CCDiagRemark</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagWarning</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagError</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCAllowList</name>\n                    <version>1</version>\n                    <state>11111110</state>\n                </option>\n                <option>\n                    <name>CCDebugInfo</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IEndianMode</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCLangConformance</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSignedPlainChar</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRequirePrototypes</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCDiagWarnAreErr</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCompilerRuntimeInfo</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>CCLibConfigHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>PreInclude</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CompilerMisraOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIncludePath2</name>\n                    <state>$PROJ_DIR$\\..</state>\n                    <state>$PROJ_DIR$\\..\\..</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm7-9\\qv\\iar</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\at91sam7s-ek</state>\n                </option>\n                <option>\n                    <name>CCStdIncCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCodeSection</name>\n                    <state>.text</state>\n                </option>\n                <option>\n                    <name>IProcessorMode2</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevel</name>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>CCOptStrategy</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevelSlave</name>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>CCPosIndRopi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndRwpi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndNoDynInit</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccLang</name>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>IccCDialect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccAllowVLA</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccStaticDestr</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCppInlineSemantics</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccFloatSemantics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCOptStrategySlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCGuardCalls</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccExceptions2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccRTTI2</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>AARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>10</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>AObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>ACaseSensitivity</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacroChars</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnWhat</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnOne</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>ADebug</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AltRegisterNames</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ADefines</name>\n                    <state>ewarm</state>\n                </option>\n                <option>\n                    <name>AList</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AListHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AListing</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Includes</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacDefs</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacExps</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacExec</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OnlyAssed</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MultiLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLengthCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLength</name>\n                    <state>80</state>\n                </option>\n                <option>\n                    <name>TabSpacing</name>\n                    <state>8</state>\n                </option>\n                <option>\n                    <name>AXRef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDefines</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefInternal</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDual</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AOutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsEdit</name>\n                    <state>100</state>\n                </option>\n                <option>\n                    <name>AIgnoreStdInclude</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AUserIncludes</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AExtraOptionsCheckV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AExtraOptionsV2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AsmNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>OBJCOPY</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>OOCOutputFormat</name>\n                    <version>3</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OCOutputOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OOCOutputFile</name>\n                    <state>dpp-qv.bin</state>\n                </option>\n                <option>\n                    <name>OOCCommandLineProducer</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OOCObjCopyEnable</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CUSTOM</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <extensions></extensions>\n                <cmdline></cmdline>\n                <hasPrio>0</hasPrio>\n            </data>\n        </settings>\n        <settings>\n            <name>BICOMP</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>BUILDACTION</name>\n            <archiveVersion>1</archiveVersion>\n            <data>\n                <prebuild></prebuild>\n                <postbuild></postbuild>\n            </data>\n        </settings>\n        <settings>\n            <name>ILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>20</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>IlinkLibIOConfig</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>XLinkMisraHandler</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkInputFileSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOutputFile</name>\n                    <state>dpp-qv.out</state>\n                </option>\n                <option>\n                    <name>IlinkDebugInfoEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkKeepSymbols</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkConfigDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkMapFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogInitialization</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogModule</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogSection</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogVeneer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfOverride</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile</name>\n                    <state>$PROJ_DIR$\\at91SAM7S64.icf</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFileSlave</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkSuppressDiags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsRem</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsWarn</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsErr</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkWarningsAreErrors</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkUseExtraOptions</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkLowLevelInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAutoLibEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAdditionalLibs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkOverrideProgramEntryLabel</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabelSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabel</name>\n                    <state>__iar_program_start</state>\n                </option>\n                <option>\n                    <name>DoFill</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>FillerByte</name>\n                    <state>0xFF</state>\n                </option>\n                <option>\n                    <name>FillerStart</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>FillerEnd</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>CrcSize</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcAlign</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcPoly</name>\n                    <state>0x11021</state>\n                </option>\n                <option>\n                    <name>CrcCompl</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcBitOrder</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcInitialValue</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>DoCrc</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkBufferedTerminalOutput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkStdoutInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcFullSize</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIElfToolPostProcess</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogAutoLibSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogRedirSymbols</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogUnusedFragments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcReverseByteOrder</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcUseAsInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptInline</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsAllow</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsForce</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptMergeDuplSections</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptUseVfe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptForceVfe</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackAnalysisEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackControlFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkStackCallGraphFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CrcAlgorithm</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcUnitSize</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkThreadsSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogCallGraph</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile_AltDefault</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkHeapSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLocaleSelect</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IARCHIVE</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>1</debug>\n                <option>\n                    <name>IarchiveInputs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IarchiveOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IarchiveOutput</name>\n                    <state>###Unitialized###</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>BILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>Coder</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n    </configuration>\n    <configuration>\n        <name>Release</name>\n        <toolchain>\n            <name>ARM</name>\n        </toolchain>\n        <debug>0</debug>\n        <settings>\n            <name>General</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <version>28</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>ExePath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>ObjPath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>ListPath</name>\n                    <state>rel</state>\n                </option>\n                <option>\n                    <name>GEndianMode</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>Input description</name>\n                    <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n                </option>\n                <option>\n                    <name>Output description</name>\n                    <state>No specifier a, A, no specifier n, no float nor long long, no flags.</state>\n                </option>\n                <option>\n                    <name>GOutputBinary</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCoreOrChip</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelect</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibSelectSlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>RTDescription</name>\n                    <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n                </option>\n                <option>\n                    <name>OGProductVersion</name>\n                    <state>5.11.0.50579</state>\n                </option>\n                <option>\n                    <name>OGLastSavedByProductVersion</name>\n                    <state>7.70.1.11471</state>\n                </option>\n                <option>\n                    <name>GeneralEnableMisra</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVerbose</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGChipSelectEditMenu</name>\n                    <state>AT91SAM7S64\tAtmel AT91SAM7S64</state>\n                </option>\n                <option>\n                    <name>GenLowLevelInterface</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>GEndianModeBE</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGBufferedTerminalOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenStdoutInterface</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>GeneralMisraVer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GeneralMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>RTConfigPath2</name>\n                    <state>$TOOLKIT_DIR$\\INC\\c\\DLib_Config_Normal.h</state>\n                </option>\n                <option>\n                    <name>GBECoreSlave</name>\n                    <version>25</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsis</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGUseCmsisDspLib</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GRuntimeLibThreads</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CoreVariant</name>\n                    <version>25</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUDeviceSlave</name>\n                    <state>AT91SAM7S64\tAtmel AT91SAM7S64</state>\n                </option>\n                <option>\n                    <name>FPU2</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>NrRegs</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>NEON</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GFPUCoreSlave2</name>\n                    <version>25</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGCMSISPackSelectDevice</name>\n                </option>\n                <option>\n                    <name>OgLibHeap</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGLibAdditionalLocale</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGPrintfVariant</name>\n                    <version>0</version>\n                    <state>4</state>\n                </option>\n                <option>\n                    <name>OGPrintfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OGScanfVariant</name>\n                    <version>0</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OGScanfMultibyteSupport</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>GenLocaleTags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>GenLocaleDisplayOnly</name>\n                    <state></state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>ICCARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>34</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>CCOptimizationNoSizeConstraints</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDefines</name>\n                    <state>NDEBUG</state>\n                </option>\n                <option>\n                    <name>CCPreprocFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocComments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPreprocLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMnemonics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListCMessages</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCListAssSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCDiagSuppress</name>\n                    <state>Pa050</state>\n                </option>\n                <option>\n                    <name>CCDiagRemark</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagWarning</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCDiagError</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCAllowList</name>\n                    <version>1</version>\n                    <state>11111110</state>\n                </option>\n                <option>\n                    <name>CCDebugInfo</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IEndianMode</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IExtraOptionsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CCLangConformance</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCSignedPlainChar</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCRequirePrototypes</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCDiagWarnAreErr</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCompilerRuntimeInfo</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>CCLibConfigHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>PreInclude</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CompilerMisraOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCIncludePath2</name>\n                    <state>$PROJ_DIR$\\..</state>\n                    <state>$PROJ_DIR$\\..\\..</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm7-9\\qv\\iar</state>\n                    <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\at91sam7s-ek</state>\n                </option>\n                <option>\n                    <name>CCStdIncCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCCodeSection</name>\n                    <state>.text</state>\n                </option>\n                <option>\n                    <name>IProcessorMode2</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevel</name>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>CCOptStrategy</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCOptLevelSlave</name>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules98</name>\n                    <version>0</version>\n                    <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                </option>\n                <option>\n                    <name>CompilerMisraRules04</name>\n                    <version>0</version>\n                    <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                </option>\n                <option>\n                    <name>CCPosIndRopi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndRwpi</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCPosIndNoDynInit</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccLang</name>\n                    <state>2</state>\n                </option>\n                <option>\n                    <name>IccCDialect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccAllowVLA</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccStaticDestr</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCppInlineSemantics</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IccFloatSemantics</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCOptStrategySlave</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCGuardCalls</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncSource</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CCEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CCEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccExceptions2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IccRTTI2</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>AARM</name>\n            <archiveVersion>2</archiveVersion>\n            <data>\n                <version>10</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>AObjPrefix</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AEndian</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>ACaseSensitivity</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacroChars</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnWhat</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AWarnOne</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange1</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AWarnRange2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>ADebug</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AltRegisterNames</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ADefines</name>\n                    <state>ewarm</state>\n                </option>\n                <option>\n                    <name>AList</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AListHeader</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AListing</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>Includes</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacDefs</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MacExps</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>MacExec</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OnlyAssed</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>MultiLine</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLengthCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>PageLength</name>\n                    <state>80</state>\n                </option>\n                <option>\n                    <name>TabSpacing</name>\n                    <state>8</state>\n                </option>\n                <option>\n                    <name>AXRef</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDefines</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefInternal</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AXRefDual</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AFpuProcessor</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>AOutputFile</name>\n                    <state>$FILE_BNAME$.o</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsCheck</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>ALimitErrorsEdit</name>\n                    <state>100</state>\n                </option>\n                <option>\n                    <name>AIgnoreStdInclude</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AUserIncludes</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AExtraOptionsCheckV2</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>AExtraOptionsV2</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>AsmNoLiteralPool</name>\n                    <state>0</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>OBJCOPY</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>1</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>OOCOutputFormat</name>\n                    <version>3</version>\n                    <state>3</state>\n                </option>\n                <option>\n                    <name>OCOutputOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>OOCOutputFile</name>\n                    <state>dpp-qv.bin</state>\n                </option>\n                <option>\n                    <name>OOCCommandLineProducer</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>OOCObjCopyEnable</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>CUSTOM</name>\n            <archiveVersion>3</archiveVersion>\n            <data>\n                <extensions></extensions>\n                <cmdline></cmdline>\n                <hasPrio>0</hasPrio>\n            </data>\n        </settings>\n        <settings>\n            <name>BICOMP</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>BUILDACTION</name>\n            <archiveVersion>1</archiveVersion>\n            <data>\n                <prebuild></prebuild>\n                <postbuild></postbuild>\n            </data>\n        </settings>\n        <settings>\n            <name>ILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>20</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>IlinkLibIOConfig</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>XLinkMisraHandler</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkInputFileSlave</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOutputFile</name>\n                    <state>dpp-qv.out</state>\n                </option>\n                <option>\n                    <name>IlinkDebugInfoEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkKeepSymbols</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySymbol</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinarySegment</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkRawBinaryAlign</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkConfigDefines</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkMapFile</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogFile</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogInitialization</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogModule</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogSection</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogVeneer</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfOverride</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile</name>\n                    <state>$PROJ_DIR$\\at91SAM7S64.icf</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFileSlave</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEnableRemarks</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkSuppressDiags</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsRem</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsWarn</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkTreatAsErr</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkWarningsAreErrors</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkUseExtraOptions</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkExtraOptions</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkLowLevelInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAutoLibEnable</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkAdditionalLibs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkOverrideProgramEntryLabel</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabelSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkProgramEntryLabel</name>\n                    <state>__iar_program_start</state>\n                </option>\n                <option>\n                    <name>DoFill</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>FillerByte</name>\n                    <state>0xFF</state>\n                </option>\n                <option>\n                    <name>FillerStart</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>FillerEnd</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>CrcSize</name>\n                    <version>0</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcAlign</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcPoly</name>\n                    <state>0x11021</state>\n                </option>\n                <option>\n                    <name>CrcCompl</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcBitOrder</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>CrcInitialValue</name>\n                    <state>0x0</state>\n                </option>\n                <option>\n                    <name>DoCrc</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkBE8Slave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkBufferedTerminalOutput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkStdoutInterfaceSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcFullSize</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIElfToolPostProcess</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogAutoLibSelect</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogRedirSymbols</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkLogUnusedFragments</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcReverseByteOrder</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCrcUseAsInput</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptInline</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsAllow</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptExceptionsForce</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkCmsis</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptMergeDuplSections</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkOptUseVfe</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkOptForceVfe</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackAnalysisEnable</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkStackControlFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkStackCallGraphFile</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>CrcAlgorithm</name>\n                    <version>1</version>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>CrcUnitSize</name>\n                    <version>0</version>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkThreadsSlave</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLogCallGraph</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkIcfFile_AltDefault</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IlinkEncInput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutput</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IlinkEncOutputBom</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkHeapSelect</name>\n                    <state>1</state>\n                </option>\n                <option>\n                    <name>IlinkLocaleSelect</name>\n                    <state>1</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>IARCHIVE</name>\n            <archiveVersion>0</archiveVersion>\n            <data>\n                <version>0</version>\n                <wantNonLocal>1</wantNonLocal>\n                <debug>0</debug>\n                <option>\n                    <name>IarchiveInputs</name>\n                    <state></state>\n                </option>\n                <option>\n                    <name>IarchiveOverride</name>\n                    <state>0</state>\n                </option>\n                <option>\n                    <name>IarchiveOutput</name>\n                    <state>###Unitialized###</state>\n                </option>\n            </data>\n        </settings>\n        <settings>\n            <name>BILINK</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n        <settings>\n            <name>Coder</name>\n            <archiveVersion>0</archiveVersion>\n            <data />\n        </settings>\n    </configuration>\n    <group>\n        <name>Application</name>\n        <file>\n            <name>$PROJ_DIR$\\bsp.c</name>\n            <configuration>\n                <name>Debug</name>\n                <settings>\n                    <name>ICCARM</name>\n                    <data>\n                        <version>34</version>\n                        <wantNonLocal>0</wantNonLocal>\n                        <debug>1</debug>\n                        <option>\n                            <name>CCOptimizationNoSizeConstraints</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCDefines</name>\n                            <state></state>\n                        </option>\n                        <option>\n                            <name>CCPreprocFile</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCPreprocComments</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCPreprocLine</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCListCFile</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCListCMnemonics</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCListCMessages</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCListAssFile</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCListAssSource</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCEnableRemarks</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCDiagSuppress</name>\n                            <state>Pa050</state>\n                        </option>\n                        <option>\n                            <name>CCDiagRemark</name>\n                            <state></state>\n                        </option>\n                        <option>\n                            <name>CCDiagWarning</name>\n                            <state></state>\n                        </option>\n                        <option>\n                            <name>CCDiagError</name>\n                            <state></state>\n                        </option>\n                        <option>\n                            <name>CCObjPrefix</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>CCAllowList</name>\n                            <version>1</version>\n                            <state>11111110</state>\n                        </option>\n                        <option>\n                            <name>CCDebugInfo</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>IEndianMode</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>IProcessor</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>IExtraOptionsCheck</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>IExtraOptions</name>\n                            <state></state>\n                        </option>\n                        <option>\n                            <name>CCLangConformance</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCSignedPlainChar</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>CCRequirePrototypes</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>CCDiagWarnAreErr</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCCompilerRuntimeInfo</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>IFpuProcessor</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>OutputFile</name>\n                            <state>$FILE_BNAME$.o</state>\n                        </option>\n                        <option>\n                            <name>CCLibConfigHeader</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>PreInclude</name>\n                            <state></state>\n                        </option>\n                        <option>\n                            <name>CompilerMisraOverride</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCIncludePath2</name>\n                            <state>$PROJ_DIR$\\..</state>\n                            <state>$PROJ_DIR$\\..\\..</state>\n                            <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                            <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm7-9\\qv\\iar</state>\n                            <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\at91sam7s-ek</state>\n                        </option>\n                        <option>\n                            <name>CCStdIncCheck</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCCodeSection</name>\n                            <state>.text</state>\n                        </option>\n                        <option>\n                            <name>IProcessorMode2</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCOptLevel</name>\n                            <state>3</state>\n                        </option>\n                        <option>\n                            <name>CCOptStrategy</name>\n                            <version>0</version>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>CCOptLevelSlave</name>\n                            <state>3</state>\n                        </option>\n                        <option>\n                            <name>CompilerMisraRules98</name>\n                            <version>0</version>\n                            <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                        </option>\n                        <option>\n                            <name>CompilerMisraRules04</name>\n                            <version>0</version>\n                            <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                        </option>\n                        <option>\n                            <name>CCPosIndRopi</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCPosIndRwpi</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCPosIndNoDynInit</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>IccLang</name>\n                            <state>2</state>\n                        </option>\n                        <option>\n                            <name>IccCDialect</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>IccAllowVLA</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>IccStaticDestr</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>IccCppInlineSemantics</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>IccCmsis</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>IccFloatSemantics</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCNoLiteralPool</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCOptStrategySlave</name>\n                            <version>0</version>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>CCEncSource</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCEncOutput</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCEncOutputBom</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>CCEncInput</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>IccExceptions2</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>IccRTTI2</name>\n                            <state>0</state>\n                        </option>\n                    </data>\n                </settings>\n            </configuration>\n            <configuration>\n                <name>Release</name>\n                <settings>\n                    <name>ICCARM</name>\n                    <data>\n                        <version>34</version>\n                        <wantNonLocal>0</wantNonLocal>\n                        <debug>0</debug>\n                        <option>\n                            <name>CCOptimizationNoSizeConstraints</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCDefines</name>\n                            <state>NDEBUG</state>\n                        </option>\n                        <option>\n                            <name>CCPreprocFile</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCPreprocComments</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCPreprocLine</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCListCFile</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCListCMnemonics</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCListCMessages</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCListAssFile</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCListAssSource</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCEnableRemarks</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCDiagSuppress</name>\n                            <state>Pa050</state>\n                        </option>\n                        <option>\n                            <name>CCDiagRemark</name>\n                            <state></state>\n                        </option>\n                        <option>\n                            <name>CCDiagWarning</name>\n                            <state></state>\n                        </option>\n                        <option>\n                            <name>CCDiagError</name>\n                            <state></state>\n                        </option>\n                        <option>\n                            <name>CCObjPrefix</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>CCAllowList</name>\n                            <version>1</version>\n                            <state>11111110</state>\n                        </option>\n                        <option>\n                            <name>CCDebugInfo</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>IEndianMode</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>IProcessor</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>IExtraOptionsCheck</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>IExtraOptions</name>\n                            <state></state>\n                        </option>\n                        <option>\n                            <name>CCLangConformance</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCSignedPlainChar</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>CCRequirePrototypes</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>CCDiagWarnAreErr</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCCompilerRuntimeInfo</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>IFpuProcessor</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>OutputFile</name>\n                            <state>$FILE_BNAME$.o</state>\n                        </option>\n                        <option>\n                            <name>CCLibConfigHeader</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>PreInclude</name>\n                            <state></state>\n                        </option>\n                        <option>\n                            <name>CompilerMisraOverride</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCIncludePath2</name>\n                            <state>$PROJ_DIR$\\..</state>\n                            <state>$PROJ_DIR$\\..\\..</state>\n                            <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                            <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm7-9\\qv\\iar</state>\n                            <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\at91sam7s-ek</state>\n                        </option>\n                        <option>\n                            <name>CCStdIncCheck</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCCodeSection</name>\n                            <state>.text</state>\n                        </option>\n                        <option>\n                            <name>IProcessorMode2</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCOptLevel</name>\n                            <state>3</state>\n                        </option>\n                        <option>\n                            <name>CCOptStrategy</name>\n                            <version>0</version>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>CCOptLevelSlave</name>\n                            <state>3</state>\n                        </option>\n                        <option>\n                            <name>CompilerMisraRules98</name>\n                            <version>0</version>\n                            <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                        </option>\n                        <option>\n                            <name>CompilerMisraRules04</name>\n                            <version>0</version>\n                            <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                        </option>\n                        <option>\n                            <name>CCPosIndRopi</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCPosIndRwpi</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCPosIndNoDynInit</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>IccLang</name>\n                            <state>2</state>\n                        </option>\n                        <option>\n                            <name>IccCDialect</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>IccAllowVLA</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>IccStaticDestr</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>IccCppInlineSemantics</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>IccCmsis</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>IccFloatSemantics</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCNoLiteralPool</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCOptStrategySlave</name>\n                            <version>0</version>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>CCEncSource</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCEncOutput</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>CCEncOutputBom</name>\n                            <state>1</state>\n                        </option>\n                        <option>\n                            <name>CCEncInput</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>IccExceptions2</name>\n                            <state>0</state>\n                        </option>\n                        <option>\n                            <name>IccRTTI2</name>\n                            <state>0</state>\n                        </option>\n                    </data>\n                </settings>\n            </configuration>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\dpp.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\main.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\philo.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\table.c</name>\n        </file>\n    </group>\n    <group>\n        <name>AT91SAM7S-EK</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\at91sam7s-ek\\iar\\low_level_init.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\at91sam7s-ek\\iar\\startup_at91mc.s</name>\n        </file>\n        <configuration>\n            <name>Debug</name>\n            <settings>\n                <name>ICCARM</name>\n                <data>\n                    <version>34</version>\n                    <wantNonLocal>0</wantNonLocal>\n                    <debug>1</debug>\n                    <option>\n                        <name>CCOptimizationNoSizeConstraints</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCDefines</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCPreprocFile</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCPreprocComments</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCPreprocLine</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListCFile</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListCMnemonics</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListCMessages</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListAssFile</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListAssSource</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCEnableRemarks</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCDiagSuppress</name>\n                        <state>Pa050</state>\n                    </option>\n                    <option>\n                        <name>CCDiagRemark</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCDiagWarning</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCDiagError</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCObjPrefix</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCAllowList</name>\n                        <version>1</version>\n                        <state>11111110</state>\n                    </option>\n                    <option>\n                        <name>CCDebugInfo</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IEndianMode</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IProcessor</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IExtraOptionsCheck</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IExtraOptions</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCLangConformance</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCSignedPlainChar</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCRequirePrototypes</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCDiagWarnAreErr</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCCompilerRuntimeInfo</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IFpuProcessor</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>OutputFile</name>\n                        <state>$FILE_BNAME$.o</state>\n                    </option>\n                    <option>\n                        <name>CCLibConfigHeader</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>PreInclude</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CompilerMisraOverride</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCIncludePath2</name>\n                        <state>$PROJ_DIR$\\..</state>\n                        <state>$PROJ_DIR$\\..\\..</state>\n                        <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                        <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm7-9\\qv\\iar</state>\n                        <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\at91sam7s-ek</state>\n                    </option>\n                    <option>\n                        <name>CCStdIncCheck</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCCodeSection</name>\n                        <state>.text</state>\n                    </option>\n                    <option>\n                        <name>IProcessorMode2</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCOptLevel</name>\n                        <state>3</state>\n                    </option>\n                    <option>\n                        <name>CCOptStrategy</name>\n                        <version>0</version>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCOptLevelSlave</name>\n                        <state>3</state>\n                    </option>\n                    <option>\n                        <name>CompilerMisraRules98</name>\n                        <version>0</version>\n                        <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                    </option>\n                    <option>\n                        <name>CompilerMisraRules04</name>\n                        <version>0</version>\n                        <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                    </option>\n                    <option>\n                        <name>CCPosIndRopi</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCPosIndRwpi</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCPosIndNoDynInit</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IccLang</name>\n                        <state>2</state>\n                    </option>\n                    <option>\n                        <name>IccCDialect</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IccAllowVLA</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IccStaticDestr</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IccCppInlineSemantics</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IccCmsis</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IccFloatSemantics</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCNoLiteralPool</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCOptStrategySlave</name>\n                        <version>0</version>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCEncSource</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCEncOutput</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCEncOutputBom</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCEncInput</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IccExceptions2</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IccRTTI2</name>\n                        <state>0</state>\n                    </option>\n                </data>\n            </settings>\n        </configuration>\n        <configuration>\n            <name>Release</name>\n            <settings>\n                <name>ICCARM</name>\n                <data>\n                    <version>34</version>\n                    <wantNonLocal>0</wantNonLocal>\n                    <debug>0</debug>\n                    <option>\n                        <name>CCOptimizationNoSizeConstraints</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCDefines</name>\n                        <state>NDEBUG</state>\n                    </option>\n                    <option>\n                        <name>CCPreprocFile</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCPreprocComments</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCPreprocLine</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListCFile</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListCMnemonics</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListCMessages</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListAssFile</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListAssSource</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCEnableRemarks</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCDiagSuppress</name>\n                        <state>Pa050</state>\n                    </option>\n                    <option>\n                        <name>CCDiagRemark</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCDiagWarning</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCDiagError</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCObjPrefix</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCAllowList</name>\n                        <version>1</version>\n                        <state>11111110</state>\n                    </option>\n                    <option>\n                        <name>CCDebugInfo</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IEndianMode</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IProcessor</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IExtraOptionsCheck</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IExtraOptions</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCLangConformance</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCSignedPlainChar</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCRequirePrototypes</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCDiagWarnAreErr</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCCompilerRuntimeInfo</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IFpuProcessor</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>OutputFile</name>\n                        <state>$FILE_BNAME$.o</state>\n                    </option>\n                    <option>\n                        <name>CCLibConfigHeader</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>PreInclude</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CompilerMisraOverride</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCIncludePath2</name>\n                        <state>$PROJ_DIR$\\..</state>\n                        <state>$PROJ_DIR$\\..\\..</state>\n                        <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                        <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm7-9\\qv\\iar</state>\n                        <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\at91sam7s-ek</state>\n                    </option>\n                    <option>\n                        <name>CCStdIncCheck</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCCodeSection</name>\n                        <state>.text</state>\n                    </option>\n                    <option>\n                        <name>IProcessorMode2</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCOptLevel</name>\n                        <state>3</state>\n                    </option>\n                    <option>\n                        <name>CCOptStrategy</name>\n                        <version>0</version>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCOptLevelSlave</name>\n                        <state>3</state>\n                    </option>\n                    <option>\n                        <name>CompilerMisraRules98</name>\n                        <version>0</version>\n                        <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                    </option>\n                    <option>\n                        <name>CompilerMisraRules04</name>\n                        <version>0</version>\n                        <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                    </option>\n                    <option>\n                        <name>CCPosIndRopi</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCPosIndRwpi</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCPosIndNoDynInit</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IccLang</name>\n                        <state>2</state>\n                    </option>\n                    <option>\n                        <name>IccCDialect</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IccAllowVLA</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IccStaticDestr</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IccCppInlineSemantics</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IccCmsis</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IccFloatSemantics</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCNoLiteralPool</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCOptStrategySlave</name>\n                        <version>0</version>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCEncSource</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCEncOutput</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCEncOutputBom</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCEncInput</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IccExceptions2</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IccRTTI2</name>\n                        <state>0</state>\n                    </option>\n                </data>\n            </settings>\n        </configuration>\n    </group>\n    <group>\n        <name>QP_ARM</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qfn.c</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qvn\\qvn.c</name>\n        </file>\n        <configuration>\n            <name>Debug</name>\n            <settings>\n                <name>ICCARM</name>\n                <data>\n                    <version>34</version>\n                    <wantNonLocal>0</wantNonLocal>\n                    <debug>1</debug>\n                    <option>\n                        <name>CCOptimizationNoSizeConstraints</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCDefines</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCPreprocFile</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCPreprocComments</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCPreprocLine</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListCFile</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListCMnemonics</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListCMessages</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListAssFile</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListAssSource</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCEnableRemarks</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCDiagSuppress</name>\n                        <state>Pa050</state>\n                    </option>\n                    <option>\n                        <name>CCDiagRemark</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCDiagWarning</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCDiagError</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCObjPrefix</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCAllowList</name>\n                        <version>1</version>\n                        <state>11111110</state>\n                    </option>\n                    <option>\n                        <name>CCDebugInfo</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IEndianMode</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IProcessor</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IExtraOptionsCheck</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IExtraOptions</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCLangConformance</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCSignedPlainChar</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCRequirePrototypes</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCDiagWarnAreErr</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCCompilerRuntimeInfo</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IFpuProcessor</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>OutputFile</name>\n                        <state>$FILE_BNAME$.o</state>\n                    </option>\n                    <option>\n                        <name>CCLibConfigHeader</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>PreInclude</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CompilerMisraOverride</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCIncludePath2</name>\n                        <state>$PROJ_DIR$\\..</state>\n                        <state>$PROJ_DIR$\\..\\..</state>\n                        <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                        <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm7-9\\qv\\iar</state>\n                        <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\at91sam7s-ek</state>\n                    </option>\n                    <option>\n                        <name>CCStdIncCheck</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCCodeSection</name>\n                        <state>.text</state>\n                    </option>\n                    <option>\n                        <name>IProcessorMode2</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCOptLevel</name>\n                        <state>3</state>\n                    </option>\n                    <option>\n                        <name>CCOptStrategy</name>\n                        <version>0</version>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCOptLevelSlave</name>\n                        <state>3</state>\n                    </option>\n                    <option>\n                        <name>CompilerMisraRules98</name>\n                        <version>0</version>\n                        <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                    </option>\n                    <option>\n                        <name>CompilerMisraRules04</name>\n                        <version>0</version>\n                        <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                    </option>\n                    <option>\n                        <name>CCPosIndRopi</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCPosIndRwpi</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCPosIndNoDynInit</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IccLang</name>\n                        <state>2</state>\n                    </option>\n                    <option>\n                        <name>IccCDialect</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IccAllowVLA</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IccStaticDestr</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IccCppInlineSemantics</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IccCmsis</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IccFloatSemantics</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCNoLiteralPool</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCOptStrategySlave</name>\n                        <version>0</version>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCEncSource</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCEncOutput</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCEncOutputBom</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCEncInput</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IccExceptions2</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IccRTTI2</name>\n                        <state>0</state>\n                    </option>\n                </data>\n            </settings>\n        </configuration>\n        <configuration>\n            <name>Release</name>\n            <settings>\n                <name>ICCARM</name>\n                <data>\n                    <version>34</version>\n                    <wantNonLocal>0</wantNonLocal>\n                    <debug>0</debug>\n                    <option>\n                        <name>CCOptimizationNoSizeConstraints</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCDefines</name>\n                        <state>NDEBUG</state>\n                    </option>\n                    <option>\n                        <name>CCPreprocFile</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCPreprocComments</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCPreprocLine</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListCFile</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListCMnemonics</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListCMessages</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListAssFile</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCListAssSource</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCEnableRemarks</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCDiagSuppress</name>\n                        <state>Pa050</state>\n                    </option>\n                    <option>\n                        <name>CCDiagRemark</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCDiagWarning</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCDiagError</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCObjPrefix</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCAllowList</name>\n                        <version>1</version>\n                        <state>11111110</state>\n                    </option>\n                    <option>\n                        <name>CCDebugInfo</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IEndianMode</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IProcessor</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IExtraOptionsCheck</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IExtraOptions</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CCLangConformance</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCSignedPlainChar</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCRequirePrototypes</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCDiagWarnAreErr</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCCompilerRuntimeInfo</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IFpuProcessor</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>OutputFile</name>\n                        <state>$FILE_BNAME$.o</state>\n                    </option>\n                    <option>\n                        <name>CCLibConfigHeader</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>PreInclude</name>\n                        <state></state>\n                    </option>\n                    <option>\n                        <name>CompilerMisraOverride</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCIncludePath2</name>\n                        <state>$PROJ_DIR$\\..</state>\n                        <state>$PROJ_DIR$\\..\\..</state>\n                        <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n                        <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm7-9\\qv\\iar</state>\n                        <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\3rd_party\\at91sam7s-ek</state>\n                    </option>\n                    <option>\n                        <name>CCStdIncCheck</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCCodeSection</name>\n                        <state>.text</state>\n                    </option>\n                    <option>\n                        <name>IProcessorMode2</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCOptLevel</name>\n                        <state>3</state>\n                    </option>\n                    <option>\n                        <name>CCOptStrategy</name>\n                        <version>0</version>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCOptLevelSlave</name>\n                        <state>3</state>\n                    </option>\n                    <option>\n                        <name>CompilerMisraRules98</name>\n                        <version>0</version>\n                        <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n                    </option>\n                    <option>\n                        <name>CompilerMisraRules04</name>\n                        <version>0</version>\n                        <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n                    </option>\n                    <option>\n                        <name>CCPosIndRopi</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCPosIndRwpi</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCPosIndNoDynInit</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IccLang</name>\n                        <state>2</state>\n                    </option>\n                    <option>\n                        <name>IccCDialect</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IccAllowVLA</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IccStaticDestr</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IccCppInlineSemantics</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IccCmsis</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>IccFloatSemantics</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCNoLiteralPool</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCOptStrategySlave</name>\n                        <version>0</version>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCEncSource</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCEncOutput</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>CCEncOutputBom</name>\n                        <state>1</state>\n                    </option>\n                    <option>\n                        <name>CCEncInput</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IccExceptions2</name>\n                        <state>0</state>\n                    </option>\n                    <option>\n                        <name>IccRTTI2</name>\n                        <state>0</state>\n                    </option>\n                </data>\n            </settings>\n        </configuration>\n    </group>\n    <group>\n        <name>QP_port</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm7-9\\qv\\iar\\qfn_port.h</name>\n        </file>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\arm7-9\\qv\\iar\\qvn_port.s</name>\n        </file>\n    </group>\n    <group>\n        <name>QP_THUMB</name>\n        <file>\n            <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qepn.c</name>\n        </file>\n    </group>\n</project>\n"
  },
  {
    "path": "examples/arm7-9/dpp_at91sam7s-ek/qv/iar/dpp-qv.eww",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<workspace>\n  <project>\n    <path>$WS_DIR$\\dpp-qv.ewp</path>\n  </project>\n  <batchBuild/>\n</workspace>\n\n\n"
  },
  {
    "path": "examples/arm7-9/dpp_at91sam7s-ek/table.c",
    "content": "/*.$file${.::table.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: dpp.qm\n* File:  ${.::table.c}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::table.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"  /* QP-nano port */\n#include \"bsp.h\"  /* Board Support Package */\n#include \"dpp.h\"  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(\"table\")\n\n/* Active object class -----------------------------------------------------*/\n/*.$declare${AOs::Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table} ...........................................................*/\ntypedef struct Table {\n/* protected: */\n    QActive super;\n\n/* private: */\n    uint8_t fork[N_PHILO];\n    uint8_t isHungry[N_PHILO];\n} Table;\n\n/* protected: */\nstatic QState Table_initial(Table * const me);\nstatic QState Table_active(Table * const me);\nstatic QState Table_serving(Table * const me);\nstatic QState Table_paused(Table * const me);\n/*.$enddecl${AOs::Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Global objects ----------------------------------------------------------*/\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 650U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.5.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Table} ........................................................*/\nstruct Table AO_Table;\n/*.$enddef${AOs::AO_Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n#define RIGHT(n_) ((uint8_t)(((n_) + (N_PHILO - 1U)) % N_PHILO))\n#define LEFT(n_)  ((uint8_t)(((n_) + 1U) % N_PHILO))\n#define FREE      ((uint8_t)0)\n#define USED      ((uint8_t)1)\n\n/*..........................................................................*/\n/*.$define${AOs::Table_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table_ctor} ......................................................*/\nvoid Table_ctor(void) {\n    uint8_t n;\n    Table *me = &AO_Table;\n\n    QActive_ctor(&me->super, Q_STATE_CAST(&Table_initial));\n    for (n = 0U; n < N_PHILO; ++n) {\n        me->fork[n] = FREE;\n        me->isHungry[n] = 0U;\n    }\n}\n/*.$enddef${AOs::Table_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table} ...........................................................*/\n/*.${AOs::Table::SM} .......................................................*/\nstatic QState Table_initial(Table * const me) {\n    /*.${AOs::Table::SM::initial} */\n    uint8_t n;\n    for (n = 0U; n < N_PHILO; ++n) {\n        me->fork[n] = FREE;\n        me->isHungry[n] = 0U;\n        BSP_displayPhilStat(n, \"thinking\");\n    }\n    return Q_TRAN(&Table_serving);\n}\n/*.${AOs::Table::SM::active} ...............................................*/\nstatic QState Table_active(Table * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Table::SM::active::TERMINATE} */\n        case TERMINATE_SIG: {\n            BSP_terminate(0);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::EAT} */\n        case EAT_SIG: {\n            Q_ERROR();\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Table::SM::active::serving} ......................................*/\nstatic QState Table_serving(Table * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Table::SM::active::serving} */\n        case Q_ENTRY_SIG: {\n            uint8_t n;\n            for (n = 0U; n < N_PHILO; ++n) { /* give permissions to eat... */\n                if ((me->isHungry[n] != 0U)\n                    && (me->fork[LEFT(n)] == FREE)\n                    && (me->fork[n] == FREE))\n                {\n                    QActive *philo;\n\n                    me->fork[LEFT(n)] = USED;\n                    me->fork[n] = USED;\n                    philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\n                    QACTIVE_POST(philo, EAT_SIG, n);\n                    me->isHungry[n] = 0U;\n                    BSP_displayPhilStat(n, \"eating  \");\n                }\n            }\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::HUNGRY} */\n        case HUNGRY_SIG: {\n            uint8_t n, m;\n            QActive *philo;\n\n            n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* phil ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n\n            BSP_displayPhilStat(n, \"hungry  \");\n            m = LEFT(n);\n            /*.${AOs::Table::SM::active::serving::HUNGRY::[bothfree]} */\n            if ((me->fork[m] == FREE) && (me->fork[n] == FREE)) {\n                me->fork[m] = USED;\n                me->fork[n] = USED;\n                philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\n                QACTIVE_POST(philo, EAT_SIG, n);\n                BSP_displayPhilStat(n, \"eating  \");\n                status_ = Q_HANDLED();\n            }\n            /*.${AOs::Table::SM::active::serving::HUNGRY::[else]} */\n            else {\n                me->isHungry[n] = 1U;\n                status_ = Q_HANDLED();\n            }\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::DONE} */\n        case DONE_SIG: {\n            uint8_t n, m;\n            QActive *philo;\n\n            n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* phil ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n\n            BSP_displayPhilStat(n, \"thinking\");\n            m = LEFT(n);\n            /* both forks of Phil[n] must be used */\n            Q_ASSERT((me->fork[n] == USED) && (me->fork[m] == USED));\n\n            me->fork[m] = FREE;\n            me->fork[n] = FREE;\n            m = RIGHT(n); /* check the right neighbor */\n\n            if ((me->isHungry[m] != 0U) && (me->fork[m] == FREE)) {\n                me->fork[n] = USED;\n                me->fork[m] = USED;\n                me->isHungry[m] = 0U;\n                philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n                QACTIVE_POST(philo, EAT_SIG, m);\n                BSP_displayPhilStat(m, \"eating  \");\n            }\n            m = LEFT(n); /* check the left neighbor */\n            n = LEFT(m); /* left fork of the left neighbor */\n            if ((me->isHungry[m] != 0U) && (me->fork[n] == FREE)) {\n                me->fork[m] = USED;\n                me->fork[n] = USED;\n                me->isHungry[m] = 0U;\n                philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n                QACTIVE_POST(philo, EAT_SIG, m);\n                BSP_displayPhilStat(m, \"eating  \");\n            }\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::EAT} */\n        case EAT_SIG: {\n            Q_ERROR();\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::PAUSE} */\n        case PAUSE_SIG: {\n            status_ = Q_TRAN(&Table_paused);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Table_active);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Table::SM::active::paused} .......................................*/\nstatic QState Table_paused(Table * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Table::SM::active::paused} */\n        case Q_ENTRY_SIG: {\n            BSP_displayPaused(1U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused} */\n        case Q_EXIT_SIG: {\n            BSP_displayPaused(0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused::SERVE} */\n        case SERVE_SIG: {\n            status_ = Q_TRAN(&Table_serving);\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused::HUNGRY} */\n        case HUNGRY_SIG: {\n            uint8_t n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* philo ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n            me->isHungry[n] = 1U;\n            BSP_displayPhilStat(n, \"hungry  \");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused::DONE} */\n        case DONE_SIG: {\n            uint8_t n, m;\n\n            n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* phil ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n\n            BSP_displayPhilStat(n, \"thinking\");\n            m = LEFT(n);\n            /* both forks of Phil[n] must be used */\n            Q_ASSERT((me->fork[n] == USED) && (me->fork[m] == USED));\n\n            me->fork[m] = FREE;\n            me->fork[n] = FREE;\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Table_active);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${AOs::Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/avr/README.url",
    "content": "[InternetShortcut]\nURL=http://www.state-machine.com/qpn/exa_avr.html\nIconFile=http://www.state-machine.com/qp.ico\n"
  },
  {
    "path": "examples/avr/blinky_arduino-uno/README.url",
    "content": "[InternetShortcut]\nURL=http://www.state-machine.com/qpn/avr_blinky_arduino-uno.html\nIconFile=http://www.state-machine.com/qp.ico\n"
  },
  {
    "path": "examples/avr/blinky_arduino-uno/blinky.c",
    "content": "/*****************************************************************************\n* Product: Simple Blinky example\n* Last updated for version 5.4.0\n* Last updated on  2015-05-18\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, www.state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"blinky.h\"\n#include \"bsp.h\"\n\n//Q_DEFINE_THIS_FILE\n\n/*..........................................................................*/\ntypedef struct BlinkyTag {  /* the Blinky active object */\n    QActive super;          /* inherit QActive */\n} Blinky;\n\n/* hierarchical state machine ... */\nstatic QState Blinky_initial(Blinky * const me);\nstatic QState Blinky_off    (Blinky * const me);\nstatic QState Blinky_on     (Blinky * const me);\n\n/* Global objects ----------------------------------------------------------*/\nBlinky AO_Blinky;   /* the single instance of the Blinky AO */\n\n/*..........................................................................*/\nvoid Blinky_ctor(void) {\n    Blinky * const me = &AO_Blinky;\n    QActive_ctor(&me->super, Q_STATE_CAST(&Blinky_initial));\n}\n\n/* HSM definition ----------------------------------------------------------*/\nQState Blinky_initial(Blinky * const me) {\n    QActive_armX((QActive *)me, 0U,\n                 BSP_TICKS_PER_SEC/2U, BSP_TICKS_PER_SEC/2U);\n    return Q_TRAN(&Blinky_off);\n}\n/*..........................................................................*/\nQState Blinky_off(Blinky * const me) {\n    QState status;\n    switch (Q_SIG(me)) {\n        case Q_ENTRY_SIG: {\n            BSP_ledOff();\n            status = Q_HANDLED();\n            break;\n        }\n        case Q_TIMEOUT_SIG: {\n            status = Q_TRAN(&Blinky_on);\n            break;\n        }\n        default: {\n            status = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status;\n}\n/*..........................................................................*/\nQState Blinky_on(Blinky * const me) {\n    QState status;\n    switch (Q_SIG(me)) {\n        case Q_ENTRY_SIG: {\n            BSP_ledOn();\n            status = Q_HANDLED();\n            break;\n        }\n        case Q_TIMEOUT_SIG: {\n            status = Q_TRAN(&Blinky_off);\n            break;\n        }\n        default: {\n            status = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status;\n}\n"
  },
  {
    "path": "examples/avr/blinky_arduino-uno/blinky.h",
    "content": "/*****************************************************************************\n* Product: simple \"Blinky\" example\n* Last updated for version 5.4.0\n* Last updated on  2015-05-18\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, www.state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BLINKY_H\n#define BLINKY_H\n\nenum BlinkySignals {\n    DUMMY_SIG = Q_USER_SIG,\n    MAX_PUB_SIG,          /* the last published signal */\n\n    TIMEOUT_SIG,\n    MAX_SIG               /* the last signal */\n};\n\nvoid Blinky_ctor(void);\n\nextern struct BlinkyTag AO_Blinky;\n\n#endif /* BLINKY_H */\n"
  },
  {
    "path": "examples/avr/blinky_arduino-uno/bsp.h",
    "content": "/*****************************************************************************\n* Product: Simple Blinky example\n* Last updated for version 5.4.0\n* Last updated on  2015-05-18\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, www.state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BSP_H\n#define BSP_H\n\n#define BSP_TICKS_PER_SEC    100U\n\nvoid BSP_init(void);\nvoid BSP_ledOff(void);\nvoid BSP_ledOn(void);\n\n#endif /* BSP_H */\n"
  },
  {
    "path": "examples/avr/blinky_arduino-uno/main.c",
    "content": "/*****************************************************************************\n* Product: \"Blinky\" example\n* Last Updated for Version: 5.8.0\n* Date of the Last Update:  2016-11-06\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"     /* QP-nano API */\n#include \"bsp.h\"     /* Board Support Package */\n#include \"blinky.h\"  /* Application interface */\n\n/* Local-scope objects -----------------------------------------------------*/\nstatic QEvt l_blinkyQSto[10]; /* Event queue storage for Blinky */\n\n/* QF_active[] array defines all active object control blocks --------------*/\nQActiveCB const Q_ROM QF_active[] = {\n    { (QActive *)0,           (QEvt *)0,        0U                      },\n    { (QActive *)&AO_Blinky,  l_blinkyQSto,     Q_DIM(l_blinkyQSto)     }\n};\n\n/*..........................................................................*/\nint main(void) {\n    Blinky_ctor(); /* instantiate all Blinky AO */\n\n    QF_init(Q_DIM(QF_active)); /* initialize the QF-nano framework */\n    BSP_init();      /* initialize the Board Support Package */\n\n    return QF_run(); /* transfer control to QF-nano */\n}\n"
  },
  {
    "path": "examples/avr/blinky_arduino-uno/qk/gnu/Makefile",
    "content": "##############################################################################\n# Product: Makefile for QP-nano, Arduino-UNO, preemptive QK kernel, GNU-AVR\n# Last Updated for Version: 5.4.0\n# Date of the Last Update:  2015-05-28\n#\n#                    Q u a n t u m     L e a P s\n#                    ---------------------------\n#                    innovating embedded systems\n#\n# Copyright (C) Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# Web:   http://www.state-machine.com\n# Email: info@state-machine.com\n##############################################################################\n# examples of invoking this Makefile:\n# building configurations: Debug (default), Release, and Spy\n# make\n# make CONF=rel\n#\n# cleaning configurations: Debug (default), Release, and Spy\n# make clean\n# make CONF=rel clean\n#\n# NOTE:\n# To use this Makefile on Windows, you will need the GNU make utility, which\n# is included in the Qtools collection for Windows, see:\n#    http://sourceforge.net/projects/qpc/files/Qtools/\n#\n\n#-----------------------------------------------------------------------------\n# project name\n#\nPROJECT     := blinky-qk\n\n#-----------------------------------------------------------------------------\n# project directories\n#\n\n# location of the QP-nano framework (if not provided in an environemnt var.)\nifeq ($(QPN),)\nQPN := ../../../../..\nendif\n\n# QP port used in this project\nQP_PORT_DIR := $(QPN)/ports/avr/qk/gnu\n\n# list of all source directories used by this project\nVPATH = \\\n\t.. \\\n\t../.. \\\n\t$(QPN)/src/qfn \\\n\t$(QPN)/src/qkn \\\n\t$(QP_PORT_DIR)\n\n# list of all include directories needed by this project\nINCLUDES  = \\\n\t-I../.. \\\n\t-I$(QPN)/include \\\n\t-I$(QP_PORT_DIR)\n\n#-----------------------------------------------------------------------------\n# files\n#\n\n# assembler source files\nASM_SRCS :=\n\n# C source files\nC_SRCS := \\\n\tblinky.c \\\n\tbsp.c \\\n\tmain.c\n\n# C++ source files\nCPP_SRCS :=\t\n\nOUTPUT    := $(PROJECT)\nLD_SCRIPT := $(PROJECT).ld\n\nQP_SRCS := \\\n\tqepn.c \\\n\tqfn.c \\\n\tqkn.c\n\nQP_ASMS :=\n\nLIB_DIRS  :=\nLIBS      :=\n\n# defines\nDEFINES   :=\n\n# AVR MCU type\nAVR_MCU=atmega328p\n\n#-----------------------------------------------------------------------------\n# GNU-AVR toolset (NOTE: You need to adjust to your machine)\n# see http://sourceforge.net/projects/winavr\n#\nifeq ($(GNU_AVR),)\nGNU_AVR = C:\\tools\\WinAVR\nendif\n\n# make sure that the GNU-AVR toolset exists...\nifeq (\"$(wildcard $(GNU_AVR))\",\"\")\n$(error GNU_AVR toolset not found. Please adjust the Makefile)\nendif\n\nCC    := $(GNU_AVR)/bin/avr-gcc\nCPP   := $(GNU_AVR)/bin/avr-g++\nAS    := $(GNU_AVR)/bin/avr-as\nLINK  := $(GNU_AVR)/bin/avr-gcc\nBIN   := $(GNU_AVR)/bin/avr-objcopy\n\n##############################################################################\n# Typically, you should not need to change anything below this line\n\n# basic utilities (included in Qtools for Windows), see:\n#    http://sourceforge.net/projects/qpc/files/Qtools\n\nMKDIR := mkdir\nRM    := rm\n\n#-----------------------------------------------------------------------------\n# build options for various configurations for ARM Cortex-M4F\n#\n\n# combine all the soruces...\nC_SRCS += $(QP_SRCS) $(QP_PORT)\n\n\nifeq (rel, $(CONF)) # Release configuration ..................................\n\nBIN_DIR := rel\n\nASFLAGS =\n\nCFLAGS = -mmcu=$(AVR_MCU) -std=gnu99 -fshort-enums -Wall \\\n\t-ffunction-sections -fdata-sections \\\n    -Os $(INCLUDES) $(DEFINES) -DNDEBUG\n\nCPPFLAGS = -mmcu=$(AVR_MCU) -fshort-enums -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n    -Os $(INCLUDES) $(DEFINES) -DNDEBUG\n\nelse   # default Debug configuration .........................................\n\nBIN_DIR := dbg\n\nASFLAGS =\n\nCFLAGS = -mmcu=$(AVR_MCU) -std=gnu99 -fshort-enums -Wall \\\n\t-ffunction-sections -fdata-sections \\\n    -O $(INCLUDES) $(DEFINES)\n\nCPPFLAGS = -mmcu=$(AVR_MCU) -fshort-enums -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n    -O $(INCLUDES) $(DEFINES)\n\nendif  # .....................................................................\n\nLINKFLAGS = -mmcu=$(AVR_MCU) \\\n\t-Wl,-Map,$(BIN_DIR)/$(OUTPUT).map,--cref,--gc-sections $(LIB_DIRS)\n\n\nASM_OBJS     := $(patsubst %.s,%.o,  $(notdir $(ASM_SRCS)))\nC_OBJS       := $(patsubst %.c,%.o,  $(notdir $(C_SRCS)))\nCPP_OBJS     := $(patsubst %.cpp,%.o,$(notdir $(CPP_SRCS)))\n\nTARGET_HEX   := $(BIN_DIR)/$(OUTPUT).hex\nTARGET_ELF   := $(BIN_DIR)/$(OUTPUT).elf\nASM_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(ASM_OBJS))\nC_OBJS_EXT   := $(addprefix $(BIN_DIR)/, $(C_OBJS))\nC_DEPS_EXT   := $(patsubst %.o, %.d, $(C_OBJS_EXT))\nCPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))\nCPP_DEPS_EXT := $(patsubst %.o, %.d, $(CPP_OBJS_EXT))\n\n# create $(BIN_DIR) if it does not exist\nifeq (\"$(wildcard $(BIN_DIR))\",\"\")\n$(shell $(MKDIR) $(BIN_DIR))\nendif\n\n#-----------------------------------------------------------------------------\n# rules\n#\n\nall: $(TARGET_HEX)\n#all: $(TARGET_ELF)\n\n$(TARGET_HEX): $(TARGET_ELF)\n\t$(BIN) -O ihex $< $@\n\n$(TARGET_ELF) : $(ASM_OBJS_EXT) $(C_OBJS_EXT) $(CPP_OBJS_EXT)\n\t$(LINK) $(LINKFLAGS) -o $@ $^ $(LIBS)\n\n$(BIN_DIR)/%.d : %.c\n\t$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@\n\n$(BIN_DIR)/%.d : %.cpp\n\t$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@\n\n$(BIN_DIR)/%.o : %.s\n\t$(AS) $(ASFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.c\n\t$(CC) $(CFLAGS) -c $< -o $@\n\n$(BIN_DIR)/%.o : %.cpp\n\t$(CPP) $(CPPFLAGS) -c $< -o $@\n\n# include dependency files only if our goal depends on their existence\nifneq ($(MAKECMDGOALS),clean)\n  ifneq ($(MAKECMDGOALS),show)\n-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)\n  endif\nendif\n\n\n.PHONY : clean\nclean:\n\t-$(RM) $(BIN_DIR)/*.o \\\n\t$(BIN_DIR)/*.d \\\n\t$(BIN_DIR)/*.hex \\\n\t$(BIN_DIR)/*.elf \\\n\t$(BIN_DIR)/*.map\n\t\nshow:\n\t@echo PROJECT = $(PROJECT)\n\t@echo CONF = $(CONF)\n\t@echo DEFINES = $(DEFINES)\n\t@echo ASM_FPU = $(ASM_FPU)\n\t@echo ASM_SRCS = $(ASM_SRCS)\n\t@echo C_SRCS = $(C_SRCS)\n\t@echo CPP_SRCS = $(CPP_SRCS)\n\t@echo ASM_OBJS_EXT = $(ASM_OBJS_EXT)\n\t@echo C_OBJS_EXT = $(C_OBJS_EXT)\n\t@echo C_DEPS_EXT = $(C_DEPS_EXT)\n\t@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)\n\t@echo TARGET_ELF = $(TARGET_ELF)\n"
  },
  {
    "path": "examples/avr/blinky_arduino-uno/qk/gnu/README.txt",
    "content": "About this Example\n==================\nThis example can be built from the command prompt with the provided\nMakefile. The example can also be invoked directly (via the make\nutility) from the QM modeling tool.\n\n\nThe Makefile\n============\nThe provided Makefile should be easy to adapt for your own projects.\nIt contains three build configurations: Debug (default), Release, and\nSpy.\n\nThe various build configurations are built as follows:\n\nmake\nmake CONF=rel\n\nmake clean\nmake CONF=rel clean\n\n\nWarning: '__progmem__' attribute ignored\n========================================\nAVR is a Harvard architecture that uses different program and data spaces as\nwell as different CPU instructions to access these two address spaces (data\nmemory is 8-bit wide while program memory is 16-bit wide). Consequently, one\nof the biggest concerns in AVR programs is to correctly allocate and access\nconstant data in the program space (ROM) rather than the precious RAM. Since\nthe ROM resides in a different address space, you need to tell the compiler\nto place variables there. You also need a way to access the data (i.e., the\ncompiler has to use the lpm instruction.)\n\nThe GNU-AVR compiler supports data in the program memory only partially\nthrough the attribute((progmem)) extension (typically used through the\nPROGMEM macro). By tagging a variable with attribute((progmem)), you can\nforce it to reside in the ROM. However, the compiler support ends at this\npoint. It is the responsibility of the developer to correctly access the\nPROGMEM variables. The GCC-AVR provides merely a bunch of macros (all\ndefined in the avr\\pgmspace.h header file).\n\nThe bottom line is that the GNU-AVR compiler support for ROM-allocated\nobjects through the PROGMEM attribute is both incomplete and inconsistent\nwith the correct implementation in other compilers (such as IAR-AVR).\nFor example, pointers pointing to PROGMEM objects are not treated correctly,\nmeaning that the compiler will not generate the right code to access such\nROM objects (the GNU-AVR compiler needs a kludge in form of macros such as\npgm_read_byte_near and others). To recognize that fact, the GNU-AVR\ngenerates the warnings \"'progmem' attribute ignored \".\n\nHowever, the QP source code is written for a standard correct implementation\n(how else would you achieve portability?). For example, the IAR-AVR compiler\nuses the attribute '__flash' to designate objects and pointers to ROM\nobjects. The compiler then generates the right code for all such flash\nobjects and pointers, without any kludges necessary for the GNU compiler.\n\nIn summary, the warnings \"'progmem' attribute ignored\" should be ignored\nin the QP library build. To avoid these warnings, the QP source code would\nhave to be modified in such a way that it would be incorrect for other\ncompilers that handle these declarations correctly.\n"
  },
  {
    "path": "examples/avr/blinky_arduino-uno/qk/gnu/bsp.c",
    "content": "/*****************************************************************************\n* Product: Blinky example, Arduino-UNO board, preemptive QK-nano kernel\n* Last Updated for Version: 5.4.0\n* Date of the Last Update:  2015-04-08\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"blinky.h\"\n#include \"bsp.h\"\n\n/* the AVR device specific header <avr/io.h> is already included */\n/* add other drivers if necessary... */\n\n//Q_DEFINE_THIS_FILE\n\n/* Local-scope objects -----------------------------------------------------*/\n/* Arduino-UNO runs off the 16MHz oscillator */\n#define F_CPU   16000000UL\n\n/* the on-board LED labeled \"L\" on Arduino-UNO */\n#define LED_L   (1U << 5)\n\n/* ISRs used in this project ===============================================*/\nISR(TIMER2_COMPA_vect) {\n    QK_ISR_ENTRY();  /* inform QK about entering an ISR */\n    QF_tickXISR(0U); /* process time events for rate 0 */\n    QK_ISR_EXIT();   /* inform QK about exiting an ISR */\n}\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    DDRB  = 0xFFU; // All PORTB pins are outputs (user LED)\n    PORTB = 0x00U; // drive all pins low\n}\n/*..........................................................................*/\nvoid BSP_ledOff(void) {\n    PORTB &= ~LED_L;\n}\n/*..........................................................................*/\nvoid BSP_ledOn(void) {\n    PORTB |= LED_L;\n}\n/*..........................................................................*/\nvoid BSP_terminate(int16_t result) {\n    (void)result;\n}\n\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    /* set Timer2 in CTC mode, 1/1024 prescaler, start the timer ticking... */\n    TCCR2A = (1U << WGM21) | (0U << WGM20);\n    TCCR2B = (1U << CS22 ) | (1U << CS21) | (1U << CS20); /* 1/2^10 */\n    ASSR  &= ~(1U << AS2);\n    TIMSK2 = (1U << OCIE2A); /* Enable TIMER2 compare Interrupt */\n    TCNT2  = 0U;\n    OCR2A  = (F_CPU / BSP_TICKS_PER_SEC / 1024U) - 1U;\n}\n/*..........................................................................*/\nvoid QF_onCleanup(void) {\n}\n\n/*..........................................................................*/\nvoid QK_onIdle(void) {\n    /* toggle the User LED, see NOTE1 , not enough LEDs to implement! */\n    //QF_INT_DISABLE();\n    //PORTB |= LED_L;\n    //PORTB &= ~LED_L;\n    //QF_INT_ENABLE();\n\n#ifdef NDEBUG\n    /* Put the CPU and peripherals to the low-power mode.\n    * you might need to customize the clock management for your application,\n    * see the datasheet for your particular AVR MCU.\n    */\n    SMCR = (0 << SM0) | (1 << SE); /* idle mode, adjust to your project */\n    QK_CPU_SLEEP(); /* put CPU to sleep */\n#endif\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const file, int line) {\n    /* implement the error-handling policy for your application!!! */\n    QF_INT_DISABLE(); /* disable all interrupts */\n    QF_RESET();  /* reset the CPU */\n    for (;;) {\n    }\n}\n\n/*****************************************************************************\n* NOTE1:\n* The User LED is used to visualize the idle loop activity. The brightness\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n"
  },
  {
    "path": "examples/avr/blinky_arduino-uno/qk/gnu/flash.bat",
    "content": "@echo off\n::============================================================================\n:: Batch file to program the flash of Arduino-UNO\n:: \n:: NOTE: requires the AVRDUDE uitlity which is included in the QTools\n:: collection\n:: \nsetlocal\n\n@echo off\n@echo Load a given hex file to the flash of Arduino-UNO\n@echo usage:   flash hex-file [COM-port]\n@echo example: flash dbg\\blinky-qk.hex\n@echo example: flash dbg\\blinky-qk.hex COM5\n\n::----------------------------------------------------------------------------\n:: NOTE: Adjust the following symbol to the location of the\n:: AVRDUDE utility on your machine \n::\nset AVRDUDE=avrdude.exe\n\nset COM_PORT=COM5\nif [%2] NEQ [] set COM_PORT=%2\n\nif [\"%~1\"]==[\"\"] (\n    @echo The hex file missing\n    @goto end\n)\nif not exist %~s1 (\n    @echo The hex file '%1' does not exist\n    @goto end\n)\n\n@echo on\n%AVRDUDE% -p atmega328p -c arduino -P %COM_PORT% -b 115200 -D -v -U flash:w:%1:i\n@echo off\n\n:end\n\nendlocal"
  },
  {
    "path": "examples/avr/blinky_arduino-uno/qk/iar/blinky-qk.ewd",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<project>\n  <fileVersion>2</fileVersion>\n  <configuration>\n    <name>Debug</name>\n    <toolchain>\n      <name>AVR</name>\n    </toolchain>\n    <debug>1</debug>\n    <settings>\n      <name>C-SPY</name>\n      <archiveVersion>6</archiveVersion>\n      <data>\n        <version>16</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CSVariantProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DDFile</name>\n          <state>$TOOLKIT_DIR$\\Config\\iom328p.ddf</state>\n        </option>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCEnhancedCore</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OC64BitDoubles</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>DdfFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RunToEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RunToName</name>\n          <state>main</state>\n        </option>\n        <option>\n          <name>newDDFileOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CSVariantEepromSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CSVariant64KFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CdDllSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CDynDriver</name>\n          <state>SIMAVR</state>\n        </option>\n        <option>\n          <name>DebuggerUseUbrofResetVector</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesUse1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse3</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ATMELICEAVR</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OATMELICEDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OATMELICEExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OATMELICEExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICELogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagFreqManually</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OATMELICECommunication</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICECommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OATMELICEDebugPort</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEDebugWireDebugPort</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OATMELICEAVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEDebuggerAttachToRunningTarget</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>AVRONE</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>4</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OAVRONEDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OAVRONEExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OAVRONEExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONELogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagFreqManually</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagDebugReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OAVRONECommunication</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONECommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OAVRONEDebugPort</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEDebugWireDebugPort</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OAVRONEAVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CCRAVR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCCRAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCRAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCCRAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRBaud</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OCCRAVRParity</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRDataBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRStopBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRHandshake</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRAllComm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCRAVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OCCRAVRSuppressLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRFastDownload</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCRAVRTargetCCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRdownloadToData</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICE200AVR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OICE200AVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OICE200AVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OICE200AVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRBaud</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OICE200AVRParity</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRDataBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRStopBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRHandshake</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRAllComm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OICE200AVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OICE200AVRHighSpeed</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OICE200AVRSingleStepTimers</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRRestoreEEPROM</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRComPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRIce200ResetDelayList</name>\n          <version>8</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRIce200downloadToData</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JTAGICEAVR</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OJTAGICEAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRBaud</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRParity</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRDataBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRStopBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRHandshake</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRAllComm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceDefaultCom</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceComPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagFreqManually</name>\n          <state>100000</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagDebugReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JTAGICE3AVR</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>6</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OJTAGICE3Driver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICE3ExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICE3ExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3LogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagFreqManually</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICE3Communication</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3CommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICE3DebugPort</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3DebugWireDebugPort</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICE3AVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3DebuggerAttachToRunningTarget</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JTAGICEMKIIAVR</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>7</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OJTAGICEMKIIAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRBaud</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRParity</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRDataBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRStopBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRHandshake</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRAllComm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceDefaultCom</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceComPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagFreqManually</name>\n          <state>100000</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagDebugReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRCommunicationNew</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRCommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRUsePDI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIOnlyPDI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>DRAGONAVR</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>3</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>ODRAGONAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ODRAGONAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagFreqManually</name>\n          <state>100000</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagDebugReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRCommunicationNew</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRCommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ODRAGONAVRUsePDI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONOnlyPDI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>SIMAVR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OSIMAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OSIMAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OSIMAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>THIRDPARTYAVR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OTHIRDPARTYAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRDriverDll</name>\n          <state>Browse to your Third party driver</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRSuppress</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRVerify</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRLogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRLogFileEditB</name>\n          <state>$TOOLKIT_DIR$\\cspycomm.log</state>\n        </option>\n      </data>\n    </settings>\n    <debuggerPlugins>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\Stk600\\Stk600Plugin.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\SymList\\SymList.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n    </debuggerPlugins>\n  </configuration>\n  <configuration>\n    <name>Release</name>\n    <toolchain>\n      <name>AVR</name>\n    </toolchain>\n    <debug>0</debug>\n    <settings>\n      <name>C-SPY</name>\n      <archiveVersion>6</archiveVersion>\n      <data>\n        <version>16</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CSVariantProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DDFile</name>\n          <state>$TOOLKIT_DIR$\\Config\\iom328p.ddf</state>\n        </option>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCEnhancedCore</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OC64BitDoubles</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>DdfFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RunToEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RunToName</name>\n          <state>main</state>\n        </option>\n        <option>\n          <name>newDDFileOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CSVariantEepromSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CSVariant64KFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CdDllSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CDynDriver</name>\n          <state>SIMAVR</state>\n        </option>\n        <option>\n          <name>DebuggerUseUbrofResetVector</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesUse1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse3</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ATMELICEAVR</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OATMELICEDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OATMELICEExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OATMELICEExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICELogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagFreqManually</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OATMELICECommunication</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICECommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OATMELICEDebugPort</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEDebugWireDebugPort</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OATMELICEAVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEDebuggerAttachToRunningTarget</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>AVRONE</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>4</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OAVRONEDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OAVRONEExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OAVRONEExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONELogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagFreqManually</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagDebugReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OAVRONECommunication</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONECommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OAVRONEDebugPort</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEDebugWireDebugPort</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OAVRONEAVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CCRAVR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCCRAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCRAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCCRAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRBaud</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OCCRAVRParity</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRDataBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRStopBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRHandshake</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRAllComm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCRAVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OCCRAVRSuppressLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRFastDownload</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCRAVRTargetCCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRdownloadToData</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICE200AVR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OICE200AVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OICE200AVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OICE200AVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRBaud</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OICE200AVRParity</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRDataBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRStopBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRHandshake</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRAllComm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OICE200AVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OICE200AVRHighSpeed</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OICE200AVRSingleStepTimers</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRRestoreEEPROM</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRComPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRIce200ResetDelayList</name>\n          <version>8</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRIce200downloadToData</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JTAGICEAVR</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OJTAGICEAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRBaud</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRParity</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRDataBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRStopBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRHandshake</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRAllComm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceDefaultCom</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceComPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagFreqManually</name>\n          <state>100000</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagDebugReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JTAGICE3AVR</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>6</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OJTAGICE3Driver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICE3ExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICE3ExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3LogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagFreqManually</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICE3Communication</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3CommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICE3DebugPort</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3DebugWireDebugPort</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICE3AVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3DebuggerAttachToRunningTarget</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JTAGICEMKIIAVR</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>7</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OJTAGICEMKIIAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRBaud</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRParity</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRDataBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRStopBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRHandshake</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRAllComm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceDefaultCom</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceComPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagFreqManually</name>\n          <state>100000</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagDebugReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRCommunicationNew</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRCommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRUsePDI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIOnlyPDI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>DRAGONAVR</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>3</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>ODRAGONAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ODRAGONAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagFreqManually</name>\n          <state>100000</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagDebugReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRCommunicationNew</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRCommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ODRAGONAVRUsePDI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONOnlyPDI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>SIMAVR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OSIMAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OSIMAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OSIMAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>THIRDPARTYAVR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OTHIRDPARTYAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRDriverDll</name>\n          <state>Browse to your Third party driver</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRSuppress</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRVerify</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRLogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRLogFileEditB</name>\n          <state>$TOOLKIT_DIR$\\cspycomm.log</state>\n        </option>\n      </data>\n    </settings>\n    <debuggerPlugins>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\Stk600\\Stk600Plugin.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\SymList\\SymList.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n    </debuggerPlugins>\n  </configuration>\n</project>\n\n\n"
  },
  {
    "path": "examples/avr/blinky_arduino-uno/qk/iar/blinky-qk.ewp",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<project>\n  <fileVersion>2</fileVersion>\n  <configuration>\n    <name>Debug</name>\n    <toolchain>\n      <name>AVR</name>\n    </toolchain>\n    <debug>1</debug>\n    <settings>\n      <name>General</name>\n      <archiveVersion>11</archiveVersion>\n      <data>\n        <version>9</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>GGEnhancedCore</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Variant Memory</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ExePath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>ObjPath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>ListPath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>GGEnableConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GG64KFlash</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GG64BitDoubles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GGFPSLICCOnfig</name>\n          <version>0</version>\n          <state>3</state>\n        </option>\n        <option>\n          <name>LCEnableBitDefs</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>LCHeapSize</name>\n          <state>0x10</state>\n        </option>\n        <option>\n          <name>SCCStackSize</name>\n          <state>256</state>\n        </option>\n        <option>\n          <name>SCExtCStack</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SCRStackSize</name>\n          <state>16</state>\n        </option>\n        <option>\n          <name>SCExtRStack</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SCEnableBus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SCAddWaitstate</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SCRamBase</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCRamSize</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCRomBase</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCRomSize</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCNVBase</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCNVSize</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCInitWithReti</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GOutputBinary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GGEepromUtil</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GGEepromUtilSize</name>\n          <state>1024</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelect</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RTDescription</name>\n          <state>Use the normal configuration of the C/EC++</state>\n          <state>runtime library. No locale interface,</state>\n          <state>C locale, no file descriptor support,</state>\n          <state>no multibytes in printf and scanf, and</state>\n          <state>no hex floats in strtod.</state>\n        </option>\n        <option>\n          <name>RTConfigPath</name>\n          <state>$TOOLKIT_DIR$\\LIB\\DLIB\\dlAVR-3s-ec_mul-sf-n.h</state>\n        </option>\n        <option>\n          <name>RTLibraryPath</name>\n          <state>$TOOLKIT_DIR$\\LIB\\DLIB\\dlAVR-3s-ec_mul-sf-n.r90</state>\n        </option>\n        <option>\n          <name>Input variant</name>\n          <version>36</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Input description</name>\n          <state>Automatic choice of formatter.</state>\n        </option>\n        <option>\n          <name>Output variant</name>\n          <version>36</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>Output description</name>\n          <state>No specifier a, A, no specifier n, no float nor long long, no flags, without multibytes.</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelectSlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GeneralEnableMisra</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVerbose</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LCTinyHeapSize</name>\n          <state>0x10</state>\n        </option>\n        <option>\n          <name>LCNearHeapSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LCFarHeapSize</name>\n          <state>0x1000</state>\n        </option>\n        <option>\n          <name>LCHugeHeapSize</name>\n          <state>0x1000</state>\n        </option>\n        <option>\n          <name>LCsHeapConfigText</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GGNoMULInstruction</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>GenDeviceSelectMenu</name>\n          <state>m328p\tATmega328P</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICCAVR</name>\n      <archiveVersion>6</archiveVersion>\n      <data>\n        <version>17</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CCVariantProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnhancedCore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCVariantMemory</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCPreprocFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocComments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMnemonics</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCListCMessages</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagSuppress</name>\n          <state>Pa050</state>\n        </option>\n        <option>\n          <name>CCDiagRemark</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagWarning</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagError</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCWarnAsError</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCConstInRAM</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCInitInFlash</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCForceVariables</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOldCallConv</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLockRegs</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCAllowList</name>\n          <version>3</version>\n          <state>101010</state>\n        </option>\n        <option>\n          <name>CCCrossCallPassesList</name>\n          <version>8</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCObjUseModuleName</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCObjModuleName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDebugInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCNoErrorMsg</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CC64BitDoubles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CC64KFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableExtBus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableBitDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOptForceCrossCall</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCharIs</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCExt</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRequirePrototypes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCompilerRuntimeInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>newCCIncludePaths</name>\n          <state>$PROJ_DIR$\\.</state>\n          <state>$PROJ_DIR$\\..\\..</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\avr\\qk\\iar</state>\n        </option>\n        <option>\n          <name>CCStdIncCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEepromSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLockRegsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOutputFile</name>\n          <state>$FILE_BNAME$.r90</state>\n        </option>\n        <option>\n          <name>CompilerMisraOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLibConfigHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>PreInclude</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCOverrideModuleTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleTypeSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCAdditionalCommandLineOptionsSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>IccLang</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccCppDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccAllowVLA</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCppInlineSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccStaticDestr</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccFloatSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOptStrategy</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevel</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>CCOptLevelSlave</name>\n          <state>2</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>AAVR</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>11</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ACaseSensitivity</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AWarnEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnWhat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnOne</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CDebug</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>MacroChars</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>UndefAsm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefLine</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefTime</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefDate</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefTid</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AListHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AListing</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Includes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacExps</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacExec</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OnlyAssed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MultiLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>TabSpacing</name>\n          <state>8</state>\n        </option>\n        <option>\n          <name>AXRef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDefines</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefInternal</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDual</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OAEnhancedCore</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrOn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrNum</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>ANewIncludes</name>\n          <state>$TOOLKIT_DIR$\\INC\\</state>\n        </option>\n        <option>\n          <name>AsmMultiByteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AavrVariantMemory</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AsmHasElpm</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AsmOutputFile</name>\n          <state>$FILE_BNAME$.r90</state>\n        </option>\n        <option>\n          <name>AStdIncCheck</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CUSTOM</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <extensions></extensions>\n        <cmdline></cmdline>\n        <hasPrio>0</hasPrio>\n      </data>\n    </settings>\n    <settings>\n      <name>BICOMP</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>BUILDACTION</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <prebuild></prebuild>\n        <postbuild></postbuild>\n      </data>\n    </settings>\n    <settings>\n      <name>XLINK</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>16</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>XOutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>blinky-qk.d90</state>\n        </option>\n        <option>\n          <name>OutputFormat</name>\n          <version>11</version>\n          <state>23</state>\n        </option>\n        <option>\n          <name>FormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>SecondaryOutputFile</name>\n          <state>(None for the selected format)</state>\n        </option>\n        <option>\n          <name>XDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AlwaysOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OverlapWarnings</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NoGlobalCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XList</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>SegmentMap</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ListSymbols</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>XIncludes</name>\n          <state>$TOOLKIT_DIR$\\LIB\\</state>\n        </option>\n        <option>\n          <name>ModuleStatus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclFile</name>\n          <state>$TOOLKIT_DIR$\\src\\template\\cfgm328p.xcl</state>\n        </option>\n        <option>\n          <name>XclFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DoFill</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FillerByte</name>\n          <state>0xFF</state>\n        </option>\n        <option>\n          <name>DoCrc</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcSize</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcAlgo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcPoly</name>\n          <state>0x11021</state>\n        </option>\n        <option>\n          <name>CrcCompl</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RangeCheckAlternatives</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressAllWarn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressDiags</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsWarn</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsErr</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ModuleLocalSym</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcBitOrder</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OXSysConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IncludeSuppressed</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ModuleSummary</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabel</name>\n          <state>__program_start</state>\n        </option>\n        <option>\n          <name>DebugInformation</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RuntimeControl</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IoEmulation</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AllowExtraOutput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GenerateExtraOutput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XExtraOutOverride</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ExtraOutputFile</name>\n          <state>blinky-qk.hex</state>\n        </option>\n        <option>\n          <name>ExtraOutputFormat</name>\n          <version>11</version>\n          <state>23</state>\n        </option>\n        <option>\n          <name>ExtraFormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>xcOverrideProgramEntryLabel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabelSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ListOutputFormat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>BufferedTermOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XcRTLibraryFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OXLibIOConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XLinkMisraHandler</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OverlaySystemMap</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RawBinaryFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySymbol</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySegment</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinaryAlign</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CrcAlign</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcInitialValue</name>\n          <state>0x00</state>\n        </option>\n        <option>\n          <name>CrcUnitSize</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogInputFiles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogModuleSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogPrintfScanf</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogSegmentSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogStackDepth</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkStackUsageEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkControlFiles</name>\n          <state></state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileName</name>\n          <state>$LIST_DIR$\\$PROJ_FNAME$.call_graph.cgx</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>XAR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>XAROutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XARInputs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>BILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n  </configuration>\n  <configuration>\n    <name>Release</name>\n    <toolchain>\n      <name>AVR</name>\n    </toolchain>\n    <debug>0</debug>\n    <settings>\n      <name>General</name>\n      <archiveVersion>11</archiveVersion>\n      <data>\n        <version>9</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>GGEnhancedCore</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Variant Memory</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ExePath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>ObjPath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>ListPath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>GGEnableConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GG64KFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GG64BitDoubles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GGFPSLICCOnfig</name>\n          <version>0</version>\n          <state>3</state>\n        </option>\n        <option>\n          <name>LCEnableBitDefs</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>LCHeapSize</name>\n          <state>0x10</state>\n        </option>\n        <option>\n          <name>SCCStackSize</name>\n          <state>0x100</state>\n        </option>\n        <option>\n          <name>SCExtCStack</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SCRStackSize</name>\n          <state>16</state>\n        </option>\n        <option>\n          <name>SCExtRStack</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SCEnableBus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SCAddWaitstate</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SCRamBase</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCRamSize</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCRomBase</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCRomSize</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCNVBase</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCNVSize</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCInitWithReti</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GOutputBinary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GGEepromUtil</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GGEepromUtilSize</name>\n          <state>1024</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelect</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RTDescription</name>\n          <state>Use the normal configuration of the C/EC++</state>\n          <state>runtime library. No locale interface,</state>\n          <state>C locale, no file descriptor support,</state>\n          <state>no multibytes in printf and scanf, and</state>\n          <state>no hex floats in strtod.</state>\n        </option>\n        <option>\n          <name>RTConfigPath</name>\n          <state>$TOOLKIT_DIR$\\LIB\\DLIB\\dlAVR-3s-ec_mul-sf-n.h</state>\n        </option>\n        <option>\n          <name>RTLibraryPath</name>\n          <state>$TOOLKIT_DIR$\\LIB\\DLIB\\dlAVR-3s-ec_mul-sf-n.r90</state>\n        </option>\n        <option>\n          <name>Input variant</name>\n          <version>36</version>\n          <state>6</state>\n        </option>\n        <option>\n          <name>Input description</name>\n          <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n        </option>\n        <option>\n          <name>Output variant</name>\n          <version>36</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>Output description</name>\n          <state>No specifier a, A, no specifier n, no float nor long long, no flags, without multibytes.</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelectSlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GeneralEnableMisra</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVerbose</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LCTinyHeapSize</name>\n          <state>0x10</state>\n        </option>\n        <option>\n          <name>LCNearHeapSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LCFarHeapSize</name>\n          <state>0x1000</state>\n        </option>\n        <option>\n          <name>LCHugeHeapSize</name>\n          <state>0x1000</state>\n        </option>\n        <option>\n          <name>LCsHeapConfigText</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GGNoMULInstruction</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>GenDeviceSelectMenu</name>\n          <state>m328p\tATmega328P</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICCAVR</name>\n      <archiveVersion>6</archiveVersion>\n      <data>\n        <version>17</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CCVariantProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnhancedCore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCVariantMemory</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCDefines</name>\n          <state>NDEBUG</state>\n        </option>\n        <option>\n          <name>CCPreprocFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocComments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMnemonics</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCListCMessages</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagSuppress</name>\n          <state>Pa050</state>\n        </option>\n        <option>\n          <name>CCDiagRemark</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagWarning</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagError</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCWarnAsError</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCConstInRAM</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCInitInFlash</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCForceVariables</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOldCallConv</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLockRegs</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCAllowList</name>\n          <version>3</version>\n          <state>111111</state>\n        </option>\n        <option>\n          <name>CCCrossCallPassesList</name>\n          <version>8</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCObjUseModuleName</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCObjModuleName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDebugInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCNoErrorMsg</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CC64BitDoubles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CC64KFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableExtBus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableBitDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOptForceCrossCall</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCharIs</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCExt</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRequirePrototypes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCompilerRuntimeInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>newCCIncludePaths</name>\n          <state>$PROJ_DIR$\\.</state>\n          <state>$PROJ_DIR$\\..\\..</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\avr\\qk\\iar</state>\n        </option>\n        <option>\n          <name>CCStdIncCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEepromSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLockRegsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOutputFile</name>\n          <state>$FILE_BNAME$.r90</state>\n        </option>\n        <option>\n          <name>CompilerMisraOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLibConfigHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>PreInclude</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCOverrideModuleTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleTypeSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCAdditionalCommandLineOptionsSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>IccLang</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccCppDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccAllowVLA</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCppInlineSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccStaticDestr</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccFloatSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOptStrategy</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevel</name>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CCOptLevelSlave</name>\n          <state>3</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>AAVR</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>11</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ACaseSensitivity</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AWarnEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnWhat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnOne</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CDebug</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>MacroChars</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>UndefAsm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefLine</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefTime</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefDate</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefTid</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AListHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AListing</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Includes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacExps</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacExec</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OnlyAssed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MultiLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>TabSpacing</name>\n          <state>8</state>\n        </option>\n        <option>\n          <name>AXRef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDefines</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefInternal</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDual</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OAEnhancedCore</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrOn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrNum</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>ANewIncludes</name>\n          <state>$TOOLKIT_DIR$\\INC\\</state>\n        </option>\n        <option>\n          <name>AsmMultiByteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AavrVariantMemory</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AsmHasElpm</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AsmOutputFile</name>\n          <state>$FILE_BNAME$.r90</state>\n        </option>\n        <option>\n          <name>AStdIncCheck</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CUSTOM</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <extensions></extensions>\n        <cmdline></cmdline>\n        <hasPrio>0</hasPrio>\n      </data>\n    </settings>\n    <settings>\n      <name>BICOMP</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>BUILDACTION</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <prebuild></prebuild>\n        <postbuild></postbuild>\n      </data>\n    </settings>\n    <settings>\n      <name>XLINK</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>16</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>XOutOverride</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>blinky-qk.hex</state>\n        </option>\n        <option>\n          <name>OutputFormat</name>\n          <version>11</version>\n          <state>23</state>\n        </option>\n        <option>\n          <name>FormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>SecondaryOutputFile</name>\n          <state>(None for the selected format)</state>\n        </option>\n        <option>\n          <name>XDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AlwaysOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OverlapWarnings</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NoGlobalCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XList</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>SegmentMap</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ListSymbols</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>XIncludes</name>\n          <state>$TOOLKIT_DIR$\\LIB\\</state>\n        </option>\n        <option>\n          <name>ModuleStatus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclFile</name>\n          <state>$TOOLKIT_DIR$\\src\\template\\cfgm328p.xcl</state>\n        </option>\n        <option>\n          <name>XclFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DoFill</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FillerByte</name>\n          <state>0xFF</state>\n        </option>\n        <option>\n          <name>DoCrc</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcSize</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcAlgo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcPoly</name>\n          <state>0x11021</state>\n        </option>\n        <option>\n          <name>CrcCompl</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RangeCheckAlternatives</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressAllWarn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressDiags</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsWarn</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsErr</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ModuleLocalSym</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcBitOrder</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OXSysConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IncludeSuppressed</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ModuleSummary</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabel</name>\n          <state>__program_start</state>\n        </option>\n        <option>\n          <name>DebugInformation</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RuntimeControl</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IoEmulation</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AllowExtraOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GenerateExtraOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExtraOutputFile</name>\n          <state>blinky-qk.a90</state>\n        </option>\n        <option>\n          <name>ExtraOutputFormat</name>\n          <version>11</version>\n          <state>25</state>\n        </option>\n        <option>\n          <name>ExtraFormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>xcOverrideProgramEntryLabel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabelSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ListOutputFormat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>BufferedTermOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XcRTLibraryFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OXLibIOConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XLinkMisraHandler</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OverlaySystemMap</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RawBinaryFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySymbol</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySegment</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinaryAlign</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CrcAlign</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcInitialValue</name>\n          <state>0x00</state>\n        </option>\n        <option>\n          <name>CrcUnitSize</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogInputFiles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogModuleSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogPrintfScanf</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogSegmentSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogStackDepth</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkStackUsageEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkControlFiles</name>\n          <state></state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileName</name>\n          <state>$LIST_DIR$\\$PROJ_FNAME$.call_graph.cgx</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>XAR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>XAROutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XARInputs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>BILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n  </configuration>\n  <group>\n    <name>Application</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\blinky.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\blinky.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\bsp.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\bsp.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\main.c</name>\n    </file>\n  </group>\n  <group>\n    <name>QP</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qepn.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qfn.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qkn\\qkn.c</name>\n    </file>\n  </group>\n</project>\n\n\n"
  },
  {
    "path": "examples/avr/blinky_arduino-uno/qk/iar/blinky-qk.eww",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<workspace>\n  <project>\n    <path>$WS_DIR$\\blinky-qk.ewp</path>\n  </project>\n  <batchBuild/>\n</workspace>\n\n\n"
  },
  {
    "path": "examples/avr/blinky_arduino-uno/qk/iar/bsp.c",
    "content": "/*****************************************************************************\n* Product: Blinky example, Arduino-UNO, preemptive QK-nano kernel, IAR-AVR\n* Last Updated for Version: 5.4.0\n* Date of the Last Update:  2015-05-28\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"blinky.h\"\n#include \"bsp.h\"\n\n#include <iom328p.h>   /* the AVR MCU variant used */\n\n/* add other drivers if necessary... */\n\n//Q_DEFINE_THIS_FILE\n\n/* Local-scope objects -----------------------------------------------------*/\n/* Arduino-UNO runs off the 16MHz oscillator */\n#define F_CPU   16000000UL\n\n/* the on-board LED labeled \"L\" on Arduino-UNO */\n#define LED_L   (1U << 5)\n\n/* ISRs used in this project ===============================================*/\n#pragma vector = TIMER2_COMPA_vect\n__interrupt void timer2_ISR(void) {\n\n    QK_ISR_ENTRY();  /* inform QK about entering an ISR */\n    QF_tickXISR(0U); /* process time events for rate 0 */\n    QK_ISR_EXIT();   /* inform QK about exiting an ISR */\n}\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    DDRB  = 0xFFU; // All PORTB pins are outputs (user LED)\n    PORTB = 0x00U; // drive all pins low\n}\n/*..........................................................................*/\nvoid BSP_ledOff(void) {\n    PORTB &= ~LED_L;\n}\n/*..........................................................................*/\nvoid BSP_ledOn(void) {\n    PORTB |= LED_L;\n}\n/*..........................................................................*/\nvoid BSP_terminate(int16_t result) {\n    (void)result;\n}\n\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    /* set Timer2 in CTC mode, 1/1024 prescaler, start the timer ticking... */\n    TCCR2A = (1U << WGM21) | (0U << WGM20);\n    TCCR2B = (1U << CS22 ) | (1U << CS21) | (1U << CS20); /* 1/2^10 */\n    ASSR  &= ~(1U << AS2);\n    TIMSK2 = (1U << OCIE2A); /* Enable TIMER2 compare Interrupt */\n    TCNT2  = 0U;\n    OCR2A  = (F_CPU / BSP_TICKS_PER_SEC / 1024U) - 1U;\n}\n/*..........................................................................*/\nvoid QF_onCleanup(void) {\n}\n\n/*..........................................................................*/\nvoid QK_onIdle(void) {\n    /* toggle the User LED, see NOTE1 , not enough LEDs to implement! */\n    //QF_INT_DISABLE();\n    //PORTB |= LED_L;\n    //PORTB &= ~LED_L;\n    //QF_INT_ENABLE();\n\n#ifdef NDEBUG\n    /* Put the CPU and peripherals to the low-power mode.\n    * you might need to customize the clock management for your application,\n    * see the datasheet for your particular AVR MCU.\n    */\n    SMCR = (0 << SM0) | (1 << SE); /* idle mode, adjust to your project */\n    QK_CPU_SLEEP(); /* put CPU to sleep */\n#endif\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const file, int line) {\n    /* implement the error-handling policy for your application!!! */\n    QF_INT_DISABLE(); /* disable all interrupts */\n    QF_RESET();  /* reset the CPU */\n}\n\n/*****************************************************************************\n* NOTE1:\n* The User LED is used to visualize the idle loop activity. The brightness\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n"
  },
  {
    "path": "examples/avr/blinky_arduino-uno/qk/iar/flash.bat",
    "content": "@echo off\n::============================================================================\n:: Batch file to program the flash of Arduino-UNO\n:: \n:: NOTE: requires the AVRDUDE uitlity which is included in the QTools\n:: collection\n:: \nsetlocal\n\n@echo off\n@echo Load a given hex file to the flash of Arduino-UNO\n@echo usage:   flash hex-file [COM-port]\n@echo example: flash dbg\\blinky-qk.hex\n@echo example: flash dbg\\blinky-qk.hex COM5\n\n::----------------------------------------------------------------------------\n:: NOTE: Adjust the following symbol to the location of the\n:: AVRDUDE utility on your machine \n::\nset AVRDUDE=avrdude.exe\n\nset COM_PORT=COM5\nif [%2] NEQ [] set COM_PORT=%2\n\nif [\"%~1\"]==[\"\"] (\n    @echo The hex file missing\n    @goto end\n)\nif not exist %~s1 (\n    @echo The hex file '%1' does not exist\n    @goto end\n)\n\n@echo on\n%AVRDUDE% -p atmega328p -c arduino -P %COM_PORT% -b 115200 -D -v -U flash:w:%1:i\n@echo off\n\n:end\n\nendlocal"
  },
  {
    "path": "examples/avr/blinky_arduino-uno/qpn_conf.h",
    "content": "/*****************************************************************************\n* Product: QP-nano configuration for the Blinky example\n* Last Updated for Version: 5.6.2\n* Date of the Last Update:  2016-04-05\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef QPN_CONF_H\n#define QPN_CONF_H\n\n#define Q_PARAM_SIZE            4U\n#define QF_MAX_TICK_RATE        1U\n#define QF_TIMEEVT_CTR_SIZE     2U\n#define QF_TIMEEVT_PERIODIC\n\n#endif  /* QPN_CONF_H */\n"
  },
  {
    "path": "examples/avr/blinky_arduino-uno/qv/gnu/Makefile",
    "content": "##############################################################################\n# Product: Makefile for QP-nano, Arduino-UNO, cooperative QV kernel, GNU-AVR\n# Last Updated for Version: 5.4.0\n# Date of the Last Update:  2015-05-28\n#\n#                    Q u a n t u m     L e a P s\n#                    ---------------------------\n#                    innovating embedded systems\n#\n# Copyright (C) Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# Web:   http://www.state-machine.com\n# Email: info@state-machine.com\n##############################################################################\n# examples of invoking this Makefile:\n# building configurations: Debug (default), Release, and Spy\n# make\n# make CONF=rel\n#\n# cleaning configurations: Debug (default), Release, and Spy\n# make clean\n# make CONF=rel clean\n#\n# NOTE:\n# To use this Makefile on Windows, you will need the GNU make utility, which\n# is included in the Qtools collection for Windows, see:\n#    http://sourceforge.net/projects/qpc/files/Qtools/\n#\n\n#-----------------------------------------------------------------------------\n# project name\n#\nPROJECT     := blinky-qv\n\n#-----------------------------------------------------------------------------\n# project directories\n#\n\n# location of the QP-nano framework (if not provided in an environemnt var.)\nifeq ($(QPN),)\nQPN := ../../../../..\nendif\n\n# QP port used in this project\nQP_PORT_DIR := $(QPN)/ports/avr/qv/gnu\n\n# list of all source directories used by this project\nVPATH = \\\n\t.. \\\n\t../.. \\\n\t$(QPN)/src/qfn \\\n\t$(QPN)/src/qvn \\\n\t$(QP_PORT_DIR)\n\n# list of all include directories needed by this project\nINCLUDES  = \\\n\t-I../.. \\\n\t-I$(QPN)/include \\\n\t-I$(QP_PORT_DIR)\n\n#-----------------------------------------------------------------------------\n# files\n#\n\n# assembler source files\nASM_SRCS :=\n\n# C source files\nC_SRCS := \\\n\tblinky.c \\\n\tbsp.c \\\n\tmain.c\n\n# C++ source files\nCPP_SRCS :=\t\n\nOUTPUT    := $(PROJECT)\nLD_SCRIPT := $(PROJECT).ld\n\nQP_SRCS := \\\n\tqepn.c \\\n\tqfn.c \\\n\tqvn.c\n\nQP_ASMS :=\n\nLIB_DIRS  :=\nLIBS      :=\n\n# defines\nDEFINES   :=\n\n# AVR MCU type\nAVR_MCU=atmega328p\n\n#-----------------------------------------------------------------------------\n# GNU-AVR toolset (NOTE: You need to adjust to your machine)\n# see http://sourceforge.net/projects/winavr\n#\nifeq ($(GNU_AVR),)\nGNU_AVR = C:\\tools\\WinAVR\nendif\n\n# make sure that the GNU-AVR toolset exists...\nifeq (\"$(wildcard $(GNU_AVR))\",\"\")\n$(error GNU_AVR toolset not found. Please adjust the Makefile)\nendif\n\nCC    := $(GNU_AVR)/bin/avr-gcc\nCPP   := $(GNU_AVR)/bin/avr-g++\nAS    := $(GNU_AVR)/bin/avr-as\nLINK  := $(GNU_AVR)/bin/avr-gcc\nBIN   := $(GNU_AVR)/bin/avr-objcopy\n\n##############################################################################\n# Typically, you should not need to change anything below this line\n\n# basic utilities (included in Qtools for Windows), see:\n#    http://sourceforge.net/projects/qpc/files/Qtools\n\nMKDIR := mkdir\nRM    := rm\n\n#-----------------------------------------------------------------------------\n# build options for various configurations for ARM Cortex-M4F\n#\n\n# combine all the soruces...\nC_SRCS += $(QP_SRCS) $(QP_PORT)\n\n\nifeq (rel, $(CONF)) # Release configuration ..................................\n\nBIN_DIR := rel\n\nASFLAGS =\n\nCFLAGS = -mmcu=$(AVR_MCU) -std=gnu99 -fshort-enums -Wall \\\n\t-ffunction-sections -fdata-sections \\\n    -Os $(INCLUDES) $(DEFINES) -DNDEBUG\n\nCPPFLAGS = -mmcu=$(AVR_MCU) -fshort-enums -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n    -Os $(INCLUDES) $(DEFINES) -DNDEBUG\n\nelse   # default Debug configuration .........................................\n\nBIN_DIR := dbg\n\nASFLAGS =\n\nCFLAGS = -mmcu=$(AVR_MCU) -std=gnu99 -fshort-enums -Wall \\\n\t-ffunction-sections -fdata-sections \\\n    -O $(INCLUDES) $(DEFINES)\n\nCPPFLAGS = -mmcu=$(AVR_MCU) -fshort-enums -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n    -O $(INCLUDES) $(DEFINES)\n\nendif  # .....................................................................\n\nLINKFLAGS = -mmcu=$(AVR_MCU) \\\n\t-Wl,-Map,$(BIN_DIR)/$(OUTPUT).map,--cref,--gc-sections $(LIB_DIRS)\n\n\nASM_OBJS     := $(patsubst %.s,%.o,  $(notdir $(ASM_SRCS)))\nC_OBJS       := $(patsubst %.c,%.o,  $(notdir $(C_SRCS)))\nCPP_OBJS     := $(patsubst %.cpp,%.o,$(notdir $(CPP_SRCS)))\n\nTARGET_HEX   := $(BIN_DIR)/$(OUTPUT).hex\nTARGET_ELF   := $(BIN_DIR)/$(OUTPUT).elf\nASM_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(ASM_OBJS))\nC_OBJS_EXT   := $(addprefix $(BIN_DIR)/, $(C_OBJS))\nC_DEPS_EXT   := $(patsubst %.o, %.d, $(C_OBJS_EXT))\nCPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))\nCPP_DEPS_EXT := $(patsubst %.o, %.d, $(CPP_OBJS_EXT))\n\n# create $(BIN_DIR) if it does not exist\nifeq (\"$(wildcard $(BIN_DIR))\",\"\")\n$(shell $(MKDIR) $(BIN_DIR))\nendif\n\n#-----------------------------------------------------------------------------\n# rules\n#\n\nall: $(TARGET_HEX)\n#all: $(TARGET_ELF)\n\n$(TARGET_HEX): $(TARGET_ELF)\n\t$(BIN) -O ihex $< $@\n\n$(TARGET_ELF) : $(ASM_OBJS_EXT) $(C_OBJS_EXT) $(CPP_OBJS_EXT)\n\t$(LINK) $(LINKFLAGS) -o $@ $^ $(LIBS)\n\n$(BIN_DIR)/%.d : %.c\n\t$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@\n\n$(BIN_DIR)/%.d : %.cpp\n\t$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@\n\n$(BIN_DIR)/%.o : %.s\n\t$(AS) $(ASFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.c\n\t$(CC) $(CFLAGS) -c $< -o $@\n\n$(BIN_DIR)/%.o : %.cpp\n\t$(CPP) $(CPPFLAGS) -c $< -o $@\n\n# include dependency files only if our goal depends on their existence\nifneq ($(MAKECMDGOALS),clean)\n  ifneq ($(MAKECMDGOALS),show)\n-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)\n  endif\nendif\n\n\n.PHONY : clean\nclean:\n\t-$(RM) $(BIN_DIR)/*.o \\\n\t$(BIN_DIR)/*.d \\\n\t$(BIN_DIR)/*.hex \\\n\t$(BIN_DIR)/*.elf \\\n\t$(BIN_DIR)/*.map\n\t\nshow:\n\t@echo PROJECT = $(PROJECT)\n\t@echo CONF = $(CONF)\n\t@echo DEFINES = $(DEFINES)\n\t@echo ASM_FPU = $(ASM_FPU)\n\t@echo ASM_SRCS = $(ASM_SRCS)\n\t@echo C_SRCS = $(C_SRCS)\n\t@echo CPP_SRCS = $(CPP_SRCS)\n\t@echo ASM_OBJS_EXT = $(ASM_OBJS_EXT)\n\t@echo C_OBJS_EXT = $(C_OBJS_EXT)\n\t@echo C_DEPS_EXT = $(C_DEPS_EXT)\n\t@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)\n\t@echo TARGET_ELF = $(TARGET_ELF)\n"
  },
  {
    "path": "examples/avr/blinky_arduino-uno/qv/gnu/README.txt",
    "content": "About this Example\n==================\nThis example can be built from the command prompt with the provided\nMakefile. The example can also be invoked directly (via the make\nutility) from the QM modeling tool.\n\n\nThe Makefile\n============\nThe provided Makefile should be easy to adapt for your own projects.\nIt contains three build configurations: Debug (default), Release, and\nSpy.\n\nThe various build configurations are built as follows:\n\nmake\nmake CONF=rel\nmake CONF=spy\n\nmake clean\nmake CONF=rel clean\nmake CONF=spy clean\n\n\nWarning: '__progmem__' attribute ignored\n========================================\nAVR is a Harvard architecture that uses different program and data spaces as\nwell as different CPU instructions to access these two address spaces (data\nmemory is 8-bit wide while program memory is 16-bit wide). Consequently, one\nof the biggest concerns in AVR programs is to correctly allocate and access\nconstant data in the program space (ROM) rather than the precious RAM. Since\nthe ROM resides in a different address space, you need to tell the compiler\nto place variables there. You also need a way to access the data (i.e., the\ncompiler has to use the lpm instruction.)\n\nThe GNU-AVR compiler supports data in the program memory only partially\nthrough the attribute((progmem)) extension (typically used through the\nPROGMEM macro). By tagging a variable with attribute((progmem)), you can\nforce it to reside in the ROM. However, the compiler support ends at this\npoint. It is the responsibility of the developer to correctly access the\nPROGMEM variables. The GCC-AVR provides merely a bunch of macros (all\ndefined in the avr\\pgmspace.h header file).\n\nThe bottom line is that the GNU-AVR compiler support for ROM-allocated\nobjects through the PROGMEM attribute is both incomplete and inconsistent\nwith the correct implementation in other compilers (such as IAR-AVR).\nFor example, pointers pointing to PROGMEM objects are not treated correctly,\nmeaning that the compiler will not generate the right code to access such\nROM objects (the GNU-AVR compiler needs a kludge in form of macros such as\npgm_read_byte_near and others). To recognize that fact, the GNU-AVR\ngenerates the warnings \"'progmem' attribute ignored \".\n\nHowever, the QP source code is written for a standard correct implementation\n(how else would you achieve portability?). For example, the IAR-AVR compiler\nuses the attribute '__flash' to designate objects and pointers to ROM\nobjects. The compiler then generates the right code for all such flash\nobjects and pointers, without any kludges necessary for the GNU compiler.\n\nIn summary, the warnings \"'progmem' attribute ignored\" should be ignored\nin the QP library build. To avoid these warnings, the QP source code would\nhave to be modified in such a way that it would be incorrect for other\ncompilers that handle these declarations correctly.\n"
  },
  {
    "path": "examples/avr/blinky_arduino-uno/qv/gnu/bsp.c",
    "content": "/*****************************************************************************\n* Product: Blinky example, Arduino-UNO board, cooperative QV kernel, GNU-AVR\n* Last Updated for Version: 5.4.0\n* Date of the Last Update:  2015-04-08\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"blinky.h\"\n#include \"bsp.h\"\n\n/* the AVR device specific header <avr/io.h> is already included */\n/* add other drivers if necessary... */\n\n//Q_DEFINE_THIS_FILE\n\n/* Local-scope objects -----------------------------------------------------*/\n/* Arduino-UNO runs off the 16MHz oscillator */\n#define F_CPU   16000000UL\n\n/* the on-board LED labeled \"L\" on Arduino-UNO (PORTB) */\n#define LED_L   (1U << 5)\n\n/* ISRs used in this project ===============================================*/\nISR(TIMER2_COMPA_vect) {\n    QF_tickXISR(0U); /* process time events for rate 0 */\n}\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    DDRB  = 0xFFU; // All PORTB pins are outputs (user LED)\n    PORTB = 0x00U; // drive all pins low\n}\n/*..........................................................................*/\nvoid BSP_ledOff(void) {\n    PORTB &= ~LED_L;\n}\n/*..........................................................................*/\nvoid BSP_ledOn(void) {\n    PORTB |= LED_L;\n}\n/*..........................................................................*/\nvoid BSP_terminate(int16_t result) {\n    (void)result;\n}\n\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    /* set Timer2 in CTC mode, 1/1024 prescaler, start the timer ticking... */\n    TCCR2A = (1U << WGM21) | (0U << WGM20);\n    TCCR2B = (1U << CS22 ) | (1U << CS21) | (1U << CS20); /* 1/2^10 */\n    ASSR  &= ~(1U << AS2);\n    TIMSK2 = (1U << OCIE2A); /* Enable TIMER2 compare Interrupt */\n    TCNT2  = 0U;\n    OCR2A  = (F_CPU / BSP_TICKS_PER_SEC / 1024U) - 1U;\n}\n/*..........................................................................*/\nvoid QF_onCleanup(void) {\n}\n\n/*..........................................................................*/\nvoid QV_onIdle(void) {   /* called with interrupts DISABLED, see NOTE1 */\n    /* toggle the User LED, see NOTE2 , not enough LEDs to implement! */\n    //PORTB |= LED_L;\n    //PORTB &= ~LED_L;\n\n#ifdef NDEBUG\n    /* Put the CPU and peripherals to the low-power mode.\n    * you might need to customize the clock management for your application,\n    * see the datasheet for your particular AVR MCU.\n    */\n    SMCR = (0 << SM0) | (1 << SE); /* idle mode, adjust to your project */\n    QV_CPU_SLEEP();  /* atomically go to sleep and enable interrupts */\n#else\n    QF_INT_ENABLE(); /* just enable interrupts */\n#endif\n}\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const file, int line) {\n    /* implement the error-handling policy for your application!!! */\n    QF_INT_DISABLE(); /* disable all interrupts */\n    QF_RESET();  /* reset the CPU */\n    for (;;) {\n    }\n}\n\n/*****************************************************************************\n* NOTE01:\n* The QV_onIdle() callback is called with interrupts disabled, because the\n* determination of the idle condition might change by any interrupt posting\n* an event. QV_onIdle() must internally enable interrupts, ideally\n* atomically with putting the CPU to the power-saving mode.\n*\n* NOTE2:\n* The User LED is used to visualize the idle loop activity. The brightness\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n"
  },
  {
    "path": "examples/avr/blinky_arduino-uno/qv/gnu/flash.bat",
    "content": "@echo off\n::============================================================================\n:: Batch file to program the flash of Arduino-UNO\n:: \n:: NOTE: requires the AVRDUDE uitlity which is included in the QTools\n:: collection\n:: \nsetlocal\n\n@echo off\n@echo Load a given hex file to the flash of Arduino-UNO\n@echo usage:   flash hex-file [COM-port]\n@echo example: flash dbg\\blinky-qk.hex\n@echo example: flash dbg\\blinky-qk.hex COM5\n\n::----------------------------------------------------------------------------\n:: NOTE: Adjust the following symbol to the location of the\n:: AVRDUDE utility on your machine \n::\nset AVRDUDE=avrdude.exe\n\nset COM_PORT=COM5\nif [%2] NEQ [] set COM_PORT=%2\n\nif [\"%~1\"]==[\"\"] (\n    @echo The hex file missing\n    @goto end\n)\nif not exist %~s1 (\n    @echo The hex file '%1' does not exist\n    @goto end\n)\n\n@echo on\n%AVRDUDE% -p atmega328p -c arduino -P %COM_PORT% -b 115200 -D -v -U flash:w:%1:i\n@echo off\n\n:end\n\nendlocal"
  },
  {
    "path": "examples/avr/blinky_arduino-uno/qv/iar/blinky-qv.ewd",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<project>\n  <fileVersion>2</fileVersion>\n  <configuration>\n    <name>Debug</name>\n    <toolchain>\n      <name>AVR</name>\n    </toolchain>\n    <debug>1</debug>\n    <settings>\n      <name>C-SPY</name>\n      <archiveVersion>6</archiveVersion>\n      <data>\n        <version>16</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CSVariantProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DDFile</name>\n          <state>$TOOLKIT_DIR$\\Config\\iom328p.ddf</state>\n        </option>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCEnhancedCore</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OC64BitDoubles</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>DdfFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RunToEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RunToName</name>\n          <state>main</state>\n        </option>\n        <option>\n          <name>newDDFileOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CSVariantEepromSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CSVariant64KFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CdDllSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CDynDriver</name>\n          <state>SIMAVR</state>\n        </option>\n        <option>\n          <name>DebuggerUseUbrofResetVector</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesUse1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse3</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ATMELICEAVR</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OATMELICEDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OATMELICEExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OATMELICEExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICELogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagFreqManually</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OATMELICECommunication</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICECommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OATMELICEDebugPort</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEDebugWireDebugPort</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OATMELICEAVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEDebuggerAttachToRunningTarget</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>AVRONE</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>4</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OAVRONEDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OAVRONEExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OAVRONEExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONELogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagFreqManually</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagDebugReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OAVRONECommunication</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONECommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OAVRONEDebugPort</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEDebugWireDebugPort</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OAVRONEAVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CCRAVR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCCRAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCRAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCCRAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRBaud</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OCCRAVRParity</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRDataBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRStopBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRHandshake</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRAllComm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCRAVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OCCRAVRSuppressLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRFastDownload</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCRAVRTargetCCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRdownloadToData</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICE200AVR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OICE200AVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OICE200AVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OICE200AVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRBaud</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OICE200AVRParity</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRDataBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRStopBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRHandshake</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRAllComm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OICE200AVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OICE200AVRHighSpeed</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OICE200AVRSingleStepTimers</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRRestoreEEPROM</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRComPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRIce200ResetDelayList</name>\n          <version>8</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRIce200downloadToData</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JTAGICEAVR</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OJTAGICEAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRBaud</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRParity</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRDataBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRStopBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRHandshake</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRAllComm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceDefaultCom</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceComPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagFreqManually</name>\n          <state>100000</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagDebugReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JTAGICE3AVR</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>6</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OJTAGICE3Driver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICE3ExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICE3ExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3LogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagFreqManually</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICE3Communication</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3CommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICE3DebugPort</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3DebugWireDebugPort</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICE3AVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3DebuggerAttachToRunningTarget</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JTAGICEMKIIAVR</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>7</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OJTAGICEMKIIAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRBaud</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRParity</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRDataBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRStopBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRHandshake</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRAllComm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceDefaultCom</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceComPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagFreqManually</name>\n          <state>100000</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagDebugReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRCommunicationNew</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRCommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRUsePDI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIOnlyPDI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>DRAGONAVR</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>3</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>ODRAGONAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ODRAGONAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagFreqManually</name>\n          <state>100000</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagDebugReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRCommunicationNew</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRCommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ODRAGONAVRUsePDI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONOnlyPDI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>SIMAVR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OSIMAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OSIMAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OSIMAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>THIRDPARTYAVR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OTHIRDPARTYAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRDriverDll</name>\n          <state>Browse to your Third party driver</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRSuppress</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRVerify</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRLogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRLogFileEditB</name>\n          <state>$TOOLKIT_DIR$\\cspycomm.log</state>\n        </option>\n      </data>\n    </settings>\n    <debuggerPlugins>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\Stk600\\Stk600Plugin.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\SymList\\SymList.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n    </debuggerPlugins>\n  </configuration>\n  <configuration>\n    <name>Release</name>\n    <toolchain>\n      <name>AVR</name>\n    </toolchain>\n    <debug>0</debug>\n    <settings>\n      <name>C-SPY</name>\n      <archiveVersion>6</archiveVersion>\n      <data>\n        <version>16</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CSVariantProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DDFile</name>\n          <state>$TOOLKIT_DIR$\\Config\\iom328p.ddf</state>\n        </option>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCEnhancedCore</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OC64BitDoubles</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>DdfFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RunToEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RunToName</name>\n          <state>main</state>\n        </option>\n        <option>\n          <name>newDDFileOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CSVariantEepromSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CSVariant64KFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CdDllSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CDynDriver</name>\n          <state>SIMAVR</state>\n        </option>\n        <option>\n          <name>DebuggerUseUbrofResetVector</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesUse1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse3</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ATMELICEAVR</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OATMELICEDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OATMELICEExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OATMELICEExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICELogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagFreqManually</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OATMELICECommunication</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICECommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OATMELICEDebugPort</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEDebugWireDebugPort</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OATMELICEAVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEDebuggerAttachToRunningTarget</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>AVRONE</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>4</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OAVRONEDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OAVRONEExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OAVRONEExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONELogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagFreqManually</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagDebugReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OAVRONECommunication</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONECommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OAVRONEDebugPort</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEDebugWireDebugPort</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OAVRONEAVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CCRAVR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCCRAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCRAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCCRAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRBaud</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OCCRAVRParity</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRDataBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRStopBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRHandshake</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRAllComm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCRAVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OCCRAVRSuppressLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRFastDownload</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCRAVRTargetCCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRdownloadToData</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICE200AVR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OICE200AVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OICE200AVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OICE200AVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRBaud</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OICE200AVRParity</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRDataBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRStopBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRHandshake</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRAllComm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OICE200AVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OICE200AVRHighSpeed</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OICE200AVRSingleStepTimers</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRRestoreEEPROM</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRComPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRIce200ResetDelayList</name>\n          <version>8</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRIce200downloadToData</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JTAGICEAVR</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OJTAGICEAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRBaud</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRParity</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRDataBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRStopBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRHandshake</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRAllComm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceDefaultCom</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceComPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagFreqManually</name>\n          <state>100000</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagDebugReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JTAGICE3AVR</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>6</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OJTAGICE3Driver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICE3ExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICE3ExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3LogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagFreqManually</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICE3Communication</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3CommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICE3DebugPort</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3DebugWireDebugPort</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICE3AVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3DebuggerAttachToRunningTarget</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JTAGICEMKIIAVR</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>7</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OJTAGICEMKIIAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRBaud</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRParity</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRDataBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRStopBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRHandshake</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRAllComm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceDefaultCom</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceComPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagFreqManually</name>\n          <state>100000</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagDebugReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRCommunicationNew</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRCommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRUsePDI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIOnlyPDI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>DRAGONAVR</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>3</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>ODRAGONAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ODRAGONAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagFreqManually</name>\n          <state>100000</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagDebugReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRCommunicationNew</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRCommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ODRAGONAVRUsePDI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONOnlyPDI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>SIMAVR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OSIMAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OSIMAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OSIMAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>THIRDPARTYAVR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OTHIRDPARTYAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRDriverDll</name>\n          <state>Browse to your Third party driver</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRSuppress</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRVerify</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRLogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRLogFileEditB</name>\n          <state>$TOOLKIT_DIR$\\cspycomm.log</state>\n        </option>\n      </data>\n    </settings>\n    <debuggerPlugins>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\Stk600\\Stk600Plugin.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\SymList\\SymList.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n    </debuggerPlugins>\n  </configuration>\n</project>\n\n\n"
  },
  {
    "path": "examples/avr/blinky_arduino-uno/qv/iar/blinky-qv.ewp",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<project>\n  <fileVersion>2</fileVersion>\n  <configuration>\n    <name>Debug</name>\n    <toolchain>\n      <name>AVR</name>\n    </toolchain>\n    <debug>1</debug>\n    <settings>\n      <name>General</name>\n      <archiveVersion>11</archiveVersion>\n      <data>\n        <version>9</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>GGEnhancedCore</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Variant Memory</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ExePath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>ObjPath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>ListPath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>GGEnableConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GG64KFlash</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GG64BitDoubles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GGFPSLICCOnfig</name>\n          <version>0</version>\n          <state>3</state>\n        </option>\n        <option>\n          <name>LCEnableBitDefs</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>LCHeapSize</name>\n          <state>0x10</state>\n        </option>\n        <option>\n          <name>SCCStackSize</name>\n          <state>256</state>\n        </option>\n        <option>\n          <name>SCExtCStack</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SCRStackSize</name>\n          <state>16</state>\n        </option>\n        <option>\n          <name>SCExtRStack</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SCEnableBus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SCAddWaitstate</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SCRamBase</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCRamSize</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCRomBase</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCRomSize</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCNVBase</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCNVSize</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCInitWithReti</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GOutputBinary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GGEepromUtil</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GGEepromUtilSize</name>\n          <state>1024</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelect</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RTDescription</name>\n          <state>Use the normal configuration of the C/EC++</state>\n          <state>runtime library. No locale interface,</state>\n          <state>C locale, no file descriptor support,</state>\n          <state>no multibytes in printf and scanf, and</state>\n          <state>no hex floats in strtod.</state>\n        </option>\n        <option>\n          <name>RTConfigPath</name>\n          <state>$TOOLKIT_DIR$\\LIB\\DLIB\\dlAVR-3s-ec_mul-sf-n.h</state>\n        </option>\n        <option>\n          <name>RTLibraryPath</name>\n          <state>$TOOLKIT_DIR$\\LIB\\DLIB\\dlAVR-3s-ec_mul-sf-n.r90</state>\n        </option>\n        <option>\n          <name>Input variant</name>\n          <version>36</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>Input description</name>\n          <state></state>\n        </option>\n        <option>\n          <name>Output variant</name>\n          <version>36</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>Output description</name>\n          <state>No specifier a, A, no specifier n, no float nor long long, no flags, without multibytes.</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelectSlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GeneralEnableMisra</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVerbose</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LCTinyHeapSize</name>\n          <state>0x10</state>\n        </option>\n        <option>\n          <name>LCNearHeapSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LCFarHeapSize</name>\n          <state>0x1000</state>\n        </option>\n        <option>\n          <name>LCHugeHeapSize</name>\n          <state>0x1000</state>\n        </option>\n        <option>\n          <name>LCsHeapConfigText</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GGNoMULInstruction</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>GenDeviceSelectMenu</name>\n          <state>m328p\tATmega328P</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICCAVR</name>\n      <archiveVersion>6</archiveVersion>\n      <data>\n        <version>17</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CCVariantProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnhancedCore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCVariantMemory</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCPreprocFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocComments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMnemonics</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCListCMessages</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagSuppress</name>\n          <state>Pa050</state>\n        </option>\n        <option>\n          <name>CCDiagRemark</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagWarning</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagError</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCWarnAsError</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCConstInRAM</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCInitInFlash</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCForceVariables</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOldCallConv</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLockRegs</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCAllowList</name>\n          <version>3</version>\n          <state>101010</state>\n        </option>\n        <option>\n          <name>CCCrossCallPassesList</name>\n          <version>8</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCObjUseModuleName</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCObjModuleName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDebugInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCNoErrorMsg</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CC64BitDoubles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CC64KFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableExtBus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableBitDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOptForceCrossCall</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCharIs</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCExt</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRequirePrototypes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCompilerRuntimeInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>newCCIncludePaths</name>\n          <state>$PROJ_DIR$\\.</state>\n          <state>$PROJ_DIR$\\..\\..</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\avr\\qv\\iar</state>\n        </option>\n        <option>\n          <name>CCStdIncCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEepromSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLockRegsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOutputFile</name>\n          <state>$FILE_BNAME$.r90</state>\n        </option>\n        <option>\n          <name>CompilerMisraOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLibConfigHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>PreInclude</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCOverrideModuleTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleTypeSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCAdditionalCommandLineOptionsSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>IccLang</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccCppDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccAllowVLA</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCppInlineSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccStaticDestr</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccFloatSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOptStrategy</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevel</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>CCOptLevelSlave</name>\n          <state>2</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>AAVR</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>11</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ACaseSensitivity</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AWarnEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnWhat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnOne</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CDebug</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>MacroChars</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>UndefAsm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefLine</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefTime</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefDate</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefTid</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AListHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AListing</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Includes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacExps</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacExec</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OnlyAssed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MultiLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>TabSpacing</name>\n          <state>8</state>\n        </option>\n        <option>\n          <name>AXRef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDefines</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefInternal</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDual</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OAEnhancedCore</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrOn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrNum</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>ANewIncludes</name>\n          <state>$TOOLKIT_DIR$\\INC\\</state>\n        </option>\n        <option>\n          <name>AsmMultiByteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AavrVariantMemory</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AsmHasElpm</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AsmOutputFile</name>\n          <state>$FILE_BNAME$.r90</state>\n        </option>\n        <option>\n          <name>AStdIncCheck</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CUSTOM</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <extensions></extensions>\n        <cmdline></cmdline>\n        <hasPrio>0</hasPrio>\n      </data>\n    </settings>\n    <settings>\n      <name>BICOMP</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>BUILDACTION</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <prebuild></prebuild>\n        <postbuild></postbuild>\n      </data>\n    </settings>\n    <settings>\n      <name>XLINK</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>16</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>XOutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>blinky-qv.d90</state>\n        </option>\n        <option>\n          <name>OutputFormat</name>\n          <version>11</version>\n          <state>23</state>\n        </option>\n        <option>\n          <name>FormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>SecondaryOutputFile</name>\n          <state>(None for the selected format)</state>\n        </option>\n        <option>\n          <name>XDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AlwaysOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OverlapWarnings</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NoGlobalCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XList</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>SegmentMap</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ListSymbols</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>XIncludes</name>\n          <state>$TOOLKIT_DIR$\\LIB\\</state>\n        </option>\n        <option>\n          <name>ModuleStatus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclFile</name>\n          <state>$TOOLKIT_DIR$\\src\\template\\cfgm328p.xcl</state>\n        </option>\n        <option>\n          <name>XclFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DoFill</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FillerByte</name>\n          <state>0xFF</state>\n        </option>\n        <option>\n          <name>DoCrc</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcSize</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcAlgo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcPoly</name>\n          <state>0x11021</state>\n        </option>\n        <option>\n          <name>CrcCompl</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RangeCheckAlternatives</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressAllWarn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressDiags</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsWarn</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsErr</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ModuleLocalSym</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcBitOrder</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OXSysConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IncludeSuppressed</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ModuleSummary</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabel</name>\n          <state>__program_start</state>\n        </option>\n        <option>\n          <name>DebugInformation</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RuntimeControl</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IoEmulation</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AllowExtraOutput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GenerateExtraOutput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XExtraOutOverride</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ExtraOutputFile</name>\n          <state>blinky-qv.hex</state>\n        </option>\n        <option>\n          <name>ExtraOutputFormat</name>\n          <version>11</version>\n          <state>23</state>\n        </option>\n        <option>\n          <name>ExtraFormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>xcOverrideProgramEntryLabel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabelSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ListOutputFormat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>BufferedTermOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XcRTLibraryFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OXLibIOConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XLinkMisraHandler</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OverlaySystemMap</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RawBinaryFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySymbol</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySegment</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinaryAlign</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CrcAlign</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcInitialValue</name>\n          <state>0x00</state>\n        </option>\n        <option>\n          <name>CrcUnitSize</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogInputFiles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogModuleSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogPrintfScanf</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogSegmentSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogStackDepth</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkStackUsageEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkControlFiles</name>\n          <state></state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileName</name>\n          <state>$LIST_DIR$\\$PROJ_FNAME$.call_graph.cgx</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>XAR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>XAROutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XARInputs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>BILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n  </configuration>\n  <configuration>\n    <name>Release</name>\n    <toolchain>\n      <name>AVR</name>\n    </toolchain>\n    <debug>0</debug>\n    <settings>\n      <name>General</name>\n      <archiveVersion>11</archiveVersion>\n      <data>\n        <version>9</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>GGEnhancedCore</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Variant Memory</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ExePath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>ObjPath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>ListPath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>GGEnableConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GG64KFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GG64BitDoubles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GGFPSLICCOnfig</name>\n          <version>0</version>\n          <state>3</state>\n        </option>\n        <option>\n          <name>LCEnableBitDefs</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>LCHeapSize</name>\n          <state>0x10</state>\n        </option>\n        <option>\n          <name>SCCStackSize</name>\n          <state>0x100</state>\n        </option>\n        <option>\n          <name>SCExtCStack</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SCRStackSize</name>\n          <state>16</state>\n        </option>\n        <option>\n          <name>SCExtRStack</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SCEnableBus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SCAddWaitstate</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SCRamBase</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCRamSize</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCRomBase</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCRomSize</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCNVBase</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCNVSize</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCInitWithReti</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GOutputBinary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GGEepromUtil</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GGEepromUtilSize</name>\n          <state>1024</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelect</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RTDescription</name>\n          <state>Use the normal configuration of the C/EC++</state>\n          <state>runtime library. No locale interface,</state>\n          <state>C locale, no file descriptor support,</state>\n          <state>no multibytes in printf and scanf, and</state>\n          <state>no hex floats in strtod.</state>\n        </option>\n        <option>\n          <name>RTConfigPath</name>\n          <state>$TOOLKIT_DIR$\\LIB\\DLIB\\dlAVR-3s-ec_mul-sf-n.h</state>\n        </option>\n        <option>\n          <name>RTLibraryPath</name>\n          <state>$TOOLKIT_DIR$\\LIB\\DLIB\\dlAVR-3s-ec_mul-sf-n.r90</state>\n        </option>\n        <option>\n          <name>Input variant</name>\n          <version>36</version>\n          <state>6</state>\n        </option>\n        <option>\n          <name>Input description</name>\n          <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n        </option>\n        <option>\n          <name>Output variant</name>\n          <version>36</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>Output description</name>\n          <state>No specifier a, A, no specifier n, no float nor long long, no flags, without multibytes.</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelectSlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GeneralEnableMisra</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVerbose</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LCTinyHeapSize</name>\n          <state>0x10</state>\n        </option>\n        <option>\n          <name>LCNearHeapSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LCFarHeapSize</name>\n          <state>0x1000</state>\n        </option>\n        <option>\n          <name>LCHugeHeapSize</name>\n          <state>0x1000</state>\n        </option>\n        <option>\n          <name>LCsHeapConfigText</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GGNoMULInstruction</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>GenDeviceSelectMenu</name>\n          <state>m328p\tATmega328P</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICCAVR</name>\n      <archiveVersion>6</archiveVersion>\n      <data>\n        <version>17</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CCVariantProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnhancedCore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCVariantMemory</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCDefines</name>\n          <state>NDEBUG</state>\n        </option>\n        <option>\n          <name>CCPreprocFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocComments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMnemonics</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCListCMessages</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagSuppress</name>\n          <state>Pa050</state>\n        </option>\n        <option>\n          <name>CCDiagRemark</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagWarning</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagError</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCWarnAsError</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCConstInRAM</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCInitInFlash</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCForceVariables</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOldCallConv</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLockRegs</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCAllowList</name>\n          <version>3</version>\n          <state>111111</state>\n        </option>\n        <option>\n          <name>CCCrossCallPassesList</name>\n          <version>8</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCObjUseModuleName</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCObjModuleName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDebugInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCNoErrorMsg</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CC64BitDoubles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CC64KFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableExtBus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableBitDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOptForceCrossCall</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCharIs</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCExt</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRequirePrototypes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCompilerRuntimeInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>newCCIncludePaths</name>\n          <state>$PROJ_DIR$\\.</state>\n          <state>$PROJ_DIR$\\..\\..</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\avr\\qv\\iar</state>\n        </option>\n        <option>\n          <name>CCStdIncCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEepromSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLockRegsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOutputFile</name>\n          <state>$FILE_BNAME$.r90</state>\n        </option>\n        <option>\n          <name>CompilerMisraOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLibConfigHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>PreInclude</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCOverrideModuleTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleTypeSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCAdditionalCommandLineOptionsSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>IccLang</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccCppDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccAllowVLA</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCppInlineSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccStaticDestr</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccFloatSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOptStrategy</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevel</name>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CCOptLevelSlave</name>\n          <state>3</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>AAVR</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>11</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ACaseSensitivity</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AWarnEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnWhat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnOne</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CDebug</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>MacroChars</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>UndefAsm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefLine</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefTime</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefDate</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefTid</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AListHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AListing</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Includes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacExps</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacExec</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OnlyAssed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MultiLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>TabSpacing</name>\n          <state>8</state>\n        </option>\n        <option>\n          <name>AXRef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDefines</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefInternal</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDual</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OAEnhancedCore</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrOn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrNum</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>ANewIncludes</name>\n          <state>$TOOLKIT_DIR$\\INC\\</state>\n        </option>\n        <option>\n          <name>AsmMultiByteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AavrVariantMemory</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AsmHasElpm</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AsmOutputFile</name>\n          <state>$FILE_BNAME$.r90</state>\n        </option>\n        <option>\n          <name>AStdIncCheck</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CUSTOM</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <extensions></extensions>\n        <cmdline></cmdline>\n        <hasPrio>0</hasPrio>\n      </data>\n    </settings>\n    <settings>\n      <name>BICOMP</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>BUILDACTION</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <prebuild></prebuild>\n        <postbuild></postbuild>\n      </data>\n    </settings>\n    <settings>\n      <name>XLINK</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>16</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>XOutOverride</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>blinky-qv.hex</state>\n        </option>\n        <option>\n          <name>OutputFormat</name>\n          <version>11</version>\n          <state>23</state>\n        </option>\n        <option>\n          <name>FormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>SecondaryOutputFile</name>\n          <state>(None for the selected format)</state>\n        </option>\n        <option>\n          <name>XDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AlwaysOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OverlapWarnings</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NoGlobalCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XList</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>SegmentMap</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ListSymbols</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>XIncludes</name>\n          <state>$TOOLKIT_DIR$\\LIB\\</state>\n        </option>\n        <option>\n          <name>ModuleStatus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclFile</name>\n          <state>$TOOLKIT_DIR$\\src\\template\\cfgm328p.xcl</state>\n        </option>\n        <option>\n          <name>XclFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DoFill</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FillerByte</name>\n          <state>0xFF</state>\n        </option>\n        <option>\n          <name>DoCrc</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcSize</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcAlgo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcPoly</name>\n          <state>0x11021</state>\n        </option>\n        <option>\n          <name>CrcCompl</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RangeCheckAlternatives</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressAllWarn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressDiags</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsWarn</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsErr</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ModuleLocalSym</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcBitOrder</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OXSysConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IncludeSuppressed</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ModuleSummary</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabel</name>\n          <state>__program_start</state>\n        </option>\n        <option>\n          <name>DebugInformation</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RuntimeControl</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IoEmulation</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AllowExtraOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GenerateExtraOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExtraOutputFile</name>\n          <state>blinky-qv.a90</state>\n        </option>\n        <option>\n          <name>ExtraOutputFormat</name>\n          <version>11</version>\n          <state>25</state>\n        </option>\n        <option>\n          <name>ExtraFormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>xcOverrideProgramEntryLabel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabelSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ListOutputFormat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>BufferedTermOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XcRTLibraryFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OXLibIOConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XLinkMisraHandler</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OverlaySystemMap</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RawBinaryFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySymbol</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySegment</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinaryAlign</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CrcAlign</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcInitialValue</name>\n          <state>0x00</state>\n        </option>\n        <option>\n          <name>CrcUnitSize</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogInputFiles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogModuleSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogPrintfScanf</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogSegmentSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogStackDepth</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkStackUsageEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkControlFiles</name>\n          <state></state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileName</name>\n          <state>$LIST_DIR$\\$PROJ_FNAME$.call_graph.cgx</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>XAR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>XAROutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XARInputs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>BILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n  </configuration>\n  <group>\n    <name>Application</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\blinky.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\blinky.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\bsp.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\bsp.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\main.c</name>\n    </file>\n  </group>\n  <group>\n    <name>QP</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qepn.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qfn.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qvn\\qvn.c</name>\n    </file>\n  </group>\n</project>\n\n\n"
  },
  {
    "path": "examples/avr/blinky_arduino-uno/qv/iar/blinky-qv.eww",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<workspace>\n  <project>\n    <path>$WS_DIR$\\blinky-qv.ewp</path>\n  </project>\n  <batchBuild/>\n</workspace>\n\n\n"
  },
  {
    "path": "examples/avr/blinky_arduino-uno/qv/iar/bsp.c",
    "content": "/*****************************************************************************\n* Product: Blinky example for Arduino-UNO, cooperative QV kernel, IAR-AVR\n* Last Updated for Version: 5.4.0\n* Date of the Last Update:  2015-05-28\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"blinky.h\"\n#include \"bsp.h\"\n\n#include <iom328p.h>   /* the AVR MCU variant used */\n\n/* add other drivers if necessary... */\n\n//Q_DEFINE_THIS_FILE\n\n/* Local-scope objects -----------------------------------------------------*/\n/* Arduino-UNO runs off the 16MHz oscillator */\n#define F_CPU   16000000UL\n\n/* the on-board LED labeled \"L\" on Arduino-UNO */\n#define LED_L   (1U << 5)\n\n/* ISRs used in this project ===============================================*/\n#pragma vector = TIMER2_COMPA_vect\n__interrupt void timer2_ISR(void) {\n    QF_tickXISR(0U); /* process time events for rate 0 */\n}\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    DDRB  = 0xFFU; // All PORTB pins are outputs (user LED)\n    PORTB = 0x00U; // drive all pins low\n}\n/*..........................................................................*/\nvoid BSP_ledOff(void) {\n    PORTB &= ~LED_L;\n}\n/*..........................................................................*/\nvoid BSP_ledOn(void) {\n    PORTB |= LED_L;\n}\n/*..........................................................................*/\nvoid BSP_terminate(int16_t result) {\n    (void)result;\n}\n\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    /* set Timer2 in CTC mode, 1/1024 prescaler, start the timer ticking... */\n    TCCR2A = (1U << WGM21) | (0U << WGM20);\n    TCCR2B = (1U << CS22 ) | (1U << CS21) | (1U << CS20); /* 1/2^10 */\n    ASSR  &= ~(1U << AS2);\n    TIMSK2 = (1U << OCIE2A); /* Enable TIMER2 compare Interrupt */\n    TCNT2  = 0U;\n    OCR2A  = (F_CPU / BSP_TICKS_PER_SEC / 1024U) - 1U;\n}\n/*..........................................................................*/\nvoid QF_onCleanup(void) {\n}\n\n/*..........................................................................*/\nvoid QV_onIdle(void) {   /* called with interrupts DISABLED, see NOTE1 */\n    /* toggle the User LED, see NOTE2 , not enough LEDs to implement! */\n    //PORTB |= LED_L;\n    //PORTB &= ~LED_L;\n\n#ifdef NDEBUG\n    /* Put the CPU and peripherals to the low-power mode.\n    * you might need to customize the clock management for your application,\n    * see the datasheet for your particular AVR MCU.\n    */\n    SMCR = (0 << SM0) | (1 << SE); /* idle mode, adjust to your project */\n    QV_CPU_SLEEP();  /* atomically go to sleep and enable interrupts */\n#else\n    QF_INT_ENABLE(); /* just enable interrupts */\n#endif\n}\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const file, int line) {\n    /* implement the error-handling policy for your application!!! */\n    QF_INT_DISABLE(); /* disable all interrupts */\n    QF_RESET();  /* reset the CPU */\n}\n\n/*****************************************************************************\n* NOTE01:\n* The QV_onIdle() callback is called with interrupts disabled, because the\n* determination of the idle condition might change by any interrupt posting\n* an event. QV_onIdle() must internally enable interrupts, ideally\n* atomically with putting the CPU to the power-saving mode.\n*\n* NOTE2:\n* The User LED is used to visualize the idle loop activity. The brightness\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n"
  },
  {
    "path": "examples/avr/blinky_arduino-uno/qv/iar/flash.bat",
    "content": "@echo off\n::============================================================================\n:: Batch file to program the flash of Arduino-UNO\n:: \n:: NOTE: requires the AVRDUDE uitlity which is included in the QTools\n:: collection\n:: \nsetlocal\n\n@echo off\n@echo Load a given hex file to the flash of Arduino-UNO\n@echo usage:   flash hex-file [COM-port]\n@echo example: flash dbg\\blinky-qk.hex\n@echo example: flash dbg\\blinky-qk.hex COM5\n\n::----------------------------------------------------------------------------\n:: NOTE: Adjust the following symbol to the location of the\n:: AVRDUDE utility on your machine \n::\nset AVRDUDE=avrdude.exe\n\nset COM_PORT=COM5\nif [%2] NEQ [] set COM_PORT=%2\n\nif [\"%~1\"]==[\"\"] (\n    @echo The hex file missing\n    @goto end\n)\nif not exist %~s1 (\n    @echo The hex file '%1' does not exist\n    @goto end\n)\n\n@echo on\n%AVRDUDE% -p atmega328p -c arduino -P %COM_PORT% -b 115200 -D -v -U flash:w:%1:i\n@echo off\n\n:end\n\nendlocal"
  },
  {
    "path": "examples/avr/dpp_arduino-uno/README.url",
    "content": "[InternetShortcut]\nURL=http://www.state-machine.com/qpn/avr_dpp_arduino-uno.html\nIconFile=http://www.state-machine.com/qp.ico\n"
  },
  {
    "path": "examples/avr/dpp_arduino-uno/bsp.h",
    "content": "/*****************************************************************************\n* Product: DPP example\n* Last Updated for Version: 5.4.0\n* Date of the Last Update:  2015-03-07\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* Web  : www.state-machine.com\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BSP_H\n#define BSP_H\n\n#define BSP_TICKS_PER_SEC    100U\n\nvoid BSP_init(void);\nvoid BSP_displayPaused(uint8_t paused);\nvoid BSP_displayPhilStat(uint8_t n, char_t const *stat);\nvoid BSP_terminate(int16_t result);\n\nvoid BSP_randomSeed(uint32_t seed);   /* random seed */\nuint32_t BSP_random(void);            /* pseudo-random generator */\n\n#endif /* BSP_H */\n"
  },
  {
    "path": "examples/avr/dpp_arduino-uno/dpp.h",
    "content": "/*.$file${.::dpp.h} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: dpp.qm\n* File:  ${.::dpp.h}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::dpp.h} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#ifndef DPP_H\n#define DPP_H\n\nenum DPPSignals {\n    EAT_SIG = Q_USER_SIG, /* published by Table to let a philosopher eat */\n    DONE_SIG,             /* published by Philosopher when done eating */\n    PAUSE_SIG,            /* published by BSP to pause the application */\n    SERVE_SIG,            /* published by BSP to pause the application */\n    TERMINATE_SIG,        /* published by BSP to terminate the application */\n    HUNGRY_SIG,           /* posted direclty to Table from hungry Philo */\n    MAX_SIG               /* the last signal */\n};\n\n/* number of philosophers */\n#define N_PHILO ((uint8_t)5)\n#define PHILO_0_PRIO 1\n\n/*.$declare${AOs::AO_Philo0} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo0;\n/*.$enddecl${AOs::AO_Philo0} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo1} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo1;\n/*.$enddecl${AOs::AO_Philo1} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo2} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo2;\n/*.$enddecl${AOs::AO_Philo2} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo3} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo3;\n/*.$enddecl${AOs::AO_Philo3} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo4} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo4;\n/*.$enddecl${AOs::AO_Philo4} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Table AO_Table;\n/*.$enddecl${AOs::AO_Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/*.$declare${AOs::Philo_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo_ctor} ......................................................*/\nvoid Philo_ctor(void);\n/*.$enddecl${AOs::Philo_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::Table_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table_ctor} ......................................................*/\nvoid Table_ctor(void);\n/*.$enddecl${AOs::Table_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n#endif /* DPP_H */\n"
  },
  {
    "path": "examples/avr/dpp_arduino-uno/dpp.qm",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<model version=\"4.6.0\" links=\"1\">\n <documentation>Dining Philosopher Problem example with QActive</documentation>\n <!--${qpn}-->\n <framework name=\"qpn\"/>\n <!--${AOs}-->\n <package name=\"AOs\" stereotype=\"0x02\">\n  <!--${AOs::Philo}-->\n  <class name=\"Philo\" superclass=\"qpn::QActive\">\n   <!--${AOs::Philo::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${AOs::Philo::SM::initial}-->\n    <initial target=\"../1\">\n     <initial_glyph conn=\"2,3,5,1,20,5,-3\">\n      <action box=\"0,-2,6,2\"/>\n     </initial_glyph>\n    </initial>\n    <!--${AOs::Philo::SM::thinking}-->\n    <state name=\"thinking\">\n     <entry>QActive_armX(&amp;me-&gt;super, 0U, THINK_TIME, 0U);</entry>\n     <exit>QActive_disarmX(&amp;me-&gt;super, 0U);</exit>\n     <!--${AOs::Philo::SM::thinking::Q_TIMEOUT}-->\n     <tran trig=\"Q_TIMEOUT\" target=\"../../2\">\n      <tran_glyph conn=\"2,12,3,1,20,13,-3\">\n       <action box=\"0,-2,6,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Philo::SM::thinking::EAT, DONE}-->\n     <tran trig=\"EAT, DONE\">\n      <action>Q_ERROR(); /* these events should never arrive in this state */</action>\n      <tran_glyph conn=\"2,17,3,-1,13\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,5,17,16\">\n      <entry box=\"1,2,5,2\"/>\n      <exit box=\"1,4,6,2\"/>\n     </state_glyph>\n    </state>\n    <!--${AOs::Philo::SM::hungry}-->\n    <state name=\"hungry\">\n     <entry>QACTIVE_POST(&amp;AO_Table, HUNGRY_SIG, me-&gt;super.prio);</entry>\n     <!--${AOs::Philo::SM::hungry::EAT}-->\n     <tran trig=\"EAT\" target=\"../../3\">\n      <tran_glyph conn=\"2,30,3,1,20,13,-3\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Philo::SM::hungry::DONE}-->\n     <tran trig=\"DONE\">\n      <action>Q_ERROR(); /* this event should never arrive in this state */</action>\n      <tran_glyph conn=\"2,36,3,-1,14\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,23,17,16\">\n      <entry box=\"1,2,5,2\"/>\n     </state_glyph>\n    </state>\n    <!--${AOs::Philo::SM::eating}-->\n    <state name=\"eating\">\n     <entry>QActive_armX(&amp;me-&gt;super, 0U, EAT_TIME, 0U);</entry>\n     <exit>QActive_disarmX(&amp;me-&gt;super, 0U);\nQACTIVE_POST(&amp;AO_Table, DONE_SIG, me-&gt;super.prio);</exit>\n     <!--${AOs::Philo::SM::eating::Q_TIMEOUT}-->\n     <tran trig=\"Q_TIMEOUT\" target=\"../../1\">\n      <tran_glyph conn=\"2,51,3,1,22,-41,-5\">\n       <action box=\"0,-2,6,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Philo::SM::eating::EAT, DONE}-->\n     <tran trig=\"EAT, DONE\">\n      <action>Q_ERROR(); /* these events should never arrive in this state */</action>\n      <tran_glyph conn=\"2,55,3,-1,13\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,41,17,18\">\n      <entry box=\"1,2,5,2\"/>\n      <exit box=\"1,4,5,2\"/>\n     </state_glyph>\n    </state>\n    <state_diagram size=\"37,61\"/>\n   </statechart>\n  </class>\n  <!--${AOs::Table}-->\n  <class name=\"Table\" superclass=\"qpn::QActive\">\n   <!--${AOs::Table::fork[N_PHILO]}-->\n   <attribute name=\"fork[N_PHILO]\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Table::isHungry[N_PHILO]}-->\n   <attribute name=\"isHungry[N_PHILO]\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Table::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${AOs::Table::SM::initial}-->\n    <initial target=\"../1/2\">\n     <action>uint8_t n;\nfor (n = 0U; n &lt; N_PHILO; ++n) {\n    me-&gt;fork[n] = FREE;\n    me-&gt;isHungry[n] = 0U;\n    BSP_displayPhilStat(n, &quot;thinking&quot;);\n}</action>\n     <initial_glyph conn=\"3,3,5,1,44,18,-9\">\n      <action box=\"0,-2,6,2\"/>\n     </initial_glyph>\n    </initial>\n    <!--${AOs::Table::SM::active}-->\n    <state name=\"active\">\n     <!--${AOs::Table::SM::active::TERMINATE}-->\n     <tran trig=\"TERMINATE\">\n      <action>BSP_terminate(0);</action>\n      <tran_glyph conn=\"2,11,3,-1,14\">\n       <action box=\"0,-2,11,4\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Table::SM::active::EAT}-->\n     <tran trig=\"EAT\">\n      <action>Q_ERROR();</action>\n      <tran_glyph conn=\"2,15,3,-1,14\">\n       <action box=\"0,-2,10,4\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Table::SM::active::serving}-->\n     <state name=\"serving\">\n      <entry brief=\"give pending permitions to eat\">uint8_t n;\nfor (n = 0U; n &lt; N_PHILO; ++n) { /* give permissions to eat... */\n    if ((me-&gt;isHungry[n] != 0U)\n        &amp;&amp; (me-&gt;fork[LEFT(n)] == FREE)\n        &amp;&amp; (me-&gt;fork[n] == FREE))\n    {\n        QActive *philo;\n\n        me-&gt;fork[LEFT(n)] = USED;\n        me-&gt;fork[n] = USED;\n        philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\n        QACTIVE_POST(philo, EAT_SIG, n);\n        me-&gt;isHungry[n] = 0U;\n        BSP_displayPhilStat(n, &quot;eating  &quot;);\n    }\n}</entry>\n      <!--${AOs::Table::SM::active::serving::HUNGRY}-->\n      <tran trig=\"HUNGRY\">\n       <action>uint8_t n, m;\nQActive *philo;\n\nn = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* phil ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\n\nBSP_displayPhilStat(n, &quot;hungry  &quot;);\nm = LEFT(n);</action>\n       <!--${AOs::Table::SM::active::serving::HUNGRY::[bothfree]}-->\n       <choice>\n        <guard brief=\"both free\">(me-&gt;fork[m] == FREE) &amp;&amp; (me-&gt;fork[n] == FREE)</guard>\n        <action>me-&gt;fork[m] = USED;\nme-&gt;fork[n] = USED;\nphilo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\nQACTIVE_POST(philo, EAT_SIG, n);\nBSP_displayPhilStat(n, &quot;eating  &quot;);</action>\n        <choice_glyph conn=\"19,26,5,-1,10\">\n         <action box=\"1,0,10,2\"/>\n        </choice_glyph>\n       </choice>\n       <!--${AOs::Table::SM::active::serving::HUNGRY::[else]}-->\n       <choice>\n        <guard>else</guard>\n        <action>me-&gt;isHungry[n] = 1U;</action>\n        <choice_glyph conn=\"19,26,4,-1,5,10\">\n         <action box=\"1,5,6,2\"/>\n        </choice_glyph>\n       </choice>\n       <tran_glyph conn=\"4,26,3,-1,15\">\n        <action box=\"0,-2,8,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::serving::DONE}-->\n      <tran trig=\"DONE\">\n       <action>uint8_t n, m;\nQActive *philo;\n\nn = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* phil ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\n\nBSP_displayPhilStat(n, &quot;thinking&quot;);\nm = LEFT(n);\n/* both forks of Phil[n] must be used */\nQ_ASSERT((me-&gt;fork[n] == USED) &amp;&amp; (me-&gt;fork[m] == USED));\n\nme-&gt;fork[m] = FREE;\nme-&gt;fork[n] = FREE;\nm = RIGHT(n); /* check the right neighbor */\n\nif ((me-&gt;isHungry[m] != 0U) &amp;&amp; (me-&gt;fork[m] == FREE)) {\n    me-&gt;fork[n] = USED;\n    me-&gt;fork[m] = USED;\n    me-&gt;isHungry[m] = 0U;\n    philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n    QACTIVE_POST(philo, EAT_SIG, m);\n    BSP_displayPhilStat(m, &quot;eating  &quot;);\n}\nm = LEFT(n); /* check the left neighbor */\nn = LEFT(m); /* left fork of the left neighbor */\nif ((me-&gt;isHungry[m] != 0U) &amp;&amp; (me-&gt;fork[n] == FREE)) {\n    me-&gt;fork[m] = USED;\n    me-&gt;fork[n] = USED;\n    me-&gt;isHungry[m] = 0U;\n    philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n    QACTIVE_POST(philo, EAT_SIG, m);\n    BSP_displayPhilStat(m, &quot;eating  &quot;);\n}</action>\n       <tran_glyph conn=\"4,34,3,-1,15\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::serving::EAT}-->\n      <tran trig=\"EAT\">\n       <action>Q_ERROR();</action>\n       <tran_glyph conn=\"4,37,3,-1,15\">\n        <action box=\"0,-2,12,4\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::serving::PAUSE}-->\n      <tran trig=\"PAUSE\" target=\"../../3\">\n       <tran_glyph conn=\"4,41,3,1,37,6,-3\">\n        <action box=\"0,-2,7,2\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"4,19,34,24\">\n       <entry box=\"1,2,27,2\"/>\n      </state_glyph>\n     </state>\n     <!--${AOs::Table::SM::active::paused}-->\n     <state name=\"paused\">\n      <entry>BSP_displayPaused(1U);</entry>\n      <exit>BSP_displayPaused(0U);</exit>\n      <!--${AOs::Table::SM::active::paused::SERVE}-->\n      <tran trig=\"SERVE\" target=\"../../2\">\n       <tran_glyph conn=\"4,57,3,1,39,-20,-5\">\n        <action box=\"0,-2,7,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::paused::HUNGRY}-->\n      <tran trig=\"HUNGRY\">\n       <action>uint8_t n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* philo ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\nme-&gt;isHungry[n] = 1U;\nBSP_displayPhilStat(n, &quot;hungry  &quot;);</action>\n       <tran_glyph conn=\"4,60,3,-1,15\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::paused::DONE}-->\n      <tran trig=\"DONE\">\n       <action>uint8_t n, m;\n\nn = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* phil ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\n\nBSP_displayPhilStat(n, &quot;thinking&quot;);\nm = LEFT(n);\n/* both forks of Phil[n] must be used */\nQ_ASSERT((me-&gt;fork[n] == USED) &amp;&amp; (me-&gt;fork[m] == USED));\n\nme-&gt;fork[m] = FREE;\nme-&gt;fork[n] = FREE;</action>\n       <tran_glyph conn=\"4,63,3,-1,15\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"4,45,34,20\">\n       <entry box=\"1,2,18,4\"/>\n       <exit box=\"1,6,18,4\"/>\n      </state_glyph>\n     </state>\n     <state_glyph node=\"2,5,43,62\"/>\n    </state>\n    <state_diagram size=\"49,69\"/>\n   </statechart>\n  </class>\n  <!--${AOs::AO_Philo0}-->\n  <attribute name=\"AO_Philo0\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo1}-->\n  <attribute name=\"AO_Philo1\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo2}-->\n  <attribute name=\"AO_Philo2\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo3}-->\n  <attribute name=\"AO_Philo3\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo4}-->\n  <attribute name=\"AO_Philo4\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Table}-->\n  <attribute name=\"AO_Table\" type=\"struct Table\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::Philo_ctor}-->\n  <operation name=\"Philo_ctor\" type=\"void\" visibility=\"0x00\" properties=\"0x00\">\n   <code>QActive_ctor(&amp;AO_Philo0.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo1.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo2.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo3.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo4.super, Q_STATE_CAST(&amp;Philo_initial));\nBSP_randomSeed(123U);</code>\n  </operation>\n  <!--${AOs::Table_ctor}-->\n  <operation name=\"Table_ctor\" type=\"void\" visibility=\"0x00\" properties=\"0x00\">\n   <code>uint8_t n;\nTable *me = &amp;AO_Table;\n\nQActive_ctor(&amp;me-&gt;super, Q_STATE_CAST(&amp;Table_initial));\nfor (n = 0U; n &lt; N_PHILO; ++n) {\n    me-&gt;fork[n] = FREE;\n    me-&gt;isHungry[n] = 0U;\n}</code>\n  </operation>\n </package>\n <!--${.}-->\n <directory name=\".\">\n  <!--${.::dpp.h}-->\n  <file name=\"dpp.h\">\n   <text>#ifndef DPP_H\n#define DPP_H\n\nenum DPPSignals {\n    EAT_SIG = Q_USER_SIG, /* published by Table to let a philosopher eat */\n    DONE_SIG,             /* published by Philosopher when done eating */\n    PAUSE_SIG,            /* published by BSP to pause the application */\n    SERVE_SIG,            /* published by BSP to pause the application */\n    TERMINATE_SIG,        /* published by BSP to terminate the application */\n    HUNGRY_SIG,           /* posted direclty to Table from hungry Philo */\n    MAX_SIG               /* the last signal */\n};\n\n/* number of philosophers */\n#define N_PHILO ((uint8_t)5)\n#define PHILO_0_PRIO 1\n\n$declare${AOs::AO_Philo0}\n$declare${AOs::AO_Philo1}\n$declare${AOs::AO_Philo2}\n$declare${AOs::AO_Philo3}\n$declare${AOs::AO_Philo4}\n$declare${AOs::AO_Table}\n\n$declare${AOs::Philo_ctor}\n$declare${AOs::Table_ctor}\n\n#endif /* DPP_H */\n</text>\n  </file>\n  <!--${.::philo.c}-->\n  <file name=\"philo.c\">\n   <text>#include &quot;qpn.h&quot;  /* QP-nano port */\n#include &quot;bsp.h&quot;  /* Board Support Package */\n#include &quot;dpp.h&quot;  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(&quot;philo&quot;)\n\n/* Active object class -----------------------------------------------------*/\n$declare${AOs::Philo}\n\n/* Global objects ----------------------------------------------------------*/\n$define${AOs::AO_Philo0}\n$define${AOs::AO_Philo1}\n$define${AOs::AO_Philo2}\n$define${AOs::AO_Philo3}\n$define${AOs::AO_Philo4}\n\n/* Local objects -----------------------------------------------------------*/\n#define THINK_TIME  \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + (BSP_TICKS_PER_SEC/2U))\n#define EAT_TIME    \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + BSP_TICKS_PER_SEC)\n\n/* Philo definition --------------------------------------------------------*/\n$define${AOs::Philo_ctor}\n$define${AOs::Philo}</text>\n  </file>\n  <!--${.::table.c}-->\n  <file name=\"table.c\">\n   <text>#include &quot;qpn.h&quot;  /* QP-nano port */\n#include &quot;bsp.h&quot;  /* Board Support Package */\n#include &quot;dpp.h&quot;  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(&quot;table&quot;)\n\n/* Active object class -----------------------------------------------------*/\n$declare${AOs::Table}\n\n/* Global objects ----------------------------------------------------------*/\n$define${AOs::AO_Table}\n\n#define RIGHT(n_) ((uint8_t)(((n_) + (N_PHILO - 1U)) % N_PHILO))\n#define LEFT(n_)  ((uint8_t)(((n_) + 1U) % N_PHILO))\n#define FREE      ((uint8_t)0)\n#define USED      ((uint8_t)1)\n\n/*..........................................................................*/\n$define${AOs::Table_ctor}\n$define${AOs::Table}</text>\n  </file>\n </directory>\n</model>\n"
  },
  {
    "path": "examples/avr/dpp_arduino-uno/main.c",
    "content": "/*****************************************************************************\n* Product: DPP example\n* Last Updated for Version: 5.8.0\n* Date of the Last Update:  2016-11-06\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"  /* QP-nano */\n#include \"bsp.h\"  /* Board Support Package */\n#include \"dpp.h\"  /* Application interface */\n\n/*..........................................................................*/\nstatic QEvt l_philoQueue[N_PHILO][N_PHILO];\nstatic QEvt l_tableQueue[2];\n\n/* QF_active[] array defines all active object control blocks --------------*/\nQActiveCB const Q_ROM QF_active[] = {\n    { (QActive *)0,           (QEvt *)0,        0U                      },\n    { (QActive *)&AO_Philo0,  l_philoQueue[0],  Q_DIM(l_philoQueue[0])  },\n    { (QActive *)&AO_Philo1,  l_philoQueue[1],  Q_DIM(l_philoQueue[1])  },\n    { (QActive *)&AO_Philo2,  l_philoQueue[2],  Q_DIM(l_philoQueue[2])  },\n    { (QActive *)&AO_Philo3,  l_philoQueue[3],  Q_DIM(l_philoQueue[3])  },\n    { (QActive *)&AO_Philo4,  l_philoQueue[4],  Q_DIM(l_philoQueue[4])  },\n    { (QActive *)&AO_Table,   l_tableQueue,     Q_DIM(l_tableQueue)     }\n};\n\n/*..........................................................................*/\nint_t main() {\n    Philo_ctor();    /* instantiate all Philo AOs */\n    Table_ctor();    /* instantiate the Table AO */\n\n    QF_init(Q_DIM(QF_active)); /* initialize the QF-nano framework */\n    BSP_init();      /* initialize the Board Support Package */\n\n    return QF_run(); /* transfer control to QF-nano */\n}\n"
  },
  {
    "path": "examples/avr/dpp_arduino-uno/philo.c",
    "content": "/*.$file${.::philo.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: dpp.qm\n* File:  ${.::philo.c}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::philo.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"  /* QP-nano port */\n#include \"bsp.h\"  /* Board Support Package */\n#include \"dpp.h\"  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(\"philo\")\n\n/* Active object class -----------------------------------------------------*/\n/*.$declare${AOs::Philo} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo} ...........................................................*/\ntypedef struct Philo {\n/* protected: */\n    QActive super;\n} Philo;\n\n/* protected: */\nstatic QState Philo_initial(Philo * const me);\nstatic QState Philo_thinking(Philo * const me);\nstatic QState Philo_hungry(Philo * const me);\nstatic QState Philo_eating(Philo * const me);\n/*.$enddecl${AOs::Philo} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Global objects ----------------------------------------------------------*/\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 650U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.5.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo0} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo0} .......................................................*/\nstruct Philo AO_Philo0;\n/*.$enddef${AOs::AO_Philo0} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo1} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo1} .......................................................*/\nstruct Philo AO_Philo1;\n/*.$enddef${AOs::AO_Philo1} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo2} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo2} .......................................................*/\nstruct Philo AO_Philo2;\n/*.$enddef${AOs::AO_Philo2} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo3} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo3} .......................................................*/\nstruct Philo AO_Philo3;\n/*.$enddef${AOs::AO_Philo3} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo4} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo4} .......................................................*/\nstruct Philo AO_Philo4;\n/*.$enddef${AOs::AO_Philo4} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Local objects -----------------------------------------------------------*/\n#define THINK_TIME  \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + (BSP_TICKS_PER_SEC/2U))\n#define EAT_TIME    \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + BSP_TICKS_PER_SEC)\n\n/* Philo definition --------------------------------------------------------*/\n/*.$define${AOs::Philo_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo_ctor} ......................................................*/\nvoid Philo_ctor(void) {\n    QActive_ctor(&AO_Philo0.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo1.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo2.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo3.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo4.super, Q_STATE_CAST(&Philo_initial));\n    BSP_randomSeed(123U);\n}\n/*.$enddef${AOs::Philo_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Philo} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo} ...........................................................*/\n/*.${AOs::Philo::SM} .......................................................*/\nstatic QState Philo_initial(Philo * const me) {\n    /*.${AOs::Philo::SM::initial} */\n    return Q_TRAN(&Philo_thinking);\n}\n/*.${AOs::Philo::SM::thinking} .............................................*/\nstatic QState Philo_thinking(Philo * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Philo::SM::thinking} */\n        case Q_ENTRY_SIG: {\n            QActive_armX(&me->super, 0U, THINK_TIME, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::thinking} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::thinking::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Philo_hungry);\n            break;\n        }\n        /*.${AOs::Philo::SM::thinking::EAT, DONE} */\n        case EAT_SIG: /* intentionally fall through */\n        case DONE_SIG: {\n            Q_ERROR(); /* these events should never arrive in this state */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Philo::SM::hungry} ...............................................*/\nstatic QState Philo_hungry(Philo * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Philo::SM::hungry} */\n        case Q_ENTRY_SIG: {\n            QACTIVE_POST(&AO_Table, HUNGRY_SIG, me->super.prio);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::hungry::EAT} */\n        case EAT_SIG: {\n            status_ = Q_TRAN(&Philo_eating);\n            break;\n        }\n        /*.${AOs::Philo::SM::hungry::DONE} */\n        case DONE_SIG: {\n            Q_ERROR(); /* this event should never arrive in this state */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Philo::SM::eating} ...............................................*/\nstatic QState Philo_eating(Philo * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Philo::SM::eating} */\n        case Q_ENTRY_SIG: {\n            QActive_armX(&me->super, 0U, EAT_TIME, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::eating} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            QACTIVE_POST(&AO_Table, DONE_SIG, me->super.prio);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::eating::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Philo_thinking);\n            break;\n        }\n        /*.${AOs::Philo::SM::eating::EAT, DONE} */\n        case EAT_SIG: /* intentionally fall through */\n        case DONE_SIG: {\n            Q_ERROR(); /* these events should never arrive in this state */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${AOs::Philo} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/avr/dpp_arduino-uno/qk/gnu/Makefile",
    "content": "##############################################################################\n# Product: Makefile for QP-nano, Arduino-UNO, preemptive QK kernel, GNU-AVR\n# Last Updated for Version: 5.4.0\n# Date of the Last Update:  2015-05-28\n#\n#                    Q u a n t u m     L e a P s\n#                    ---------------------------\n#                    innovating embedded systems\n#\n# Copyright (C) Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# Web:   http://www.state-machine.com\n# Email: info@state-machine.com\n##############################################################################\n# examples of invoking this Makefile:\n# building configurations: Debug (default), Release, and Spy\n# make\n# make CONF=rel\n#\n# cleaning configurations: Debug (default), Release, and Spy\n# make clean\n# make CONF=rel clean\n#\n# NOTE:\n# To use this Makefile on Windows, you will need the GNU make utility, which\n# is included in the Qtools collection for Windows, see:\n#    http://sourceforge.net/projects/qpc/files/Qtools/\n#\n\n#-----------------------------------------------------------------------------\n# project name\n#\nPROJECT     := dpp-qk\n\n#-----------------------------------------------------------------------------\n# project directories\n#\n\n# location of the QP-nano framework (if not provided in an environemnt var.)\nifeq ($(QPN),)\nQPN := ../../../../..\nendif\n\n# QP port used in this project\nQP_PORT_DIR := $(QPN)/ports/avr/qk/gnu\n\n# list of all source directories used by this project\nVPATH = \\\n\t.. \\\n\t../.. \\\n\t$(QPN)/src/qfn \\\n\t$(QPN)/src/qkn \\\n\t$(QP_PORT_DIR)\n\n# list of all include directories needed by this project\nINCLUDES  = \\\n\t-I../.. \\\n\t-I$(QPN)/include \\\n\t-I$(QP_PORT_DIR)\n\n#-----------------------------------------------------------------------------\n# files\n#\n\n# assembler source files\nASM_SRCS :=\n\n# C source files\nC_SRCS := \\\n\tbsp.c \\\n\tmain.c \\\n\tphilo.c \\\n\ttable.c\n\n# C++ source files\nCPP_SRCS :=\t\n\nOUTPUT    := $(PROJECT)\nLD_SCRIPT :=\n\nQP_SRCS := \\\n\tqepn.c \\\n\tqfn.c \\\n\tqkn.c\n\nQP_ASMS :=\n\nLIB_DIRS  :=\nLIBS      :=\n\n# defines\nDEFINES   :=\n\n# AVR MCU type\nAVR_MCU=atmega328p\n\n#-----------------------------------------------------------------------------\n# GNU-AVR toolset (NOTE: You need to adjust to your machine)\n# see http://sourceforge.net/projects/winavr\n#\nifeq ($(GNU_AVR),)\nGNU_AVR = C:\\tools\\WinAVR\nendif\n\n# make sure that the GNU-AVR toolset exists...\nifeq (\"$(wildcard $(GNU_AVR))\",\"\")\n$(error GNU_AVR toolset not found. Please adjust the Makefile)\nendif\n\nCC    := $(GNU_AVR)/bin/avr-gcc\nCPP   := $(GNU_AVR)/bin/avr-g++\nAS    := $(GNU_AVR)/bin/avr-as\nLINK  := $(GNU_AVR)/bin/avr-gcc\nBIN   := $(GNU_AVR)/bin/avr-objcopy\n\n##############################################################################\n# Typically, you should not need to change anything below this line\n\n# basic utilities (included in Qtools for Windows), see:\n#    http://sourceforge.net/projects/qpc/files/Qtools\n\nMKDIR := mkdir\nRM    := rm\n\n#-----------------------------------------------------------------------------\n# build options for various configurations for ARM Cortex-M4F\n#\n\n# combine all the soruces...\nC_SRCS += $(QP_SRCS) $(QP_PORT)\n\n\nifeq (rel, $(CONF)) # Release configuration ..................................\n\nBIN_DIR := rel\n\nASFLAGS =\n\nCFLAGS = -mmcu=$(AVR_MCU) -std=gnu99 -fshort-enums -Wall \\\n\t-ffunction-sections -fdata-sections \\\n    -Os $(INCLUDES) $(DEFINES) -DNDEBUG\n\nCPPFLAGS = -mmcu=$(AVR_MCU) -fshort-enums -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n    -Os $(INCLUDES) $(DEFINES) -DNDEBUG\n\nelse   # default Debug configuration .........................................\n\nBIN_DIR := dbg\n\nASFLAGS =\n\nCFLAGS = -mmcu=$(AVR_MCU) -std=gnu99 -fshort-enums -Wall \\\n\t-ffunction-sections -fdata-sections \\\n    -O $(INCLUDES) $(DEFINES)\n\nCPPFLAGS = -mmcu=$(AVR_MCU) -fshort-enums -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n    -O $(INCLUDES) $(DEFINES)\n\nendif  # .....................................................................\n\nLINKFLAGS = -mmcu=$(AVR_MCU) \\\n\t-Wl,-Map,$(BIN_DIR)/$(OUTPUT).map,--cref,--gc-sections $(LIB_DIRS)\n\n\nASM_OBJS     := $(patsubst %.s,%.o,  $(notdir $(ASM_SRCS)))\nC_OBJS       := $(patsubst %.c,%.o,  $(notdir $(C_SRCS)))\nCPP_OBJS     := $(patsubst %.cpp,%.o,$(notdir $(CPP_SRCS)))\n\nTARGET_HEX   := $(BIN_DIR)/$(OUTPUT).hex\nTARGET_ELF   := $(BIN_DIR)/$(OUTPUT).elf\nASM_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(ASM_OBJS))\nC_OBJS_EXT   := $(addprefix $(BIN_DIR)/, $(C_OBJS))\nC_DEPS_EXT   := $(patsubst %.o, %.d, $(C_OBJS_EXT))\nCPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))\nCPP_DEPS_EXT := $(patsubst %.o, %.d, $(CPP_OBJS_EXT))\n\n# create $(BIN_DIR) if it does not exist\nifeq (\"$(wildcard $(BIN_DIR))\",\"\")\n$(shell $(MKDIR) $(BIN_DIR))\nendif\n\n#-----------------------------------------------------------------------------\n# rules\n#\n\nall: $(TARGET_HEX)\n#all: $(TARGET_ELF)\n\n$(TARGET_HEX): $(TARGET_ELF)\n\t$(BIN) -O ihex $< $@\n\n$(TARGET_ELF) : $(ASM_OBJS_EXT) $(C_OBJS_EXT) $(CPP_OBJS_EXT)\n\t$(LINK) $(LINKFLAGS) -o $@ $^ $(LIBS)\n\n$(BIN_DIR)/%.d : %.c\n\t$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@\n\n$(BIN_DIR)/%.d : %.cpp\n\t$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@\n\n$(BIN_DIR)/%.o : %.s\n\t$(AS) $(ASFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.c\n\t$(CC) $(CFLAGS) -c $< -o $@\n\n$(BIN_DIR)/%.o : %.cpp\n\t$(CPP) $(CPPFLAGS) -c $< -o $@\n\n# include dependency files only if our goal depends on their existence\nifneq ($(MAKECMDGOALS),clean)\n  ifneq ($(MAKECMDGOALS),show)\n-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)\n  endif\nendif\n\n\n.PHONY : clean\nclean:\n\t-$(RM) $(BIN_DIR)/*.o \\\n\t$(BIN_DIR)/*.d \\\n\t$(BIN_DIR)/*.hex \\\n\t$(BIN_DIR)/*.elf \\\n\t$(BIN_DIR)/*.map\n\t\nshow:\n\t@echo PROJECT = $(PROJECT)\n\t@echo CONF = $(CONF)\n\t@echo DEFINES = $(DEFINES)\n\t@echo ASM_FPU = $(ASM_FPU)\n\t@echo ASM_SRCS = $(ASM_SRCS)\n\t@echo C_SRCS = $(C_SRCS)\n\t@echo CPP_SRCS = $(CPP_SRCS)\n\t@echo ASM_OBJS_EXT = $(ASM_OBJS_EXT)\n\t@echo C_OBJS_EXT = $(C_OBJS_EXT)\n\t@echo C_DEPS_EXT = $(C_DEPS_EXT)\n\t@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)\n\t@echo TARGET_ELF = $(TARGET_ELF)\n"
  },
  {
    "path": "examples/avr/dpp_arduino-uno/qk/gnu/README.txt",
    "content": "About this Example\n==================\nThis example can be built from the command prompt with the provided\nMakefile. The example can also be invoked directly (via the make\nutility) from the QM modeling tool.\n\n\nThe Makefile\n============\nThe provided Makefile should be easy to adapt for your own projects.\nIt contains three build configurations: Debug (default) and Release.\n\nThe various build configurations are built as follows:\n\nmake\nmake CONF=rel\n\nmake clean\nmake CONF=rel clean\n\n\nWarning: '__progmem__' attribute ignored\n========================================\nAVR is a Harvard architecture that uses different program and data spaces as\nwell as different CPU instructions to access these two address spaces (data\nmemory is 8-bit wide while program memory is 16-bit wide). Consequently, one\nof the biggest concerns in AVR programs is to correctly allocate and access\nconstant data in the program space (ROM) rather than the precious RAM. Since\nthe ROM resides in a different address space, you need to tell the compiler\nto place variables there. You also need a way to access the data (i.e., the\ncompiler has to use the lpm instruction.)\n\nThe GNU-AVR compiler supports data in the program memory only partially\nthrough the attribute((progmem)) extension (typically used through the\nPROGMEM macro). By tagging a variable with attribute((progmem)), you can\nforce it to reside in the ROM. However, the compiler support ends at this\npoint. It is the responsibility of the developer to correctly access the\nPROGMEM variables. The GCC-AVR provides merely a bunch of macros (all\ndefined in the avr\\pgmspace.h header file).\n\nThe bottom line is that the GNU-AVR compiler support for ROM-allocated\nobjects through the PROGMEM attribute is both incomplete and inconsistent\nwith the correct implementation in other compilers (such as IAR-AVR).\nFor example, pointers pointing to PROGMEM objects are not treated correctly,\nmeaning that the compiler will not generate the right code to access such\nROM objects (the GNU-AVR compiler needs a kludge in form of macros such as\npgm_read_byte_near and others). To recognize that fact, the GNU-AVR\ngenerates the warnings \"'progmem' attribute ignored \".\n\nHowever, the QP source code is written for a standard correct implementation\n(how else would you achieve portability?). For example, the IAR-AVR compiler\nuses the attribute '__flash' to designate objects and pointers to ROM\nobjects. The compiler then generates the right code for all such flash\nobjects and pointers, without any kludges necessary for the GNU compiler.\n\nIn summary, the warnings \"'progmem' attribute ignored\" should be ignored\nin the QP library build. To avoid these warnings, the QP source code would\nhave to be modified in such a way that it would be incorrect for other\ncompilers that handle these declarations correctly.\n"
  },
  {
    "path": "examples/avr/dpp_arduino-uno/qk/gnu/bsp.c",
    "content": "/*****************************************************************************\n* Product: DPP example, Arduino-UNO board, preemptive QK kernel, GNU-AVR\n* Last updated for version 6.8.0\n* Last updated on  2020-03-22\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"dpp.h\"\n#include \"bsp.h\"\n\n/* the AVR device specific header <avr/io.h> is already included */\n/* add other drivers if necessary... */\n\nQ_DEFINE_THIS_FILE\n\n/* Local-scope objects -----------------------------------------------------*/\n/* Arduino-UNO runs off the 16MHz oscillator */\n#define F_CPU   16000000UL\n\n/* the on-board LED labeled \"L\" on Arduino-UNO (PORTB) */\n#define LED_L   (1U << 5)\n\n/* external button BTN_EXT (PORTD), arduino.cc/en/tutorial/button */\n#define BTN_EXT (1U << 2)\n\nstatic unsigned  l_rnd;  /* random seed */\n\n\n/* ISRs used in this project ===============================================*/\nISR(TIMER2_COMPA_vect) {\n    /* state of the button debouncing, see below */\n    static struct ButtonsDebouncing {\n        uint8_t depressed;\n        uint8_t previous;\n    } buttons = { 0xFFU, 0xFFU };\n    uint8_t current;\n    uint8_t tmp;\n\n    QK_ISR_ENTRY();  /* inform QK about entering an ISR */\n\n    QF_tickXISR(0U); /* process time events for rate 0 */\n\n    /* Perform the debouncing of buttons. The algorithm for debouncing\n    * adapted from the book \"Embedded Systems Dictionary\" by Jack Ganssle\n    * and Michael Barr, page 71.\n    */\n    current = PIND; /* read PORTD with the state of BTN_EXT */\n    tmp = buttons.depressed; /* save the debounced depressed buttons */\n    buttons.depressed |= (buttons.previous & current); /* set depressed */\n    buttons.depressed &= (buttons.previous | current); /* clear released */\n    buttons.previous   = current; /* update the history */\n    tmp ^= buttons.depressed;     /* changed debounced depressed */\n    if ((tmp & BTN_EXT) != 0U) {  /* debounced BTN_EXT state changed? */\n        if ((buttons.depressed & BTN_EXT) != 0U) { /* is BTN_EXT depressed? */\n            QACTIVE_POST_ISR(&AO_Table, PAUSE_SIG, 0U);\n        }\n        else {            /* the button is released */\n            QACTIVE_POST_ISR(&AO_Table, SERVE_SIG, 0U);\n        }\n    }\n\n    QK_ISR_EXIT();  /* inform QK about exiting an ISR */\n}\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    /* setup the port for the LED (PORTB.5) */\n    DDRB   =  0xFFU;    /* set all pins on PORTB as output */\n    PORTB &= ~LED_L;    /* drive LED_L pin low */\n\n    /* setup the port for the Button (PORTD.2) */\n    DDRD  &= ~BTN_EXT;  /* set PORTD pin BTN_EXT as input */\n}\n/*..........................................................................*/\nvoid BSP_displayPhilStat(uint8_t n, char const *stat) {\n    if (stat[0] == 'h') {\n        PORTB |= LED_L;\n    }\n    else {\n        PORTB &= ~LED_L;\n    }\n}\n/*..........................................................................*/\nvoid BSP_displayPaused(uint8_t paused) {\n    /* not enouhg LEDs to implement this feature */\n    if (paused != 0U) {\n        //PORTB |= LED_L;\n    }\n    else {\n        //PORTB &= ~LED_L;\n    }\n}\n/*..........................................................................*/\nuint32_t BSP_random(void) { /* a very cheap pseudo-random-number generator */\n    /* \"Super-Duper\" Linear Congruential Generator (LCG)\n    * LCG(2^32, 3*7*11*13*23, 0, seed)\n    */\n    l_rnd = l_rnd * (3U*7U*11U*13U*23U);\n\n    return l_rnd >> 8;\n}\n/*..........................................................................*/\nvoid BSP_randomSeed(uint32_t seed) {\n    l_rnd = seed;\n}\n/*..........................................................................*/\nvoid BSP_terminate(int16_t result) {\n    (void)result;\n}\n\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    /* set Timer2 in CTC mode, 1/1024 prescaler, start the timer ticking... */\n    TCCR2A = (1U << WGM21) | (0U << WGM20);\n    TCCR2B = (1U << CS22 ) | (1U << CS21) | (1U << CS20); /* 1/2^10 */\n    ASSR  &= ~(1U << AS2);\n    TIMSK2 = (1U << OCIE2A); /* Enable TIMER2 compare Interrupt */\n    TCNT2  = 0U;\n    OCR2A  = (F_CPU / BSP_TICKS_PER_SEC / 1024U) - 1U;\n}\n/*..........................................................................*/\nvoid QF_onCleanup(void) {\n}\n\n/*..........................................................................*/\nvoid QK_onIdle(void) {\n    /* toggle the User LED, see NOTE1 , not enough LEDs to implement! */\n    //QF_INT_DISABLE();\n    //PORTB |= LED_L;\n    //PORTB &= ~LED_L;\n    //QF_INT_ENABLE();\n\n#ifdef NDEBUG\n    /* Put the CPU and peripherals to the low-power mode.\n    * you might need to customize the clock management for your application,\n    * see the datasheet for your particular AVR MCU.\n    */\n    SMCR = (0 << SM0) | (1 << SE); /* idle mode, adjust to your project */\n    QK_CPU_SLEEP(); /* put CPU to sleep */\n#endif\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const module, int location) {\n    /* implement the error-handling policy for your application!!! */\n    QF_INT_DISABLE(); /* disable all interrupts */\n    QF_RESET();  /* reset the CPU */\n    for (;;) {\n    }\n}\n\n/*****************************************************************************\n* NOTE1:\n* The User LED is used to visualize the idle loop activity. The brightness\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n"
  },
  {
    "path": "examples/avr/dpp_arduino-uno/qk/gnu/flash.bat",
    "content": "@echo off\n::============================================================================\n:: Batch file to program the flash of Arduino-UNO\n:: \n:: NOTE: requires the AVRDUDE uitlity which is included in the QTools\n:: collection\n:: \nsetlocal\n\n@echo off\n@echo Load a given hex file to the flash of Arduino-UNO\n@echo usage:   flash hex-file [COM-port]\n@echo example: flash dbg\\blinky-qk.hex\n@echo example: flash dbg\\blinky-qk.hex COM5\n\n::----------------------------------------------------------------------------\n:: NOTE: Adjust the following symbol to the location of the\n:: AVRDUDE utility on your machine \n::\nset AVRDUDE=avrdude.exe\n\nset COM_PORT=COM5\nif [%2] NEQ [] set COM_PORT=%2\n\nif [\"%~1\"]==[\"\"] (\n    @echo The hex file missing\n    @goto end\n)\nif not exist %~s1 (\n    @echo The hex file '%1' does not exist\n    @goto end\n)\n\n@echo on\n%AVRDUDE% -p atmega328p -c arduino -P %COM_PORT% -b 115200 -D -v -U flash:w:%1:i\n@echo off\n\n:end\n\nendlocal"
  },
  {
    "path": "examples/avr/dpp_arduino-uno/qk/iar/README.txt",
    "content": "About The DPP-AVR Example\n=========================\nThis directory contains the DPP example for the 8-bit AVRmega processor family\nwith the IAR-AVR compiler.\n\n***\nNOTE: The Debug build configuration needs to use the high optimization level\n(for size) in order to fit under the code size limit of the free KickStart\nversion of the IAR-AVR toolset.\n***"
  },
  {
    "path": "examples/avr/dpp_arduino-uno/qk/iar/bsp.c",
    "content": "/*****************************************************************************\n* Product: DPP example, Arduino-UNO board, preemptive QK kernel, IAR-AVR\n* Last updated for version 6.8.0\n* Last updated on  2020-03-22\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"dpp.h\"\n#include \"bsp.h\"\n\n#include <iom328p.h>   /* the AVR MCU variant used */\n/* add other drivers if necessary... */\n\n//Q_DEFINE_THIS_FILE\n\n/* Local-scope objects -----------------------------------------------------*/\n/* Arduino-UNO runs off the 16MHz oscillator */\n#define F_CPU   16000000UL\n\n/* the on-board LED labeled \"L\" on Arduino-UNO (PORTB) */\n#define LED_L   (1U << 5)\n\n/* external button BTN_EXT (PORTD), arduino.cc/en/tutorial/button */\n#define BTN_EXT (1U << 2)\n\nstatic unsigned  l_rnd;  /* random seed */\n\n\n/* ISRs used in this project ===============================================*/\n#pragma vector = TIMER2_COMPA_vect\n__interrupt void timer2_ISR(void) {\n    /* state of the button debouncing, see below */\n    static struct ButtonsDebouncing {\n        uint8_t depressed;\n        uint8_t previous;\n    } buttons = { 0xFFU, 0xFFU };\n    uint8_t current;\n    uint8_t tmp;\n\n    QK_ISR_ENTRY();  /* inform QK about entering an ISR */\n\n    QF_tickXISR(0U); /* process time events for rate 0 */\n\n    /* Perform the debouncing of buttons. The algorithm for debouncing\n    * adapted from the book \"Embedded Systems Dictionary\" by Jack Ganssle\n    * and Michael Barr, page 71.\n    */\n    current = PIND; /* read PORTD with the state of BTN_EXT */\n    tmp = buttons.depressed; /* save the debounced depressed buttons */\n    buttons.depressed |= (buttons.previous & current); /* set depressed */\n    buttons.depressed &= (buttons.previous | current); /* clear released */\n    buttons.previous   = current; /* update the history */\n    tmp ^= buttons.depressed;     /* changed debounced depressed */\n    if ((tmp & BTN_EXT) != 0U) {  /* debounced BTN_EXT state changed? */\n        if ((buttons.depressed & BTN_EXT) != 0U) { /* is BTN_EXT depressed? */\n            QACTIVE_POST_ISR(&AO_Table, PAUSE_SIG, 0U);\n        }\n        else {            /* the button is released */\n            QACTIVE_POST_ISR(&AO_Table, SERVE_SIG, 0U);\n        }\n    }\n\n    QK_ISR_EXIT();  /* inform QK about exiting an ISR */\n}\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    /* setup the port for the LED (PORTB.5) */\n    DDRB   =  0xFFU;    /* set all pins on PORTB as output */\n    PORTB &= ~LED_L;    /* drive LED_L pin low */\n\n    /* setup the port for the Button (PORTD.2) */\n    DDRD  &= ~BTN_EXT;  /* set PORTD pin BTN_EXT as input */\n}\n/*..........................................................................*/\nvoid BSP_displayPhilStat(uint8_t n, char const *stat) {\n    if (stat[0] == 'h') {\n        PORTB |= LED_L;\n    }\n    else {\n        PORTB &= ~LED_L;\n    }\n}\n/*..........................................................................*/\nvoid BSP_displayPaused(uint8_t paused) {\n    /* not enouhg LEDs to implement this feature */\n    if (paused != 0U) {\n        //PORTB |= LED_L;\n    }\n    else {\n        //PORTB &= ~LED_L;\n    }\n}\n/*..........................................................................*/\nuint32_t BSP_random(void) { /* a very cheap pseudo-random-number generator */\n    /* \"Super-Duper\" Linear Congruential Generator (LCG)\n    * LCG(2^32, 3*7*11*13*23, 0, seed)\n    */\n    l_rnd = l_rnd * (3U*7U*11U*13U*23U);\n\n    return l_rnd >> 8;\n}\n/*..........................................................................*/\nvoid BSP_randomSeed(uint32_t seed) {\n    l_rnd = seed;\n}\n/*..........................................................................*/\nvoid BSP_terminate(int16_t result) {\n    (void)result;\n}\n\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    /* set Timer2 in CTC mode, 1/1024 prescaler, start the timer ticking... */\n    TCCR2A = (1U << WGM21) | (0U << WGM20);\n    TCCR2B = (1U << CS22 ) | (1U << CS21) | (1U << CS20); /* 1/2^10 */\n    ASSR  &= ~(1U << AS2);\n    TIMSK2 = (1U << OCIE2A); /* Enable TIMER2 compare Interrupt */\n    TCNT2  = 0U;\n    OCR2A  = (F_CPU / BSP_TICKS_PER_SEC / 1024U) - 1U;\n}\n/*..........................................................................*/\nvoid QF_onCleanup(void) {\n}\n\n/*..........................................................................*/\nvoid QK_onIdle(void) {\n    /* toggle the User LED, see NOTE1 , not enough LEDs to implement! */\n    //QF_INT_DISABLE();\n    //PORTB |= LED_L;\n    //PORTB &= ~LED_L;\n    //QF_INT_ENABLE();\n\n#ifdef NDEBUG\n    /* Put the CPU and peripherals to the low-power mode.\n    * you might need to customize the clock management for your application,\n    * see the datasheet for your particular AVR MCU.\n    */\n    SMCR = (0 << SM0) | (1 << SE); /* idle mode, adjust to your project */\n    QK_CPU_SLEEP(); /* put CPU to sleep */\n#endif\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const module, int location) {\n    /* implement the error-handling policy for your application!!! */\n    QF_INT_DISABLE(); /* disable all interrupts */\n    QF_RESET();  /* reset the CPU */\n    for (;;) {\n    }\n}\n\n/*****************************************************************************\n* NOTE1:\n* The User LED is used to visualize the idle loop activity. The brightness\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n"
  },
  {
    "path": "examples/avr/dpp_arduino-uno/qk/iar/dpp-qk.ewd",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<project>\n  <fileVersion>2</fileVersion>\n  <configuration>\n    <name>Debug</name>\n    <toolchain>\n      <name>AVR</name>\n    </toolchain>\n    <debug>1</debug>\n    <settings>\n      <name>C-SPY</name>\n      <archiveVersion>6</archiveVersion>\n      <data>\n        <version>16</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CSVariantProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DDFile</name>\n          <state>$TOOLKIT_DIR$\\Config\\iom328p.ddf</state>\n        </option>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCEnhancedCore</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OC64BitDoubles</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>DdfFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RunToEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RunToName</name>\n          <state>main</state>\n        </option>\n        <option>\n          <name>newDDFileOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CSVariantEepromSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CSVariant64KFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CdDllSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CDynDriver</name>\n          <state>SIMAVR</state>\n        </option>\n        <option>\n          <name>DebuggerUseUbrofResetVector</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesUse1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse3</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ATMELICEAVR</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OATMELICEDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OATMELICEExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OATMELICEExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICELogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagFreqManually</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OATMELICECommunication</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICECommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OATMELICEDebugPort</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEDebugWireDebugPort</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OATMELICEAVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEDebuggerAttachToRunningTarget</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>AVRONE</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>4</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OAVRONEDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OAVRONEExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OAVRONEExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONELogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagFreqManually</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagDebugReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OAVRONECommunication</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONECommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OAVRONEDebugPort</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEDebugWireDebugPort</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OAVRONEAVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CCRAVR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCCRAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCRAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCCRAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRBaud</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OCCRAVRParity</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRDataBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRStopBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRHandshake</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRAllComm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCRAVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OCCRAVRSuppressLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRFastDownload</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCRAVRTargetCCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRdownloadToData</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICE200AVR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OICE200AVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OICE200AVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OICE200AVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRBaud</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OICE200AVRParity</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRDataBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRStopBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRHandshake</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRAllComm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OICE200AVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OICE200AVRHighSpeed</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OICE200AVRSingleStepTimers</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRRestoreEEPROM</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRComPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRIce200ResetDelayList</name>\n          <version>8</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRIce200downloadToData</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JTAGICEAVR</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OJTAGICEAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRBaud</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRParity</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRDataBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRStopBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRHandshake</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRAllComm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceDefaultCom</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceComPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagFreqManually</name>\n          <state>100000</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagDebugReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JTAGICE3AVR</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>6</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OJTAGICE3Driver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICE3ExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICE3ExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3LogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagFreqManually</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICE3Communication</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3CommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICE3DebugPort</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3DebugWireDebugPort</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICE3AVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3DebuggerAttachToRunningTarget</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JTAGICEMKIIAVR</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>7</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OJTAGICEMKIIAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRBaud</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRParity</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRDataBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRStopBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRHandshake</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRAllComm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceDefaultCom</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceComPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagFreqManually</name>\n          <state>100000</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagDebugReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRCommunicationNew</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRCommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRUsePDI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIOnlyPDI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>DRAGONAVR</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>3</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>ODRAGONAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ODRAGONAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagFreqManually</name>\n          <state>100000</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagDebugReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRCommunicationNew</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRCommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ODRAGONAVRUsePDI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONOnlyPDI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>SIMAVR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OSIMAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OSIMAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OSIMAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>THIRDPARTYAVR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OTHIRDPARTYAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRDriverDll</name>\n          <state>Browse to your Third party driver</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRSuppress</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRVerify</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRLogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRLogFileEditB</name>\n          <state>$TOOLKIT_DIR$\\cspycomm.log</state>\n        </option>\n      </data>\n    </settings>\n    <debuggerPlugins>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\Stk600\\Stk600Plugin.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\SymList\\SymList.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n    </debuggerPlugins>\n  </configuration>\n  <configuration>\n    <name>Release</name>\n    <toolchain>\n      <name>AVR</name>\n    </toolchain>\n    <debug>0</debug>\n    <settings>\n      <name>C-SPY</name>\n      <archiveVersion>6</archiveVersion>\n      <data>\n        <version>16</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CSVariantProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DDFile</name>\n          <state>$TOOLKIT_DIR$\\Config\\iom328p.ddf</state>\n        </option>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCEnhancedCore</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OC64BitDoubles</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>DdfFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RunToEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RunToName</name>\n          <state>main</state>\n        </option>\n        <option>\n          <name>newDDFileOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CSVariantEepromSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CSVariant64KFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CdDllSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CDynDriver</name>\n          <state>SIMAVR</state>\n        </option>\n        <option>\n          <name>DebuggerUseUbrofResetVector</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesUse1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse3</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ATMELICEAVR</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OATMELICEDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OATMELICEExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OATMELICEExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICELogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagFreqManually</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OATMELICECommunication</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICECommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OATMELICEDebugPort</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEDebugWireDebugPort</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OATMELICEAVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEDebuggerAttachToRunningTarget</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>AVRONE</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>4</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OAVRONEDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OAVRONEExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OAVRONEExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONELogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagFreqManually</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagDebugReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OAVRONECommunication</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONECommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OAVRONEDebugPort</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEDebugWireDebugPort</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OAVRONEAVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CCRAVR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCCRAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCRAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCCRAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRBaud</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OCCRAVRParity</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRDataBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRStopBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRHandshake</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRAllComm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCRAVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OCCRAVRSuppressLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRFastDownload</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCRAVRTargetCCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRdownloadToData</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICE200AVR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OICE200AVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OICE200AVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OICE200AVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRBaud</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OICE200AVRParity</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRDataBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRStopBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRHandshake</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRAllComm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OICE200AVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OICE200AVRHighSpeed</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OICE200AVRSingleStepTimers</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRRestoreEEPROM</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRComPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRIce200ResetDelayList</name>\n          <version>8</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRIce200downloadToData</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JTAGICEAVR</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OJTAGICEAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRBaud</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRParity</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRDataBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRStopBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRHandshake</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRAllComm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceDefaultCom</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceComPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagFreqManually</name>\n          <state>100000</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagDebugReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JTAGICE3AVR</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>6</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OJTAGICE3Driver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICE3ExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICE3ExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3LogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagFreqManually</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICE3Communication</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3CommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICE3DebugPort</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3DebugWireDebugPort</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICE3AVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3DebuggerAttachToRunningTarget</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JTAGICEMKIIAVR</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>7</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OJTAGICEMKIIAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRBaud</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRParity</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRDataBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRStopBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRHandshake</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRAllComm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceDefaultCom</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceComPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagFreqManually</name>\n          <state>100000</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagDebugReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRCommunicationNew</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRCommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRUsePDI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIOnlyPDI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>DRAGONAVR</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>3</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>ODRAGONAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ODRAGONAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagFreqManually</name>\n          <state>100000</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagDebugReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRCommunicationNew</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRCommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ODRAGONAVRUsePDI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONOnlyPDI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>SIMAVR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OSIMAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OSIMAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OSIMAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>THIRDPARTYAVR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OTHIRDPARTYAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRDriverDll</name>\n          <state>Browse to your Third party driver</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRSuppress</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRVerify</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRLogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRLogFileEditB</name>\n          <state>$TOOLKIT_DIR$\\cspycomm.log</state>\n        </option>\n      </data>\n    </settings>\n    <debuggerPlugins>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\Stk600\\Stk600Plugin.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\SymList\\SymList.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n    </debuggerPlugins>\n  </configuration>\n</project>\n\n\n"
  },
  {
    "path": "examples/avr/dpp_arduino-uno/qk/iar/dpp-qk.ewp",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<project>\n  <fileVersion>2</fileVersion>\n  <configuration>\n    <name>Debug</name>\n    <toolchain>\n      <name>AVR</name>\n    </toolchain>\n    <debug>1</debug>\n    <settings>\n      <name>General</name>\n      <archiveVersion>11</archiveVersion>\n      <data>\n        <version>9</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>GGEnhancedCore</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Variant Memory</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ExePath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>ObjPath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>ListPath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>GGEnableConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GG64KFlash</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GG64BitDoubles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GGFPSLICCOnfig</name>\n          <version>0</version>\n          <state>3</state>\n        </option>\n        <option>\n          <name>LCEnableBitDefs</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>LCHeapSize</name>\n          <state>0x10</state>\n        </option>\n        <option>\n          <name>SCCStackSize</name>\n          <state>256</state>\n        </option>\n        <option>\n          <name>SCExtCStack</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SCRStackSize</name>\n          <state>16</state>\n        </option>\n        <option>\n          <name>SCExtRStack</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SCEnableBus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SCAddWaitstate</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SCRamBase</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCRamSize</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCRomBase</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCRomSize</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCNVBase</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCNVSize</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCInitWithReti</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GOutputBinary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GGEepromUtil</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GGEepromUtilSize</name>\n          <state>1024</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelect</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RTDescription</name>\n          <state>Use the normal configuration of the C/EC++</state>\n          <state>runtime library. No locale interface,</state>\n          <state>C locale, no file descriptor support,</state>\n          <state>no multibytes in printf and scanf, and</state>\n          <state>no hex floats in strtod.</state>\n        </option>\n        <option>\n          <name>RTConfigPath</name>\n          <state>$TOOLKIT_DIR$\\LIB\\DLIB\\dlAVR-3s-ec_mul-sf-n.h</state>\n        </option>\n        <option>\n          <name>RTLibraryPath</name>\n          <state>$TOOLKIT_DIR$\\LIB\\DLIB\\dlAVR-3s-ec_mul-sf-n.r90</state>\n        </option>\n        <option>\n          <name>Input variant</name>\n          <version>36</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>Input description</name>\n          <state></state>\n        </option>\n        <option>\n          <name>Output variant</name>\n          <version>36</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>Output description</name>\n          <state>No specifier a, A, no specifier n, no float nor long long, no flags, without multibytes.</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelectSlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GeneralEnableMisra</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVerbose</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LCTinyHeapSize</name>\n          <state>0x10</state>\n        </option>\n        <option>\n          <name>LCNearHeapSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LCFarHeapSize</name>\n          <state>0x1000</state>\n        </option>\n        <option>\n          <name>LCHugeHeapSize</name>\n          <state>0x1000</state>\n        </option>\n        <option>\n          <name>LCsHeapConfigText</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GGNoMULInstruction</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>GenDeviceSelectMenu</name>\n          <state>m328p\tATmega328P</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICCAVR</name>\n      <archiveVersion>6</archiveVersion>\n      <data>\n        <version>17</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CCVariantProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnhancedCore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCVariantMemory</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCPreprocFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocComments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMnemonics</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCListCMessages</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagSuppress</name>\n          <state>Pa050</state>\n        </option>\n        <option>\n          <name>CCDiagRemark</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagWarning</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagError</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCWarnAsError</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCConstInRAM</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCInitInFlash</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCForceVariables</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOldCallConv</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLockRegs</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCAllowList</name>\n          <version>3</version>\n          <state>111111</state>\n        </option>\n        <option>\n          <name>CCCrossCallPassesList</name>\n          <version>8</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCObjUseModuleName</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCObjModuleName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDebugInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCNoErrorMsg</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CC64BitDoubles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CC64KFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableExtBus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableBitDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOptForceCrossCall</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCharIs</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCExt</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRequirePrototypes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCompilerRuntimeInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>newCCIncludePaths</name>\n          <state>$PROJ_DIR$\\.</state>\n          <state>$PROJ_DIR$\\..\\..</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\avr\\qk\\iar</state>\n        </option>\n        <option>\n          <name>CCStdIncCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEepromSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLockRegsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOutputFile</name>\n          <state>$FILE_BNAME$.r90</state>\n        </option>\n        <option>\n          <name>CompilerMisraOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLibConfigHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>PreInclude</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCOverrideModuleTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleTypeSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCAdditionalCommandLineOptionsSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>IccLang</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccCppDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccAllowVLA</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCppInlineSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccStaticDestr</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccFloatSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOptStrategy</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevel</name>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CCOptLevelSlave</name>\n          <state>3</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>AAVR</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>11</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ACaseSensitivity</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AWarnEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnWhat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnOne</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CDebug</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>MacroChars</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>UndefAsm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefLine</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefTime</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefDate</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefTid</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AListHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AListing</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Includes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacExps</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacExec</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OnlyAssed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MultiLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>TabSpacing</name>\n          <state>8</state>\n        </option>\n        <option>\n          <name>AXRef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDefines</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefInternal</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDual</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OAEnhancedCore</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrOn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrNum</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>ANewIncludes</name>\n          <state>$TOOLKIT_DIR$\\INC\\</state>\n        </option>\n        <option>\n          <name>AsmMultiByteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AavrVariantMemory</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AsmHasElpm</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AsmOutputFile</name>\n          <state>$FILE_BNAME$.r90</state>\n        </option>\n        <option>\n          <name>AStdIncCheck</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CUSTOM</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <extensions></extensions>\n        <cmdline></cmdline>\n        <hasPrio>0</hasPrio>\n      </data>\n    </settings>\n    <settings>\n      <name>BICOMP</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>BUILDACTION</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <prebuild></prebuild>\n        <postbuild></postbuild>\n      </data>\n    </settings>\n    <settings>\n      <name>XLINK</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>16</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>XOutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>dpp-qk.d90</state>\n        </option>\n        <option>\n          <name>OutputFormat</name>\n          <version>11</version>\n          <state>23</state>\n        </option>\n        <option>\n          <name>FormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>SecondaryOutputFile</name>\n          <state>(None for the selected format)</state>\n        </option>\n        <option>\n          <name>XDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AlwaysOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OverlapWarnings</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NoGlobalCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XList</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>SegmentMap</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ListSymbols</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>XIncludes</name>\n          <state>$TOOLKIT_DIR$\\LIB\\</state>\n        </option>\n        <option>\n          <name>ModuleStatus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclFile</name>\n          <state>$TOOLKIT_DIR$\\src\\template\\cfgm328p.xcl</state>\n        </option>\n        <option>\n          <name>XclFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DoFill</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FillerByte</name>\n          <state>0xFF</state>\n        </option>\n        <option>\n          <name>DoCrc</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcSize</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcAlgo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcPoly</name>\n          <state>0x11021</state>\n        </option>\n        <option>\n          <name>CrcCompl</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RangeCheckAlternatives</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressAllWarn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressDiags</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsWarn</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsErr</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ModuleLocalSym</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcBitOrder</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OXSysConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IncludeSuppressed</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ModuleSummary</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabel</name>\n          <state>__program_start</state>\n        </option>\n        <option>\n          <name>DebugInformation</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RuntimeControl</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IoEmulation</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AllowExtraOutput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GenerateExtraOutput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XExtraOutOverride</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ExtraOutputFile</name>\n          <state>dpp-qk.hex</state>\n        </option>\n        <option>\n          <name>ExtraOutputFormat</name>\n          <version>11</version>\n          <state>23</state>\n        </option>\n        <option>\n          <name>ExtraFormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>xcOverrideProgramEntryLabel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabelSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ListOutputFormat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>BufferedTermOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XcRTLibraryFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OXLibIOConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XLinkMisraHandler</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OverlaySystemMap</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RawBinaryFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySymbol</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySegment</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinaryAlign</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CrcAlign</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcInitialValue</name>\n          <state>0x00</state>\n        </option>\n        <option>\n          <name>CrcUnitSize</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogInputFiles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogModuleSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogPrintfScanf</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogSegmentSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogStackDepth</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkStackUsageEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkControlFiles</name>\n          <state></state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileName</name>\n          <state>$LIST_DIR$\\$PROJ_FNAME$.call_graph.cgx</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>XAR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>XAROutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XARInputs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>BILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n  </configuration>\n  <configuration>\n    <name>Release</name>\n    <toolchain>\n      <name>AVR</name>\n    </toolchain>\n    <debug>0</debug>\n    <settings>\n      <name>General</name>\n      <archiveVersion>11</archiveVersion>\n      <data>\n        <version>9</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>GGEnhancedCore</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Variant Memory</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ExePath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>ObjPath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>ListPath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>GGEnableConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GG64KFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GG64BitDoubles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GGFPSLICCOnfig</name>\n          <version>0</version>\n          <state>3</state>\n        </option>\n        <option>\n          <name>LCEnableBitDefs</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>LCHeapSize</name>\n          <state>0x10</state>\n        </option>\n        <option>\n          <name>SCCStackSize</name>\n          <state>0x100</state>\n        </option>\n        <option>\n          <name>SCExtCStack</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SCRStackSize</name>\n          <state>16</state>\n        </option>\n        <option>\n          <name>SCExtRStack</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SCEnableBus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SCAddWaitstate</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SCRamBase</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCRamSize</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCRomBase</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCRomSize</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCNVBase</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCNVSize</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCInitWithReti</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GOutputBinary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GGEepromUtil</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GGEepromUtilSize</name>\n          <state>1024</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelect</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RTDescription</name>\n          <state>Use the normal configuration of the C/EC++</state>\n          <state>runtime library. No locale interface,</state>\n          <state>C locale, no file descriptor support,</state>\n          <state>no multibytes in printf and scanf, and</state>\n          <state>no hex floats in strtod.</state>\n        </option>\n        <option>\n          <name>RTConfigPath</name>\n          <state>$TOOLKIT_DIR$\\LIB\\DLIB\\dlAVR-3s-ec_mul-sf-n.h</state>\n        </option>\n        <option>\n          <name>RTLibraryPath</name>\n          <state>$TOOLKIT_DIR$\\LIB\\DLIB\\dlAVR-3s-ec_mul-sf-n.r90</state>\n        </option>\n        <option>\n          <name>Input variant</name>\n          <version>36</version>\n          <state>6</state>\n        </option>\n        <option>\n          <name>Input description</name>\n          <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n        </option>\n        <option>\n          <name>Output variant</name>\n          <version>36</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>Output description</name>\n          <state>No specifier a, A, no specifier n, no float nor long long, no flags, without multibytes.</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelectSlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GeneralEnableMisra</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVerbose</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LCTinyHeapSize</name>\n          <state>0x10</state>\n        </option>\n        <option>\n          <name>LCNearHeapSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LCFarHeapSize</name>\n          <state>0x1000</state>\n        </option>\n        <option>\n          <name>LCHugeHeapSize</name>\n          <state>0x1000</state>\n        </option>\n        <option>\n          <name>LCsHeapConfigText</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GGNoMULInstruction</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>GenDeviceSelectMenu</name>\n          <state>m328p\tATmega328P</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICCAVR</name>\n      <archiveVersion>6</archiveVersion>\n      <data>\n        <version>17</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CCVariantProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnhancedCore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCVariantMemory</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCDefines</name>\n          <state>NDEBUG</state>\n        </option>\n        <option>\n          <name>CCPreprocFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocComments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMnemonics</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCListCMessages</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagSuppress</name>\n          <state>Pa050</state>\n        </option>\n        <option>\n          <name>CCDiagRemark</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagWarning</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagError</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCWarnAsError</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCConstInRAM</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCInitInFlash</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCForceVariables</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOldCallConv</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLockRegs</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCAllowList</name>\n          <version>3</version>\n          <state>111111</state>\n        </option>\n        <option>\n          <name>CCCrossCallPassesList</name>\n          <version>8</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCObjUseModuleName</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCObjModuleName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDebugInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCNoErrorMsg</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CC64BitDoubles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CC64KFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableExtBus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableBitDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOptForceCrossCall</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCharIs</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCExt</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRequirePrototypes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCompilerRuntimeInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>newCCIncludePaths</name>\n          <state>$PROJ_DIR$\\.</state>\n          <state>$PROJ_DIR$\\..\\..</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\avr\\qk\\iar</state>\n        </option>\n        <option>\n          <name>CCStdIncCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEepromSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLockRegsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOutputFile</name>\n          <state>$FILE_BNAME$.r90</state>\n        </option>\n        <option>\n          <name>CompilerMisraOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLibConfigHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>PreInclude</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCOverrideModuleTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleTypeSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCAdditionalCommandLineOptionsSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>IccLang</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccCppDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccAllowVLA</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCppInlineSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccStaticDestr</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccFloatSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOptStrategy</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevel</name>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CCOptLevelSlave</name>\n          <state>3</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>AAVR</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>11</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ACaseSensitivity</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AWarnEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnWhat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnOne</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CDebug</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>MacroChars</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>UndefAsm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefLine</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefTime</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefDate</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefTid</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AListHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AListing</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Includes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacExps</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacExec</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OnlyAssed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MultiLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>TabSpacing</name>\n          <state>8</state>\n        </option>\n        <option>\n          <name>AXRef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDefines</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefInternal</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDual</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OAEnhancedCore</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrOn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrNum</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>ANewIncludes</name>\n          <state>$TOOLKIT_DIR$\\INC\\</state>\n        </option>\n        <option>\n          <name>AsmMultiByteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AavrVariantMemory</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AsmHasElpm</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AsmOutputFile</name>\n          <state>$FILE_BNAME$.r90</state>\n        </option>\n        <option>\n          <name>AStdIncCheck</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CUSTOM</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <extensions></extensions>\n        <cmdline></cmdline>\n        <hasPrio>0</hasPrio>\n      </data>\n    </settings>\n    <settings>\n      <name>BICOMP</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>BUILDACTION</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <prebuild></prebuild>\n        <postbuild></postbuild>\n      </data>\n    </settings>\n    <settings>\n      <name>XLINK</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>16</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>XOutOverride</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>dpp-qk.hex</state>\n        </option>\n        <option>\n          <name>OutputFormat</name>\n          <version>11</version>\n          <state>23</state>\n        </option>\n        <option>\n          <name>FormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>SecondaryOutputFile</name>\n          <state>(None for the selected format)</state>\n        </option>\n        <option>\n          <name>XDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AlwaysOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OverlapWarnings</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NoGlobalCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XList</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>SegmentMap</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ListSymbols</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>XIncludes</name>\n          <state>$TOOLKIT_DIR$\\LIB\\</state>\n        </option>\n        <option>\n          <name>ModuleStatus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclFile</name>\n          <state>$TOOLKIT_DIR$\\src\\template\\cfgm328p.xcl</state>\n        </option>\n        <option>\n          <name>XclFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DoFill</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FillerByte</name>\n          <state>0xFF</state>\n        </option>\n        <option>\n          <name>DoCrc</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcSize</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcAlgo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcPoly</name>\n          <state>0x11021</state>\n        </option>\n        <option>\n          <name>CrcCompl</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RangeCheckAlternatives</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressAllWarn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressDiags</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsWarn</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsErr</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ModuleLocalSym</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcBitOrder</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OXSysConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IncludeSuppressed</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ModuleSummary</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabel</name>\n          <state>__program_start</state>\n        </option>\n        <option>\n          <name>DebugInformation</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RuntimeControl</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IoEmulation</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AllowExtraOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GenerateExtraOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExtraOutputFile</name>\n          <state>dpp-qk.a90</state>\n        </option>\n        <option>\n          <name>ExtraOutputFormat</name>\n          <version>11</version>\n          <state>25</state>\n        </option>\n        <option>\n          <name>ExtraFormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>xcOverrideProgramEntryLabel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabelSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ListOutputFormat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>BufferedTermOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XcRTLibraryFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OXLibIOConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XLinkMisraHandler</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OverlaySystemMap</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RawBinaryFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySymbol</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySegment</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinaryAlign</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CrcAlign</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcInitialValue</name>\n          <state>0x00</state>\n        </option>\n        <option>\n          <name>CrcUnitSize</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogInputFiles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogModuleSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogPrintfScanf</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogSegmentSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogStackDepth</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkStackUsageEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkControlFiles</name>\n          <state></state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileName</name>\n          <state>$LIST_DIR$\\$PROJ_FNAME$.call_graph.cgx</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>XAR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>XAROutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XARInputs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>BILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n  </configuration>\n  <group>\n    <name>Application</name>\n    <file>\n      <name>$PROJ_DIR$\\bsp.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\bsp.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\dpp.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\main.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\philo.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\table.c</name>\n    </file>\n  </group>\n  <group>\n    <name>QP</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qepn.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qfn.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qkn\\qkn.c</name>\n    </file>\n  </group>\n</project>\n\n\n"
  },
  {
    "path": "examples/avr/dpp_arduino-uno/qk/iar/dpp-qk.eww",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<workspace>\n  <project>\n    <path>$WS_DIR$\\dpp-qk.ewp</path>\n  </project>\n  <batchBuild/>\n</workspace>\n\n\n"
  },
  {
    "path": "examples/avr/dpp_arduino-uno/qk/iar/flash.bat",
    "content": "@echo off\n::============================================================================\n:: Batch file to program the flash of Arduino-UNO\n:: \n:: NOTE: requires the AVRDUDE uitlity which is included in the QTools\n:: collection\n:: \nsetlocal\n\n@echo off\n@echo Load a given hex file to the flash of Arduino-UNO\n@echo usage:   flash hex-file [COM-port]\n@echo example: flash dbg\\blinky-qk.hex\n@echo example: flash dbg\\blinky-qk.hex COM5\n\n::----------------------------------------------------------------------------\n:: NOTE: Adjust the following symbol to the location of the\n:: AVRDUDE utility on your machine \n::\nset AVRDUDE=avrdude.exe\n\nset COM_PORT=COM5\nif [%2] NEQ [] set COM_PORT=%2\n\nif [\"%~1\"]==[\"\"] (\n    @echo The hex file missing\n    @goto end\n)\nif not exist %~s1 (\n    @echo The hex file '%1' does not exist\n    @goto end\n)\n\n@echo on\n%AVRDUDE% -p atmega328p -c arduino -P %COM_PORT% -b 115200 -D -v -U flash:w:%1:i\n@echo off\n\n:end\n\nendlocal"
  },
  {
    "path": "examples/avr/dpp_arduino-uno/qk/iar/spy.bat",
    "content": "set COM_PORT=COM5\nif [%1] NEQ [] set COM_PORT=%1\n\nqspy -c%COM_PORT% -b115200 -O2 -F2 -E1 -P1 -B1"
  },
  {
    "path": "examples/avr/dpp_arduino-uno/qpn_conf.h",
    "content": "/*****************************************************************************\n* Product: QP-nano configuration for the Blinky example\n* Last Updated for Version: 5.6.2\n* Date of the Last Update:  2016-04-05\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef QPN_CONF_H\n#define QPN_CONF_H\n\n#define Q_PARAM_SIZE            4U\n#define QF_MAX_TICK_RATE        1U\n#define QF_TIMEEVT_CTR_SIZE     2U\n#define QF_TIMEEVT_PERIODIC\n\n#endif  /* QPN_CONF_H */\n"
  },
  {
    "path": "examples/avr/dpp_arduino-uno/qv/gnu/Makefile",
    "content": "##############################################################################\n# Product: Makefile for QP-nano, Arduino-UNO, cooperative QV kernel, GNU-AVR\n# Last Updated for Version: 5.4.0\n# Date of the Last Update:  2015-05-28\n#\n#                    Q u a n t u m     L e a P s\n#                    ---------------------------\n#                    innovating embedded systems\n#\n# Copyright (C) Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# Web:   http://www.state-machine.com\n# Email: info@state-machine.com\n##############################################################################\n# examples of invoking this Makefile:\n# building configurations: Debug (default), Release, and Spy\n# make\n# make CONF=rel\n#\n# cleaning configurations: Debug (default), Release, and Spy\n# make clean\n# make CONF=rel clean\n#\n# NOTE:\n# To use this Makefile on Windows, you will need the GNU make utility, which\n# is included in the Qtools collection for Windows, see:\n#    http://sourceforge.net/projects/qpc/files/Qtools/\n#\n\n#-----------------------------------------------------------------------------\n# project name\n#\nPROJECT     := dpp-qv\n\n#-----------------------------------------------------------------------------\n# project directories\n#\n\n# location of the QP-nano framework (if not provided in an environemnt var.)\nifeq ($(QPN),)\nQPN := ../../../../..\nendif\n\n# QP port used in this project\nQP_PORT_DIR := $(QPN)/ports/avr/qv/gnu\n\n# list of all source directories used by this project\nVPATH = \\\n\t.. \\\n\t../.. \\\n\t$(QPN)/src/qfn \\\n\t$(QPN)/src/qvn \\\n\t$(QP_PORT_DIR)\n\n# list of all include directories needed by this project\nINCLUDES  = \\\n\t-I../.. \\\n\t-I$(QPN)/include \\\n\t-I$(QP_PORT_DIR)\n\n#-----------------------------------------------------------------------------\n# files\n#\n\n# assembler source files\nASM_SRCS :=\n\n# C source files\nC_SRCS := \\\n\tbsp.c \\\n\tmain.c \\\n\tphilo.c \\\n\ttable.c\n\n# C++ source files\nCPP_SRCS :=\t\n\nOUTPUT    := $(PROJECT)\nLD_SCRIPT :=\n\nQP_SRCS := \\\n\tqepn.c \\\n\tqfn.c \\\n\tqvn.c\n\nQP_ASMS :=\n\nLIB_DIRS  :=\nLIBS      :=\n\n# defines\nDEFINES   :=\n\n# AVR MCU type\nAVR_MCU=atmega328p\n\n#-----------------------------------------------------------------------------\n# GNU-AVR toolset (NOTE: You need to adjust to your machine)\n# see http://sourceforge.net/projects/winavr\n#\nifeq ($(GNU_AVR),)\nGNU_AVR = C:\\tools\\WinAVR\nendif\n\n# make sure that the GNU-AVR toolset exists...\nifeq (\"$(wildcard $(GNU_AVR))\",\"\")\n$(error GNU_AVR toolset not found. Please adjust the Makefile)\nendif\n\nCC    := $(GNU_AVR)/bin/avr-gcc\nCPP   := $(GNU_AVR)/bin/avr-g++\nAS    := $(GNU_AVR)/bin/avr-as\nLINK  := $(GNU_AVR)/bin/avr-gcc\nBIN   := $(GNU_AVR)/bin/avr-objcopy\n\n##############################################################################\n# Typically, you should not need to change anything below this line\n\n# basic utilities (included in Qtools for Windows), see:\n#    http://sourceforge.net/projects/qpc/files/Qtools\n\nMKDIR := mkdir\nRM    := rm\n\n#-----------------------------------------------------------------------------\n# build options for various configurations for ARM Cortex-M4F\n#\n\n# combine all the soruces...\nC_SRCS += $(QP_SRCS) $(QP_PORT)\n\n\nifeq (rel, $(CONF)) # Release configuration ..................................\n\nBIN_DIR := rel\n\nASFLAGS =\n\nCFLAGS = -mmcu=$(AVR_MCU) -std=gnu99 -fshort-enums -Wall \\\n\t-ffunction-sections -fdata-sections \\\n    -Os $(INCLUDES) $(DEFINES) -DNDEBUG\n\nCPPFLAGS = -mmcu=$(AVR_MCU) -fshort-enums -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n    -Os $(INCLUDES) $(DEFINES) -DNDEBUG\n\nelse   # default Debug configuration .........................................\n\nBIN_DIR := dbg\n\nASFLAGS =\n\nCFLAGS = -mmcu=$(AVR_MCU) -std=gnu99 -fshort-enums -Wall \\\n\t-ffunction-sections -fdata-sections \\\n    -O $(INCLUDES) $(DEFINES)\n\nCPPFLAGS = -mmcu=$(AVR_MCU) -fshort-enums -Wall \\\n\t-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions \\\n    -O $(INCLUDES) $(DEFINES)\n\nendif  # .....................................................................\n\nLINKFLAGS = -mmcu=$(AVR_MCU) \\\n\t-Wl,-Map,$(BIN_DIR)/$(OUTPUT).map,--cref,--gc-sections $(LIB_DIRS)\n\n\nASM_OBJS     := $(patsubst %.s,%.o,  $(notdir $(ASM_SRCS)))\nC_OBJS       := $(patsubst %.c,%.o,  $(notdir $(C_SRCS)))\nCPP_OBJS     := $(patsubst %.cpp,%.o,$(notdir $(CPP_SRCS)))\n\nTARGET_HEX   := $(BIN_DIR)/$(OUTPUT).hex\nTARGET_ELF   := $(BIN_DIR)/$(OUTPUT).elf\nASM_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(ASM_OBJS))\nC_OBJS_EXT   := $(addprefix $(BIN_DIR)/, $(C_OBJS))\nC_DEPS_EXT   := $(patsubst %.o, %.d, $(C_OBJS_EXT))\nCPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))\nCPP_DEPS_EXT := $(patsubst %.o, %.d, $(CPP_OBJS_EXT))\n\n# create $(BIN_DIR) if it does not exist\nifeq (\"$(wildcard $(BIN_DIR))\",\"\")\n$(shell $(MKDIR) $(BIN_DIR))\nendif\n\n#-----------------------------------------------------------------------------\n# rules\n#\n\nall: $(TARGET_HEX)\n#all: $(TARGET_ELF)\n\n$(TARGET_HEX): $(TARGET_ELF)\n\t$(BIN) -O ihex $< $@\n\n$(TARGET_ELF) : $(ASM_OBJS_EXT) $(C_OBJS_EXT) $(CPP_OBJS_EXT)\n\t$(LINK) $(LINKFLAGS) -o $@ $^ $(LIBS)\n\n$(BIN_DIR)/%.d : %.c\n\t$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@\n\n$(BIN_DIR)/%.d : %.cpp\n\t$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@\n\n$(BIN_DIR)/%.o : %.s\n\t$(AS) $(ASFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.c\n\t$(CC) $(CFLAGS) -c $< -o $@\n\n$(BIN_DIR)/%.o : %.cpp\n\t$(CPP) $(CPPFLAGS) -c $< -o $@\n\n# include dependency files only if our goal depends on their existence\nifneq ($(MAKECMDGOALS),clean)\n  ifneq ($(MAKECMDGOALS),show)\n-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)\n  endif\nendif\n\n\n.PHONY : clean\nclean:\n\t-$(RM) $(BIN_DIR)/*.o \\\n\t$(BIN_DIR)/*.d \\\n\t$(BIN_DIR)/*.hex \\\n\t$(BIN_DIR)/*.elf \\\n\t$(BIN_DIR)/*.map\n\t\nshow:\n\t@echo PROJECT = $(PROJECT)\n\t@echo CONF = $(CONF)\n\t@echo DEFINES = $(DEFINES)\n\t@echo ASM_FPU = $(ASM_FPU)\n\t@echo ASM_SRCS = $(ASM_SRCS)\n\t@echo C_SRCS = $(C_SRCS)\n\t@echo CPP_SRCS = $(CPP_SRCS)\n\t@echo ASM_OBJS_EXT = $(ASM_OBJS_EXT)\n\t@echo C_OBJS_EXT = $(C_OBJS_EXT)\n\t@echo C_DEPS_EXT = $(C_DEPS_EXT)\n\t@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)\n\t@echo TARGET_ELF = $(TARGET_ELF)\n"
  },
  {
    "path": "examples/avr/dpp_arduino-uno/qv/gnu/README.txt",
    "content": "About this Example\n==================\nThis example can be built from the command prompt with the provided\nMakefile. The example can also be invoked directly (via the make\nutility) from the QM modeling tool.\n\n\nThe Makefile\n============\nThe provided Makefile should be easy to adapt for your own projects.\nIt contains three build configurations: Debug (default) and Release.\n\nThe various build configurations are built as follows:\n\nmake\nmake CONF=rel\n\nmake clean\nmake CONF=rel clean\n\n\nWarning: '__progmem__' attribute ignored\n========================================\nAVR is a Harvard architecture that uses different program and data spaces as\nwell as different CPU instructions to access these two address spaces (data\nmemory is 8-bit wide while program memory is 16-bit wide). Consequently, one\nof the biggest concerns in AVR programs is to correctly allocate and access\nconstant data in the program space (ROM) rather than the precious RAM. Since\nthe ROM resides in a different address space, you need to tell the compiler\nto place variables there. You also need a way to access the data (i.e., the\ncompiler has to use the lpm instruction.)\n\nThe GNU-AVR compiler supports data in the program memory only partially\nthrough the attribute((progmem)) extension (typically used through the\nPROGMEM macro). By tagging a variable with attribute((progmem)), you can\nforce it to reside in the ROM. However, the compiler support ends at this\npoint. It is the responsibility of the developer to correctly access the\nPROGMEM variables. The GCC-AVR provides merely a bunch of macros (all\ndefined in the avr\\pgmspace.h header file).\n\nThe bottom line is that the GNU-AVR compiler support for ROM-allocated\nobjects through the PROGMEM attribute is both incomplete and inconsistent\nwith the correct implementation in other compilers (such as IAR-AVR).\nFor example, pointers pointing to PROGMEM objects are not treated correctly,\nmeaning that the compiler will not generate the right code to access such\nROM objects (the GNU-AVR compiler needs a kludge in form of macros such as\npgm_read_byte_near and others). To recognize that fact, the GNU-AVR\ngenerates the warnings \"'progmem' attribute ignored \".\n\nHowever, the QP source code is written for a standard correct implementation\n(how else would you achieve portability?). For example, the IAR-AVR compiler\nuses the attribute '__flash' to designate objects and pointers to ROM\nobjects. The compiler then generates the right code for all such flash\nobjects and pointers, without any kludges necessary for the GNU compiler.\n\nIn summary, the warnings \"'progmem' attribute ignored\" should be ignored\nin the QP library build. To avoid these warnings, the QP source code would\nhave to be modified in such a way that it would be incorrect for other\ncompilers that handle these declarations correctly.\n"
  },
  {
    "path": "examples/avr/dpp_arduino-uno/qv/gnu/bsp.c",
    "content": "/*****************************************************************************\n* Product: DPP example, Arduino-UNO board, cooperative QV kernel, GNU-AVR\n* Last updated for version 6.8.0\n* Last updated on  2020-03-22\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"dpp.h\"\n#include \"bsp.h\"\n\n/* the AVR device specific header <avr/io.h> is already included */\n/* add other drivers if necessary... */\n\nQ_DEFINE_THIS_FILE\n\n/* Local-scope objects -----------------------------------------------------*/\n/* Arduino-UNO runs off the 16MHz oscillator */\n#define F_CPU   16000000UL\n\n/* the on-board LED labeled \"L\" on Arduino-UNO (PORTB) */\n#define LED_L   (1U << 5)\n\n/* external button BTN_EXT (PORTD), arduino.cc/en/tutorial/button */\n#define BTN_EXT (1U << 2)\n\nstatic unsigned  l_rnd;  /* random seed */\n\n\n/* ISRs used in this project ===============================================*/\nISR(TIMER2_COMPA_vect) {\n    /* state of the button debouncing, see below */\n    static struct ButtonsDebouncing {\n        uint8_t depressed;\n        uint8_t previous;\n    } buttons = { 0xFFU, 0xFFU };\n    uint8_t current;\n    uint8_t tmp;\n\n    QF_tickXISR(0U); /* process time events for rate 0 */\n\n    /* Perform the debouncing of buttons. The algorithm for debouncing\n    * adapted from the book \"Embedded Systems Dictionary\" by Jack Ganssle\n    * and Michael Barr, page 71.\n    */\n    current = PIND; /* read PORTD with the state of BTN_EXT */\n    tmp = buttons.depressed; /* save the debounced depressed buttons */\n    buttons.depressed |= (buttons.previous & current); /* set depressed */\n    buttons.depressed &= (buttons.previous | current); /* clear released */\n    buttons.previous   = current; /* update the history */\n    tmp ^= buttons.depressed;     /* changed debounced depressed */\n    if ((tmp & BTN_EXT) != 0U) {  /* debounced BTN_EXT state changed? */\n        if ((buttons.depressed & BTN_EXT) != 0U) { /* is BTN_EXT depressed? */\n            QACTIVE_POST_ISR(&AO_Table, PAUSE_SIG, 0U);\n        }\n        else {            /* the button is released */\n            QACTIVE_POST_ISR(&AO_Table, SERVE_SIG, 0U);\n        }\n    }\n}\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    /* setup the port for the LED (PORTB.5) */\n    DDRB   =  0xFFU;    /* set all pins on PORTB as output */\n    PORTB &= ~LED_L;    /* drive LED_L pin low */\n\n    /* setup the port for the Button (PORTD.2) */\n    DDRD  &= ~BTN_EXT;  /* set PORTD pin BTN_EXT as input */\n}\n/*..........................................................................*/\nvoid BSP_displayPhilStat(uint8_t n, char const *stat) {\n    if (stat[0] == 'h') {\n        PORTB |= LED_L;\n    }\n    else {\n        PORTB &= ~LED_L;\n    }\n}\n/*..........................................................................*/\nvoid BSP_displayPaused(uint8_t paused) {\n    /* not enouhg LEDs to implement this feature */\n    if (paused != 0U) {\n        //PORTB |= LED_L;\n    }\n    else {\n        //PORTB &= ~LED_L;\n    }\n}\n/*..........................................................................*/\nuint32_t BSP_random(void) { /* a very cheap pseudo-random-number generator */\n    /* \"Super-Duper\" Linear Congruential Generator (LCG)\n    * LCG(2^32, 3*7*11*13*23, 0, seed)\n    */\n    l_rnd = l_rnd * (3U*7U*11U*13U*23U);\n\n    return l_rnd >> 8;\n}\n/*..........................................................................*/\nvoid BSP_randomSeed(uint32_t seed) {\n    l_rnd = seed;\n}\n/*..........................................................................*/\nvoid BSP_terminate(int16_t result) {\n    (void)result;\n}\n\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    /* set Timer2 in CTC mode, 1/1024 prescaler, start the timer ticking... */\n    TCCR2A = (1U << WGM21) | (0U << WGM20);\n    TCCR2B = (1U << CS22 ) | (1U << CS21) | (1U << CS20); /* 1/2^10 */\n    ASSR  &= ~(1U << AS2);\n    TIMSK2 = (1U << OCIE2A); /* Enable TIMER2 compare Interrupt */\n    TCNT2  = 0U;\n    OCR2A  = (F_CPU / BSP_TICKS_PER_SEC / 1024U) - 1U;\n}\n/*..........................................................................*/\nvoid QF_onCleanup(void) {\n}\n\n/*..........................................................................*/\nvoid QV_onIdle(void) {   /* called with interrupts DISABLED, see NOTE1 */\n    /* toggle the User LED, see NOTE1 , not enough LEDs to implement! */\n    //PORTB |= LED_L;\n    //PORTB &= ~LED_L;\n\n#ifdef NDEBUG\n    /* Put the CPU and peripherals to the low-power mode.\n    * you might need to customize the clock management for your application,\n    * see the datasheet for your particular AVR MCU.\n    */\n    SMCR = (0 << SM0) | (1 << SE); /* idle mode, adjust to your project */\n    QV_CPU_SLEEP();  /* atomically go to sleep and enable interrupts */\n#else\n    QF_INT_ENABLE(); /* just enable interrupts */\n#endif\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const module, int location) {\n    /* implement the error-handling policy for your application!!! */\n    QF_INT_DISABLE(); /* disable all interrupts */\n    QF_RESET();  /* reset the CPU */\n    for (;;) {\n    }\n}\n\n/*****************************************************************************\n* NOTE1:\n* The QV_onIdle() callback is called with interrupts disabled, because the\n* determination of the idle condition might change by any interrupt posting\n* an event. QV_onIdle() must internally enable interrupts, ideally\n* atomically with putting the CPU to the power-saving mode.\n*\n* NOTE2:\n* The User LED is used to visualize the idle loop activity. The brightness\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n"
  },
  {
    "path": "examples/avr/dpp_arduino-uno/qv/gnu/flash.bat",
    "content": "@echo off\n::============================================================================\n:: Batch file to program the flash of Arduino-UNO\n:: \n:: NOTE: requires the AVRDUDE uitlity which is included in the QTools\n:: collection\n:: \nsetlocal\n\n@echo off\n@echo Load a given hex file to the flash of Arduino-UNO\n@echo usage:   flash hex-file [COM-port]\n@echo example: flash dbg\\blinky-qk.hex\n@echo example: flash dbg\\blinky-qk.hex COM5\n\n::----------------------------------------------------------------------------\n:: NOTE: Adjust the following symbol to the location of the\n:: AVRDUDE utility on your machine \n::\nset AVRDUDE=avrdude.exe\n\nset COM_PORT=COM5\nif [%2] NEQ [] set COM_PORT=%2\n\nif [\"%~1\"]==[\"\"] (\n    @echo The hex file missing\n    @goto end\n)\nif not exist %~s1 (\n    @echo The hex file '%1' does not exist\n    @goto end\n)\n\n@echo on\n%AVRDUDE% -p atmega328p -c arduino -P %COM_PORT% -b 115200 -D -v -U flash:w:%1:i\n@echo off\n\n:end\n\nendlocal"
  },
  {
    "path": "examples/avr/dpp_arduino-uno/qv/gnu/spy.bat",
    "content": "set COM_PORT=COM5\nif [%1] NEQ [] set COM_PORT=%1\n\nqspy -c%COM_PORT% -b115200 -O2 -F2 -E1 -P1 -B1"
  },
  {
    "path": "examples/avr/dpp_arduino-uno/qv/iar/README.txt",
    "content": "About The DPP-AVR Example\n=========================\nThis directory contains the DPP example for the 8-bit AVRmega processor family\nwith the IAR-AVR compiler.\n\n***\nNOTE: The Debug build configuration needs to use the high optimization level\n(for size) in order to fit under the code size limit of the free KickStart\nversion of the IAR-AVR toolset.\n***"
  },
  {
    "path": "examples/avr/dpp_arduino-uno/qv/iar/bsp.c",
    "content": "/*****************************************************************************\n* Product: DPP example, Arduino-UNO board, cooperative QV kernel, IAR-AVR\n* Last updated for version 6.8.0\n* Last updated on  2020-03-22\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"dpp.h\"\n#include \"bsp.h\"\n\n#include <iom328p.h>   /* the AVR MCU variant used */\n/* add other drivers if necessary... */\n\n//Q_DEFINE_THIS_FILE\n\n/* Local-scope objects -----------------------------------------------------*/\n/* Arduino-UNO runs off the 16MHz oscillator */\n#define F_CPU   16000000UL\n\n/* the on-board LED labeled \"L\" on Arduino-UNO (PORTB) */\n#define LED_L   (1U << 5)\n\n/* external button BTN_EXT (PORTD), arduino.cc/en/tutorial/button */\n#define BTN_EXT (1U << 2)\n\nstatic unsigned  l_rnd;  /* random seed */\n\n\n/* ISRs used in this project ===============================================*/\n#pragma vector = TIMER2_COMPA_vect\n__interrupt void timer2_ISR(void) {\n    /* state of the button debouncing, see below */\n    static struct ButtonsDebouncing {\n        uint8_t depressed;\n        uint8_t previous;\n    } buttons = { 0xFFU, 0xFFU };\n    uint8_t current;\n    uint8_t tmp;\n\n    QF_tickXISR(0U); /* process time events for rate 0 */\n\n    /* Perform the debouncing of buttons. The algorithm for debouncing\n    * adapted from the book \"Embedded Systems Dictionary\" by Jack Ganssle\n    * and Michael Barr, page 71.\n    */\n    current = PIND; /* read PORTD with the state of BTN_EXT */\n    tmp = buttons.depressed; /* save the debounced depressed buttons */\n    buttons.depressed |= (buttons.previous & current); /* set depressed */\n    buttons.depressed &= (buttons.previous | current); /* clear released */\n    buttons.previous   = current; /* update the history */\n    tmp ^= buttons.depressed;     /* changed debounced depressed */\n    if ((tmp & BTN_EXT) != 0U) {  /* debounced BTN_EXT state changed? */\n        if ((buttons.depressed & BTN_EXT) != 0U) { /* is BTN_EXT depressed? */\n            QACTIVE_POST_ISR(&AO_Table, PAUSE_SIG, 0U);\n        }\n        else {            /* the button is released */\n            QACTIVE_POST_ISR(&AO_Table, SERVE_SIG, 0U);\n        }\n    }\n}\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    /* setup the port for the LED (PORTB.5) */\n    DDRB   =  0xFFU;    /* set all pins on PORTB as output */\n    PORTB &= ~LED_L;    /* drive LED_L pin low */\n\n    /* setup the port for the Button (PORTD.2) */\n    DDRD  &= ~BTN_EXT;  /* set PORTD pin BTN_EXT as input */\n}\n/*..........................................................................*/\nvoid BSP_displayPhilStat(uint8_t n, char const *stat) {\n    if (stat[0] == 'h') {\n        PORTB |= LED_L;\n    }\n    else {\n        PORTB &= ~LED_L;\n    }\n}\n/*..........................................................................*/\nvoid BSP_displayPaused(uint8_t paused) {\n    /* not enouhg LEDs to implement this feature */\n    if (paused != 0U) {\n        //PORTB |= LED_L;\n    }\n    else {\n        //PORTB &= ~LED_L;\n    }\n}\n/*..........................................................................*/\nuint32_t BSP_random(void) { /* a very cheap pseudo-random-number generator */\n    /* \"Super-Duper\" Linear Congruential Generator (LCG)\n    * LCG(2^32, 3*7*11*13*23, 0, seed)\n    */\n    l_rnd = l_rnd * (3U*7U*11U*13U*23U);\n\n    return l_rnd >> 8;\n}\n/*..........................................................................*/\nvoid BSP_randomSeed(uint32_t seed) {\n    l_rnd = seed;\n}\n/*..........................................................................*/\nvoid BSP_terminate(int16_t result) {\n    (void)result;\n}\n\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    /* set Timer2 in CTC mode, 1/1024 prescaler, start the timer ticking... */\n    TCCR2A = (1U << WGM21) | (0U << WGM20);\n    TCCR2B = (1U << CS22 ) | (1U << CS21) | (1U << CS20); /* 1/2^10 */\n    ASSR  &= ~(1U << AS2);\n    TIMSK2 = (1U << OCIE2A); /* Enable TIMER2 compare Interrupt */\n    TCNT2  = 0U;\n    OCR2A  = (F_CPU / BSP_TICKS_PER_SEC / 1024U) - 1U;\n}\n/*..........................................................................*/\nvoid QF_onCleanup(void) {\n}\n\n/*..........................................................................*/\nvoid QV_onIdle(void) {   /* called with interrupts DISABLED, see NOTE1 */\n    /* toggle the User LED, see NOTE1 , not enough LEDs to implement! */\n    //PORTB |= LED_L;\n    //PORTB &= ~LED_L;\n\n#ifdef NDEBUG\n    /* Put the CPU and peripherals to the low-power mode.\n    * you might need to customize the clock management for your application,\n    * see the datasheet for your particular AVR MCU.\n    */\n    SMCR = (0 << SM0) | (1 << SE); /* idle mode, adjust to your project */\n    QV_CPU_SLEEP();  /* atomically go to sleep and enable interrupts */\n#else\n    QF_INT_ENABLE(); /* just enable interrupts */\n#endif\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const module, int location) {\n    /* implement the error-handling policy for your application!!! */\n    QF_INT_DISABLE(); /* disable all interrupts */\n    QF_RESET();  /* reset the CPU */\n    for (;;) {\n    }\n}\n\n/*****************************************************************************\n* NOTE1:\n* The QV_onIdle() callback is called with interrupts disabled, because the\n* determination of the idle condition might change by any interrupt posting\n* an event. QV_onIdle() must internally enable interrupts, ideally\n* atomically with putting the CPU to the power-saving mode.\n*\n* NOTE2:\n* The User LED is used to visualize the idle loop activity. The brightness\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n"
  },
  {
    "path": "examples/avr/dpp_arduino-uno/qv/iar/dpp-qv.ewd",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<project>\n  <fileVersion>2</fileVersion>\n  <configuration>\n    <name>Debug</name>\n    <toolchain>\n      <name>AVR</name>\n    </toolchain>\n    <debug>1</debug>\n    <settings>\n      <name>C-SPY</name>\n      <archiveVersion>6</archiveVersion>\n      <data>\n        <version>16</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CSVariantProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DDFile</name>\n          <state>$TOOLKIT_DIR$\\Config\\iom328p.ddf</state>\n        </option>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCEnhancedCore</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OC64BitDoubles</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>DdfFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RunToEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RunToName</name>\n          <state>main</state>\n        </option>\n        <option>\n          <name>newDDFileOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CSVariantEepromSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CSVariant64KFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CdDllSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CDynDriver</name>\n          <state>SIMAVR</state>\n        </option>\n        <option>\n          <name>DebuggerUseUbrofResetVector</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesUse1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse3</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ATMELICEAVR</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OATMELICEDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OATMELICEExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OATMELICEExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICELogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagFreqManually</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OATMELICECommunication</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICECommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OATMELICEDebugPort</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEDebugWireDebugPort</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OATMELICEAVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEDebuggerAttachToRunningTarget</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>AVRONE</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>4</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OAVRONEDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OAVRONEExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OAVRONEExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONELogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagFreqManually</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagDebugReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OAVRONECommunication</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONECommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OAVRONEDebugPort</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEDebugWireDebugPort</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OAVRONEAVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CCRAVR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OCCRAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCRAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCCRAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRBaud</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OCCRAVRParity</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRDataBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRStopBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRHandshake</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRAllComm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCRAVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OCCRAVRSuppressLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRFastDownload</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCRAVRTargetCCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRdownloadToData</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICE200AVR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OICE200AVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OICE200AVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OICE200AVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRBaud</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OICE200AVRParity</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRDataBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRStopBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRHandshake</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRAllComm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OICE200AVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OICE200AVRHighSpeed</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OICE200AVRSingleStepTimers</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRRestoreEEPROM</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRComPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRIce200ResetDelayList</name>\n          <version>8</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRIce200downloadToData</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JTAGICEAVR</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OJTAGICEAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRBaud</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRParity</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRDataBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRStopBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRHandshake</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRAllComm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceDefaultCom</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceComPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagFreqManually</name>\n          <state>100000</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagDebugReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JTAGICE3AVR</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>6</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OJTAGICE3Driver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICE3ExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICE3ExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3LogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagFreqManually</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICE3Communication</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3CommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICE3DebugPort</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3DebugWireDebugPort</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICE3AVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3DebuggerAttachToRunningTarget</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JTAGICEMKIIAVR</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>7</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OJTAGICEMKIIAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRBaud</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRParity</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRDataBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRStopBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRHandshake</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRAllComm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceDefaultCom</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceComPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagFreqManually</name>\n          <state>100000</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagDebugReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRCommunicationNew</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRCommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRUsePDI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIOnlyPDI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>DRAGONAVR</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>3</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>ODRAGONAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ODRAGONAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagFreqManually</name>\n          <state>100000</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagDebugReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRCommunicationNew</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRCommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ODRAGONAVRUsePDI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONOnlyPDI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>SIMAVR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OSIMAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OSIMAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OSIMAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>THIRDPARTYAVR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OTHIRDPARTYAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRDriverDll</name>\n          <state>Browse to your Third party driver</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRSuppress</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRVerify</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRLogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRLogFileEditB</name>\n          <state>$TOOLKIT_DIR$\\cspycomm.log</state>\n        </option>\n      </data>\n    </settings>\n    <debuggerPlugins>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\Stk600\\Stk600Plugin.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\SymList\\SymList.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n    </debuggerPlugins>\n  </configuration>\n  <configuration>\n    <name>Release</name>\n    <toolchain>\n      <name>AVR</name>\n    </toolchain>\n    <debug>0</debug>\n    <settings>\n      <name>C-SPY</name>\n      <archiveVersion>6</archiveVersion>\n      <data>\n        <version>16</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CSVariantProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DDFile</name>\n          <state>$TOOLKIT_DIR$\\Config\\iom328p.ddf</state>\n        </option>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCEnhancedCore</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OC64BitDoubles</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>DdfFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RunToEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RunToName</name>\n          <state>main</state>\n        </option>\n        <option>\n          <name>newDDFileOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CSVariantEepromSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CSVariant64KFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CdDllSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CDynDriver</name>\n          <state>SIMAVR</state>\n        </option>\n        <option>\n          <name>DebuggerUseUbrofResetVector</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesUse1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse3</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ATMELICEAVR</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OATMELICEDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OATMELICEExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OATMELICEExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICELogFile</name>\n          <state>$PROJ_DIR$\\cspycomm.log</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagFreqManually</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEJtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OATMELICECommunication</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICECommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OATMELICEDebugPort</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEDebugWireDebugPort</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OATMELICEAVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OATMELICEDebuggerAttachToRunningTarget</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>AVRONE</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>4</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OAVRONEDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OAVRONEExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OAVRONEExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONELogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagFreqManually</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagDebugReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEJtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OAVRONECommunication</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONECommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OAVRONEDebugPort</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OAVRONEDebugWireDebugPort</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OAVRONEAVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CCRAVR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OCCRAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCRAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCCRAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRBaud</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OCCRAVRParity</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRDataBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRStopBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRHandshake</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRAllComm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCRAVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OCCRAVRSuppressLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRFastDownload</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCRAVRTargetCCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCRAVRdownloadToData</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICE200AVR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OICE200AVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OICE200AVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OICE200AVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRBaud</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OICE200AVRParity</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRDataBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRStopBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRHandshake</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRAllComm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OICE200AVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OICE200AVRHighSpeed</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OICE200AVRSingleStepTimers</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRRestoreEEPROM</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRComPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRIce200ResetDelayList</name>\n          <version>8</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OICE200AVRIce200downloadToData</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JTAGICEAVR</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>2</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OJTAGICEAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRBaud</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRParity</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRDataBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRStopBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRHandshake</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRAllComm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceDefaultCom</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceComPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagFreqManually</name>\n          <state>100000</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagDebugReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEAVRJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JTAGICE3AVR</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>6</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OJTAGICE3Driver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICE3ExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICE3ExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3DoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3LogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagFreqManually</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3JtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICE3Communication</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3CommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICE3DebugPort</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3DebugWireDebugPort</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICE3AVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICE3DebuggerAttachToRunningTarget</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>JTAGICEMKIIAVR</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>7</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OJTAGICEMKIIAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRBaud</name>\n          <version>0</version>\n          <state>5</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRParity</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRDataBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRStopBits</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRHandshake</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRAllComm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceDefaultCom</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceComPort</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagFreqManually</name>\n          <state>100000</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagDebugReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRCommunicationNew</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRCommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRUsePDI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIOnlyPDI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OJTAGICEMKIIAVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>DRAGONAVR</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>3</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>ODRAGONAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ODRAGONAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRDoLogfile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRLogFile</name>\n          <state>cspycomm.log</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceSuppLoad</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceConsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagFreqRadio</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagFreqManually</name>\n          <state>100000</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagFreq</name>\n          <version>0</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagDeviceBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagDeviceAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagInstrBitsBefore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceJtagInstrBitsAfter</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIceDaisyChain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagDebugTimers</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagDebugEeprom</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagDebugReset</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagDebugFuses</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIcedownloadToData</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagSoftwareBreak</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRCommunicationNew</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRCommunicationUsbEditId</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ODRAGONAVRUsePDI</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ODRAGONOnlyPDI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ODRAGONAVRJtagIcePreserveFlash</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>SIMAVR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OSIMAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OSIMAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OSIMAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>THIRDPARTYAVR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OTHIRDPARTYAVRDriver</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRDriverDll</name>\n          <state>Browse to your Third party driver</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRSuppress</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRVerify</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRLogFileCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTHIRDPARTYAVRLogFileEditB</name>\n          <state>$TOOLKIT_DIR$\\cspycomm.log</state>\n        </option>\n      </data>\n    </settings>\n    <debuggerPlugins>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\Stk600\\Stk600Plugin.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\SymList\\SymList.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n    </debuggerPlugins>\n  </configuration>\n</project>\n\n\n"
  },
  {
    "path": "examples/avr/dpp_arduino-uno/qv/iar/dpp-qv.ewp",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<project>\n  <fileVersion>2</fileVersion>\n  <configuration>\n    <name>Debug</name>\n    <toolchain>\n      <name>AVR</name>\n    </toolchain>\n    <debug>1</debug>\n    <settings>\n      <name>General</name>\n      <archiveVersion>11</archiveVersion>\n      <data>\n        <version>9</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>GGEnhancedCore</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Variant Memory</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ExePath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>ObjPath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>ListPath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>GGEnableConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GG64KFlash</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GG64BitDoubles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GGFPSLICCOnfig</name>\n          <version>0</version>\n          <state>3</state>\n        </option>\n        <option>\n          <name>LCEnableBitDefs</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>LCHeapSize</name>\n          <state>0x10</state>\n        </option>\n        <option>\n          <name>SCCStackSize</name>\n          <state>256</state>\n        </option>\n        <option>\n          <name>SCExtCStack</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SCRStackSize</name>\n          <state>16</state>\n        </option>\n        <option>\n          <name>SCExtRStack</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SCEnableBus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SCAddWaitstate</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SCRamBase</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCRamSize</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCRomBase</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCRomSize</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCNVBase</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCNVSize</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCInitWithReti</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GOutputBinary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GGEepromUtil</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GGEepromUtilSize</name>\n          <state>1024</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelect</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RTDescription</name>\n          <state>Use the normal configuration of the C/EC++</state>\n          <state>runtime library. No locale interface,</state>\n          <state>C locale, no file descriptor support,</state>\n          <state>no multibytes in printf and scanf, and</state>\n          <state>no hex floats in strtod.</state>\n        </option>\n        <option>\n          <name>RTConfigPath</name>\n          <state>$TOOLKIT_DIR$\\LIB\\DLIB\\dlAVR-3s-ec_mul-sf-n.h</state>\n        </option>\n        <option>\n          <name>RTLibraryPath</name>\n          <state>$TOOLKIT_DIR$\\LIB\\DLIB\\dlAVR-3s-ec_mul-sf-n.r90</state>\n        </option>\n        <option>\n          <name>Input variant</name>\n          <version>36</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>Input description</name>\n          <state></state>\n        </option>\n        <option>\n          <name>Output variant</name>\n          <version>36</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>Output description</name>\n          <state>No specifier a, A, no specifier n, no float nor long long, no flags, without multibytes.</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelectSlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GeneralEnableMisra</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVerbose</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LCTinyHeapSize</name>\n          <state>0x10</state>\n        </option>\n        <option>\n          <name>LCNearHeapSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LCFarHeapSize</name>\n          <state>0x1000</state>\n        </option>\n        <option>\n          <name>LCHugeHeapSize</name>\n          <state>0x1000</state>\n        </option>\n        <option>\n          <name>LCsHeapConfigText</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GGNoMULInstruction</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>GenDeviceSelectMenu</name>\n          <state>m328p\tATmega328P</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICCAVR</name>\n      <archiveVersion>6</archiveVersion>\n      <data>\n        <version>17</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CCVariantProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnhancedCore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCVariantMemory</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCPreprocFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocComments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMnemonics</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCListCMessages</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagSuppress</name>\n          <state>Pa050</state>\n        </option>\n        <option>\n          <name>CCDiagRemark</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagWarning</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagError</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCWarnAsError</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCConstInRAM</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCInitInFlash</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCForceVariables</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOldCallConv</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLockRegs</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCAllowList</name>\n          <version>3</version>\n          <state>111111</state>\n        </option>\n        <option>\n          <name>CCCrossCallPassesList</name>\n          <version>8</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCObjUseModuleName</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCObjModuleName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDebugInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCNoErrorMsg</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CC64BitDoubles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CC64KFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableExtBus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableBitDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOptForceCrossCall</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCharIs</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCExt</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRequirePrototypes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCompilerRuntimeInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>newCCIncludePaths</name>\n          <state>$PROJ_DIR$\\.</state>\n          <state>$PROJ_DIR$\\..\\..</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\avr\\qv\\iar</state>\n        </option>\n        <option>\n          <name>CCStdIncCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEepromSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLockRegsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOutputFile</name>\n          <state>$FILE_BNAME$.r90</state>\n        </option>\n        <option>\n          <name>CompilerMisraOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLibConfigHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>PreInclude</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCOverrideModuleTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleTypeSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCAdditionalCommandLineOptionsSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>IccLang</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccCppDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccAllowVLA</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCppInlineSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccStaticDestr</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccFloatSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOptStrategy</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevel</name>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CCOptLevelSlave</name>\n          <state>3</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>AAVR</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>11</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ACaseSensitivity</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AWarnEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnWhat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnOne</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CDebug</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>MacroChars</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>UndefAsm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefLine</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefTime</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefDate</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefTid</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AListHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AListing</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Includes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacExps</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacExec</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OnlyAssed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MultiLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>TabSpacing</name>\n          <state>8</state>\n        </option>\n        <option>\n          <name>AXRef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDefines</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefInternal</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDual</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OAEnhancedCore</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrOn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrNum</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>ANewIncludes</name>\n          <state>$TOOLKIT_DIR$\\INC\\</state>\n        </option>\n        <option>\n          <name>AsmMultiByteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AavrVariantMemory</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AsmHasElpm</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AsmOutputFile</name>\n          <state>$FILE_BNAME$.r90</state>\n        </option>\n        <option>\n          <name>AStdIncCheck</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CUSTOM</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <extensions></extensions>\n        <cmdline></cmdline>\n        <hasPrio>0</hasPrio>\n      </data>\n    </settings>\n    <settings>\n      <name>BICOMP</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>BUILDACTION</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <prebuild></prebuild>\n        <postbuild></postbuild>\n      </data>\n    </settings>\n    <settings>\n      <name>XLINK</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>16</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>XOutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>dpp-qv.d90</state>\n        </option>\n        <option>\n          <name>OutputFormat</name>\n          <version>11</version>\n          <state>23</state>\n        </option>\n        <option>\n          <name>FormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>SecondaryOutputFile</name>\n          <state>(None for the selected format)</state>\n        </option>\n        <option>\n          <name>XDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AlwaysOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OverlapWarnings</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NoGlobalCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XList</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>SegmentMap</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ListSymbols</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>XIncludes</name>\n          <state>$TOOLKIT_DIR$\\LIB\\</state>\n        </option>\n        <option>\n          <name>ModuleStatus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclFile</name>\n          <state>$TOOLKIT_DIR$\\src\\template\\cfgm328p.xcl</state>\n        </option>\n        <option>\n          <name>XclFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DoFill</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FillerByte</name>\n          <state>0xFF</state>\n        </option>\n        <option>\n          <name>DoCrc</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcSize</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcAlgo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcPoly</name>\n          <state>0x11021</state>\n        </option>\n        <option>\n          <name>CrcCompl</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RangeCheckAlternatives</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressAllWarn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressDiags</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsWarn</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsErr</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ModuleLocalSym</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcBitOrder</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OXSysConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IncludeSuppressed</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ModuleSummary</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabel</name>\n          <state>__program_start</state>\n        </option>\n        <option>\n          <name>DebugInformation</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RuntimeControl</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IoEmulation</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AllowExtraOutput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GenerateExtraOutput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XExtraOutOverride</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ExtraOutputFile</name>\n          <state>dpp-qv.hex</state>\n        </option>\n        <option>\n          <name>ExtraOutputFormat</name>\n          <version>11</version>\n          <state>23</state>\n        </option>\n        <option>\n          <name>ExtraFormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>xcOverrideProgramEntryLabel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabelSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ListOutputFormat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>BufferedTermOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XcRTLibraryFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OXLibIOConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XLinkMisraHandler</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OverlaySystemMap</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RawBinaryFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySymbol</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySegment</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinaryAlign</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CrcAlign</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcInitialValue</name>\n          <state>0x00</state>\n        </option>\n        <option>\n          <name>CrcUnitSize</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogInputFiles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogModuleSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogPrintfScanf</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogSegmentSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogStackDepth</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkStackUsageEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkControlFiles</name>\n          <state></state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileName</name>\n          <state>$LIST_DIR$\\$PROJ_FNAME$.call_graph.cgx</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>XAR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>XAROutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XARInputs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>BILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n  </configuration>\n  <configuration>\n    <name>Release</name>\n    <toolchain>\n      <name>AVR</name>\n    </toolchain>\n    <debug>0</debug>\n    <settings>\n      <name>General</name>\n      <archiveVersion>11</archiveVersion>\n      <data>\n        <version>9</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>GGEnhancedCore</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Variant Memory</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ExePath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>ObjPath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>ListPath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>GGEnableConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GG64KFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GG64BitDoubles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GGFPSLICCOnfig</name>\n          <version>0</version>\n          <state>3</state>\n        </option>\n        <option>\n          <name>LCEnableBitDefs</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>LCHeapSize</name>\n          <state>0x10</state>\n        </option>\n        <option>\n          <name>SCCStackSize</name>\n          <state>0x100</state>\n        </option>\n        <option>\n          <name>SCExtCStack</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SCRStackSize</name>\n          <state>16</state>\n        </option>\n        <option>\n          <name>SCExtRStack</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SCEnableBus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SCAddWaitstate</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SCRamBase</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCRamSize</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCRomBase</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCRomSize</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCNVBase</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCNVSize</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>SCInitWithReti</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GOutputBinary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GGEepromUtil</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GGEepromUtilSize</name>\n          <state>1024</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelect</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RTDescription</name>\n          <state>Use the normal configuration of the C/EC++</state>\n          <state>runtime library. No locale interface,</state>\n          <state>C locale, no file descriptor support,</state>\n          <state>no multibytes in printf and scanf, and</state>\n          <state>no hex floats in strtod.</state>\n        </option>\n        <option>\n          <name>RTConfigPath</name>\n          <state>$TOOLKIT_DIR$\\LIB\\DLIB\\dlAVR-3s-ec_mul-sf-n.h</state>\n        </option>\n        <option>\n          <name>RTLibraryPath</name>\n          <state>$TOOLKIT_DIR$\\LIB\\DLIB\\dlAVR-3s-ec_mul-sf-n.r90</state>\n        </option>\n        <option>\n          <name>Input variant</name>\n          <version>36</version>\n          <state>6</state>\n        </option>\n        <option>\n          <name>Input description</name>\n          <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>\n        </option>\n        <option>\n          <name>Output variant</name>\n          <version>36</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>Output description</name>\n          <state>No specifier a, A, no specifier n, no float nor long long, no flags, without multibytes.</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelectSlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GeneralEnableMisra</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVerbose</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LCTinyHeapSize</name>\n          <state>0x10</state>\n        </option>\n        <option>\n          <name>LCNearHeapSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LCFarHeapSize</name>\n          <state>0x1000</state>\n        </option>\n        <option>\n          <name>LCHugeHeapSize</name>\n          <state>0x1000</state>\n        </option>\n        <option>\n          <name>LCsHeapConfigText</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GGNoMULInstruction</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>GenDeviceSelectMenu</name>\n          <state>m328p\tATmega328P</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICCAVR</name>\n      <archiveVersion>6</archiveVersion>\n      <data>\n        <version>17</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CCVariantProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnhancedCore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCVariantMemory</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCDefines</name>\n          <state>NDEBUG</state>\n        </option>\n        <option>\n          <name>CCPreprocFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocComments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMnemonics</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCListCMessages</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagSuppress</name>\n          <state>Pa050</state>\n        </option>\n        <option>\n          <name>CCDiagRemark</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagWarning</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagError</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCWarnAsError</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCConstInRAM</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCInitInFlash</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCForceVariables</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOldCallConv</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLockRegs</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCAllowList</name>\n          <version>3</version>\n          <state>111111</state>\n        </option>\n        <option>\n          <name>CCCrossCallPassesList</name>\n          <version>8</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCObjUseModuleName</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCObjModuleName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDebugInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCNoErrorMsg</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CC64BitDoubles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CC64KFlash</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableExtBus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableBitDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOptForceCrossCall</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCharIs</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCExt</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRequirePrototypes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCompilerRuntimeInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>newCCIncludePaths</name>\n          <state>$PROJ_DIR$\\.</state>\n          <state>$PROJ_DIR$\\..\\..</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\avr\\qv\\iar</state>\n        </option>\n        <option>\n          <name>CCStdIncCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEepromSize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLockRegsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOutputFile</name>\n          <state>$FILE_BNAME$.r90</state>\n        </option>\n        <option>\n          <name>CompilerMisraOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCLibConfigHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>PreInclude</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCOverrideModuleTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleTypeSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCAdditionalCommandLineOptionsSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>IccLang</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccCppDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccAllowVLA</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCppInlineSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccStaticDestr</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccFloatSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOptStrategy</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevel</name>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CCOptLevelSlave</name>\n          <state>3</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>AAVR</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>11</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ACaseSensitivity</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AWarnEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnWhat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnOne</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CDebug</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>MacroChars</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>UndefAsm</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefLine</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefTime</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefDate</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UndefTid</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AListHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AListing</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Includes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacExps</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacExec</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OnlyAssed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MultiLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>TabSpacing</name>\n          <state>8</state>\n        </option>\n        <option>\n          <name>AXRef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDefines</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefInternal</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDual</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OAEnhancedCore</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrOn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrNum</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>ANewIncludes</name>\n          <state>$TOOLKIT_DIR$\\INC\\</state>\n        </option>\n        <option>\n          <name>AsmMultiByteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AavrVariantMemory</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AsmHasElpm</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AsmOutputFile</name>\n          <state>$FILE_BNAME$.r90</state>\n        </option>\n        <option>\n          <name>AStdIncCheck</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CUSTOM</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <extensions></extensions>\n        <cmdline></cmdline>\n        <hasPrio>0</hasPrio>\n      </data>\n    </settings>\n    <settings>\n      <name>BICOMP</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>BUILDACTION</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <prebuild></prebuild>\n        <postbuild></postbuild>\n      </data>\n    </settings>\n    <settings>\n      <name>XLINK</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <version>16</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>XOutOverride</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>dpp-qv.hex</state>\n        </option>\n        <option>\n          <name>OutputFormat</name>\n          <version>11</version>\n          <state>23</state>\n        </option>\n        <option>\n          <name>FormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>SecondaryOutputFile</name>\n          <state>(None for the selected format)</state>\n        </option>\n        <option>\n          <name>XDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AlwaysOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OverlapWarnings</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NoGlobalCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XList</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>SegmentMap</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ListSymbols</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>XIncludes</name>\n          <state>$TOOLKIT_DIR$\\LIB\\</state>\n        </option>\n        <option>\n          <name>ModuleStatus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclFile</name>\n          <state>$TOOLKIT_DIR$\\src\\template\\cfgm328p.xcl</state>\n        </option>\n        <option>\n          <name>XclFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DoFill</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FillerByte</name>\n          <state>0xFF</state>\n        </option>\n        <option>\n          <name>DoCrc</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcSize</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcAlgo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcPoly</name>\n          <state>0x11021</state>\n        </option>\n        <option>\n          <name>CrcCompl</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RangeCheckAlternatives</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressAllWarn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressDiags</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsWarn</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsErr</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ModuleLocalSym</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcBitOrder</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OXSysConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IncludeSuppressed</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ModuleSummary</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabel</name>\n          <state>__program_start</state>\n        </option>\n        <option>\n          <name>DebugInformation</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RuntimeControl</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IoEmulation</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AllowExtraOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GenerateExtraOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExtraOutputFile</name>\n          <state>dpp-qv.a90</state>\n        </option>\n        <option>\n          <name>ExtraOutputFormat</name>\n          <version>11</version>\n          <state>25</state>\n        </option>\n        <option>\n          <name>ExtraFormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>xcOverrideProgramEntryLabel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabelSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ListOutputFormat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>BufferedTermOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XcRTLibraryFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OXLibIOConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XLinkMisraHandler</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OverlaySystemMap</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RawBinaryFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySymbol</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySegment</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinaryAlign</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CrcAlign</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcInitialValue</name>\n          <state>0x00</state>\n        </option>\n        <option>\n          <name>CrcUnitSize</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogInputFiles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogModuleSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogPrintfScanf</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogSegmentSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogStackDepth</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkStackUsageEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkControlFiles</name>\n          <state></state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileName</name>\n          <state>$LIST_DIR$\\$PROJ_FNAME$.call_graph.cgx</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>XAR</name>\n      <archiveVersion>2</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>XAROutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XARInputs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>BILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n  </configuration>\n  <group>\n    <name>Application</name>\n    <file>\n      <name>$PROJ_DIR$\\bsp.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\bsp.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\dpp.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\main.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\philo.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\table.c</name>\n    </file>\n  </group>\n  <group>\n    <name>QP</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qepn.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qfn.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qvn\\qvn.c</name>\n    </file>\n  </group>\n</project>\n\n\n"
  },
  {
    "path": "examples/avr/dpp_arduino-uno/qv/iar/dpp-qv.eww",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<workspace>\n  <project>\n    <path>$WS_DIR$\\dpp-qv.ewp</path>\n  </project>\n  <batchBuild/>\n</workspace>\n\n\n"
  },
  {
    "path": "examples/avr/dpp_arduino-uno/qv/iar/flash.bat",
    "content": "@echo off\n::============================================================================\n:: Batch file to program the flash of Arduino-UNO\n:: \n:: NOTE: requires the AVRDUDE uitlity which is included in the QTools\n:: collection\n:: \nsetlocal\n\n@echo off\n@echo Load a given hex file to the flash of Arduino-UNO\n@echo usage:   flash hex-file [COM-port]\n@echo example: flash dbg\\blinky-qk.hex\n@echo example: flash dbg\\blinky-qk.hex COM5\n\n::----------------------------------------------------------------------------\n:: NOTE: Adjust the following symbol to the location of the\n:: AVRDUDE utility on your machine \n::\nset AVRDUDE=avrdude.exe\n\nset COM_PORT=COM5\nif [%2] NEQ [] set COM_PORT=%2\n\nif [\"%~1\"]==[\"\"] (\n    @echo The hex file missing\n    @goto end\n)\nif not exist %~s1 (\n    @echo The hex file '%1' does not exist\n    @goto end\n)\n\n@echo on\n%AVRDUDE% -p atmega328p -c arduino -P %COM_PORT% -b 115200 -D -v -U flash:w:%1:i\n@echo off\n\n:end\n\nendlocal"
  },
  {
    "path": "examples/avr/dpp_arduino-uno/qv/iar/spy.bat",
    "content": "set COM_PORT=COM5\nif [%1] NEQ [] set COM_PORT=%1\n\nqspy -c%COM_PORT% -b115200 -O2 -F2 -E1 -P1 -B1"
  },
  {
    "path": "examples/avr/dpp_arduino-uno/table.c",
    "content": "/*.$file${.::table.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: dpp.qm\n* File:  ${.::table.c}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::table.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"  /* QP-nano port */\n#include \"bsp.h\"  /* Board Support Package */\n#include \"dpp.h\"  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(\"table\")\n\n/* Active object class -----------------------------------------------------*/\n/*.$declare${AOs::Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table} ...........................................................*/\ntypedef struct Table {\n/* protected: */\n    QActive super;\n\n/* private: */\n    uint8_t fork[N_PHILO];\n    uint8_t isHungry[N_PHILO];\n} Table;\n\n/* protected: */\nstatic QState Table_initial(Table * const me);\nstatic QState Table_active(Table * const me);\nstatic QState Table_serving(Table * const me);\nstatic QState Table_paused(Table * const me);\n/*.$enddecl${AOs::Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Global objects ----------------------------------------------------------*/\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 650U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.5.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Table} ........................................................*/\nstruct Table AO_Table;\n/*.$enddef${AOs::AO_Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n#define RIGHT(n_) ((uint8_t)(((n_) + (N_PHILO - 1U)) % N_PHILO))\n#define LEFT(n_)  ((uint8_t)(((n_) + 1U) % N_PHILO))\n#define FREE      ((uint8_t)0)\n#define USED      ((uint8_t)1)\n\n/*..........................................................................*/\n/*.$define${AOs::Table_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table_ctor} ......................................................*/\nvoid Table_ctor(void) {\n    uint8_t n;\n    Table *me = &AO_Table;\n\n    QActive_ctor(&me->super, Q_STATE_CAST(&Table_initial));\n    for (n = 0U; n < N_PHILO; ++n) {\n        me->fork[n] = FREE;\n        me->isHungry[n] = 0U;\n    }\n}\n/*.$enddef${AOs::Table_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table} ...........................................................*/\n/*.${AOs::Table::SM} .......................................................*/\nstatic QState Table_initial(Table * const me) {\n    /*.${AOs::Table::SM::initial} */\n    uint8_t n;\n    for (n = 0U; n < N_PHILO; ++n) {\n        me->fork[n] = FREE;\n        me->isHungry[n] = 0U;\n        BSP_displayPhilStat(n, \"thinking\");\n    }\n    return Q_TRAN(&Table_serving);\n}\n/*.${AOs::Table::SM::active} ...............................................*/\nstatic QState Table_active(Table * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Table::SM::active::TERMINATE} */\n        case TERMINATE_SIG: {\n            BSP_terminate(0);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::EAT} */\n        case EAT_SIG: {\n            Q_ERROR();\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Table::SM::active::serving} ......................................*/\nstatic QState Table_serving(Table * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Table::SM::active::serving} */\n        case Q_ENTRY_SIG: {\n            uint8_t n;\n            for (n = 0U; n < N_PHILO; ++n) { /* give permissions to eat... */\n                if ((me->isHungry[n] != 0U)\n                    && (me->fork[LEFT(n)] == FREE)\n                    && (me->fork[n] == FREE))\n                {\n                    QActive *philo;\n\n                    me->fork[LEFT(n)] = USED;\n                    me->fork[n] = USED;\n                    philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\n                    QACTIVE_POST(philo, EAT_SIG, n);\n                    me->isHungry[n] = 0U;\n                    BSP_displayPhilStat(n, \"eating  \");\n                }\n            }\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::HUNGRY} */\n        case HUNGRY_SIG: {\n            uint8_t n, m;\n            QActive *philo;\n\n            n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* phil ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n\n            BSP_displayPhilStat(n, \"hungry  \");\n            m = LEFT(n);\n            /*.${AOs::Table::SM::active::serving::HUNGRY::[bothfree]} */\n            if ((me->fork[m] == FREE) && (me->fork[n] == FREE)) {\n                me->fork[m] = USED;\n                me->fork[n] = USED;\n                philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\n                QACTIVE_POST(philo, EAT_SIG, n);\n                BSP_displayPhilStat(n, \"eating  \");\n                status_ = Q_HANDLED();\n            }\n            /*.${AOs::Table::SM::active::serving::HUNGRY::[else]} */\n            else {\n                me->isHungry[n] = 1U;\n                status_ = Q_HANDLED();\n            }\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::DONE} */\n        case DONE_SIG: {\n            uint8_t n, m;\n            QActive *philo;\n\n            n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* phil ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n\n            BSP_displayPhilStat(n, \"thinking\");\n            m = LEFT(n);\n            /* both forks of Phil[n] must be used */\n            Q_ASSERT((me->fork[n] == USED) && (me->fork[m] == USED));\n\n            me->fork[m] = FREE;\n            me->fork[n] = FREE;\n            m = RIGHT(n); /* check the right neighbor */\n\n            if ((me->isHungry[m] != 0U) && (me->fork[m] == FREE)) {\n                me->fork[n] = USED;\n                me->fork[m] = USED;\n                me->isHungry[m] = 0U;\n                philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n                QACTIVE_POST(philo, EAT_SIG, m);\n                BSP_displayPhilStat(m, \"eating  \");\n            }\n            m = LEFT(n); /* check the left neighbor */\n            n = LEFT(m); /* left fork of the left neighbor */\n            if ((me->isHungry[m] != 0U) && (me->fork[n] == FREE)) {\n                me->fork[m] = USED;\n                me->fork[n] = USED;\n                me->isHungry[m] = 0U;\n                philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n                QACTIVE_POST(philo, EAT_SIG, m);\n                BSP_displayPhilStat(m, \"eating  \");\n            }\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::EAT} */\n        case EAT_SIG: {\n            Q_ERROR();\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::PAUSE} */\n        case PAUSE_SIG: {\n            status_ = Q_TRAN(&Table_paused);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Table_active);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Table::SM::active::paused} .......................................*/\nstatic QState Table_paused(Table * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Table::SM::active::paused} */\n        case Q_ENTRY_SIG: {\n            BSP_displayPaused(1U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused} */\n        case Q_EXIT_SIG: {\n            BSP_displayPaused(0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused::SERVE} */\n        case SERVE_SIG: {\n            status_ = Q_TRAN(&Table_serving);\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused::HUNGRY} */\n        case HUNGRY_SIG: {\n            uint8_t n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* philo ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n            me->isHungry[n] = 1U;\n            BSP_displayPhilStat(n, \"hungry  \");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused::DONE} */\n        case DONE_SIG: {\n            uint8_t n, m;\n\n            n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* phil ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n\n            BSP_displayPhilStat(n, \"thinking\");\n            m = LEFT(n);\n            /* both forks of Phil[n] must be used */\n            Q_ASSERT((me->fork[n] == USED) && (me->fork[m] == USED));\n\n            me->fork[m] = FREE;\n            me->fork[n] = FREE;\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Table_active);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${AOs::Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/msp430/README.url",
    "content": "[InternetShortcut]\nURL=http://www.state-machine.com/qpn/exa_msp430.html\nIconFile=http://www.state-machine.com/qp.ico\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430f5529lp/README.url",
    "content": "[InternetShortcut]\nURL=http://www.state-machine.com/qpn/msp430_blinky_msp-exp430f5529lp.html\nIconFile=http://www.state-machine.com/qp.ico\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430f5529lp/blinky.c",
    "content": "/*****************************************************************************\n* Product: Simple Blinky example\n* Last updated for version 5.4.0\n* Last updated on  2015-05-18\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, www.state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"blinky.h\"\n#include \"bsp.h\"\n\n//Q_DEFINE_THIS_FILE\n\n/*..........................................................................*/\ntypedef struct BlinkyTag {  /* the Blinky active object */\n    QActive super;          /* inherit QActive */\n} Blinky;\n\n/* hierarchical state machine ... */\nstatic QState Blinky_initial(Blinky * const me);\nstatic QState Blinky_off    (Blinky * const me);\nstatic QState Blinky_on     (Blinky * const me);\n\n/* Global objects ----------------------------------------------------------*/\nBlinky AO_Blinky;   /* the single instance of the Blinky AO */\n\n/*..........................................................................*/\nvoid Blinky_ctor(void) {\n    Blinky * const me = &AO_Blinky;\n    QActive_ctor(&me->super, Q_STATE_CAST(&Blinky_initial));\n}\n\n/* HSM definition ----------------------------------------------------------*/\nQState Blinky_initial(Blinky * const me) {\n    QActive_armX((QActive *)me, 0U,\n                 BSP_TICKS_PER_SEC/2U, BSP_TICKS_PER_SEC/2U);\n    return Q_TRAN(&Blinky_off);\n}\n/*..........................................................................*/\nQState Blinky_off(Blinky * const me) {\n    QState status;\n    switch (Q_SIG(me)) {\n        case Q_ENTRY_SIG: {\n            BSP_ledOff();\n            status = Q_HANDLED();\n            break;\n        }\n        case Q_TIMEOUT_SIG: {\n            status = Q_TRAN(&Blinky_on);\n            break;\n        }\n        default: {\n            status = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status;\n}\n/*..........................................................................*/\nQState Blinky_on(Blinky * const me) {\n    QState status;\n    switch (Q_SIG(me)) {\n        case Q_ENTRY_SIG: {\n            BSP_ledOn();\n            status = Q_HANDLED();\n            break;\n        }\n        case Q_TIMEOUT_SIG: {\n            status = Q_TRAN(&Blinky_off);\n            break;\n        }\n        default: {\n            status = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status;\n}\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430f5529lp/blinky.h",
    "content": "/*****************************************************************************\n* Product: simple \"Blinky\" example\n* Last updated for version 5.4.0\n* Last updated on  2015-05-18\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, www.state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BLINKY_H\n#define BLINKY_H\n\nenum BlinkySignals {\n    DUMMY_SIG = Q_USER_SIG,\n    MAX_PUB_SIG,          /* the last published signal */\n\n    TIMEOUT_SIG,\n    MAX_SIG               /* the last signal */\n};\n\nvoid Blinky_ctor(void);\n\nextern struct BlinkyTag AO_Blinky;\n\n#endif /* BLINKY_H */\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430f5529lp/bsp.h",
    "content": "/*****************************************************************************\n* Product: Simple Blinky example\n* Last updated for version 5.4.0\n* Last updated on  2015-05-18\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, www.state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BSP_H\n#define BSP_H\n\n#define BSP_TICKS_PER_SEC    100U\n\nvoid BSP_init(void);\nvoid BSP_ledOff(void);\nvoid BSP_ledOn(void);\n\n#endif /* BSP_H */\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430f5529lp/main.c",
    "content": "/*****************************************************************************\n* Product: \"Blinky\" example\n* Last Updated for Version: 5.8.0\n* Date of the Last Update:  2016-11-06\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"     /* QP-nano API */\n#include \"bsp.h\"     /* Board Support Package */\n#include \"blinky.h\"  /* Application interface */\n\n/* Local-scope objects -----------------------------------------------------*/\nstatic QEvt l_blinkyQSto[10]; /* Event queue storage for Blinky */\n\n/* QF_active[] array defines all active object control blocks --------------*/\nQActiveCB const Q_ROM QF_active[] = {\n    { (QActive *)0,           (QEvt *)0,        0U                      },\n    { (QActive *)&AO_Blinky,  l_blinkyQSto,     Q_DIM(l_blinkyQSto)     }\n};\n\n/*..........................................................................*/\nint main(void) {\n    Blinky_ctor(); /* instantiate all Blinky AO */\n\n    QF_init(Q_DIM(QF_active)); /* initialize the QF-nano framework */\n    BSP_init();      /* initialize the Board Support Package */\n\n    return QF_run(); /* transfer control to QF-nano */\n}\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430f5529lp/qk/bsp.c",
    "content": "/*****************************************************************************\n* Product: \"Blinky\" on MSP-EXP430F5529LP, preemptive QK-nano kernel\n* Last Updated for Version: 5.4.0\n* Date of the Last Update:  2015-04-04\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"blinky.h\"\n#include \"bsp.h\"\n\n#include <msp430f5529.h>  /* MSP430 variant used */\n/* add other drivers if necessary... */\n\n//Q_DEFINE_THIS_FILE\n\n/* Local-scope objects -----------------------------------------------------*/\n/* 1MHz clock setting, see BSP_init() */\n#define BSP_MCK     1000000U\n#define BSP_SMCLK   1000000U\n\n#define LED1        (1U << 0)\n#define LED2        (1U << 7)\n\n#define BTN_S1      (1U << 1)\n\n\n/* ISRs used in this project ===============================================*/\n#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)\n    __interrupt void TIMER0_A0_ISR (void); /* prototype */\n    #pragma vector=TIMER0_A0_VECTOR\n    __interrupt void TIMER0_A0_ISR(void)\n#elif defined(__GNUC__)\n    __attribute__ ((interrupt(TIMER0_A0_VECTOR)))\n    void TIMER0_A0_ISR (void)\n#else\n    #error Compiler not supported!\n#endif\n{\n    QK_ISR_ENTRY();    /* inform QK about entering the ISR */\n\n    QF_tickXISR(0U);   /* process time events for rate 0 */\n\n    QK_ISR_EXIT();     /* inform QK about exiting the ISR */\n}\n\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    WDTCTL = WDTPW | WDTHOLD; /* stop watchdog timer */\n\n    /* leave the MCK and SMCLK at default DCO setting */\n\n    P1DIR |= LED1;  /* set LED1 pin to output  */\n    P4DIR |= LED2;  /* set LED2 pin to output  */\n}\n/*..........................................................................*/\nvoid BSP_ledOff(void) {\n    P1OUT &= ~LED1; /* turn LED1 off */\n}\n/*..........................................................................*/\nvoid BSP_ledOn(void) {\n    P1OUT |= LED1;  /* turn LED1 on */\n}\n\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    TA0CCTL0 = CCIE; /* CCR0 interrupt enabled */\n    TA0CCR0 = BSP_MCK / BSP_TICKS_PER_SEC;\n    TA0CTL = TASSEL_2 + MC_1 + TACLR; /* SMCLK, upmode, clear TAR */\n}\n/*..........................................................................*/\nvoid QK_onIdle(void) {\n    /* toggle LED2 on and then off, see NOTE1 */\n    QF_INT_DISABLE();\n    P4OUT |=  LED2;        /* turn LED2 on */\n    P4OUT &= ~LED2;        /* turn LED2 off */\n    QF_INT_ENABLE();\n\n#ifdef NDEBUG\n    /* Put the CPU and peripherals to the low-power mode.\n    * you might need to customize the clock management for your application,\n    * see the datasheet for your particular MSP430 MCU.\n    */\n    __low_power_mode_1(); /* Enter LPM1; also ENABLES interrupts */\n#endif\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const file, int line) {\n    /* implement the error-handling policy for your application!!! */\n    QF_INT_DISABLE(); /* disable all interrupts */\n\n    /* cause the reset of the CPU... */\n    WDTCTL = WDTPW | WDTHOLD;\n    __asm(\"    push &0xFFFE\");\n    /* return from function does the reset */\n}\n\n/*****************************************************************************\n* NOTE1:\n* One of the LEDs is used to visualize the idle loop activity. The brightness\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430f5529lp/qk/ccs/.ccsproject",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<?ccsproject version=\"1.0\"?>\n<projectOptions>\n\t<deviceVariant value=\"MSP430F5529\"/>\n\t<deviceFamily value=\"MSP430\"/>\n\t<codegenToolVersion value=\"4.4.4\"/>\n\t<isElfFormat value=\"true\"/>\n\t<connection value=\"common/targetdb/connections/TIMSP430-USB.xml\"/>\n\t<linkerCommandFile value=\"lnk_msp430f5529.cmd\"/>\n\t<rts value=\"libc.a\"/>\n\t<createSlaveProjects value=\"\"/>\n\t<templateProperties value=\"id=com.ti.common.project.core.emptyProjectWithMainTemplate_msp430,\"/>\n\t<isTargetManual value=\"false\"/>\n</projectOptions>\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430f5529lp/qk/ccs/.cproject",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<?fileVersion 4.0.0?><cproject storage_type_id=\"org.eclipse.cdt.core.XmlProjectDescriptionStorage\">\n\t<storageModule configRelations=\"2\" moduleId=\"org.eclipse.cdt.core.settings\">\n\t\t<cconfiguration id=\"com.ti.ccstudio.buildDefinitions.MSP430.Debug.281779414\">\n\t\t\t<storageModule buildSystemId=\"org.eclipse.cdt.managedbuilder.core.configurationDataProvider\" id=\"com.ti.ccstudio.buildDefinitions.MSP430.Debug.281779414\" moduleId=\"org.eclipse.cdt.core.settings\" name=\"Debug\">\n\t\t\t\t<externalSettings/>\n\t\t\t\t<extensions>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.binaryparser.CoffParser\" point=\"org.eclipse.cdt.core.BinaryParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.CoffErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.LinkErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.AsmErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GmakeErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t</extensions>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t\t\t<configuration artifactExtension=\"out\" artifactName=\"${ProjName}\" buildProperties=\"\" cleanCommand=\"${CG_CLEAN_CMD}\" description=\"\" id=\"com.ti.ccstudio.buildDefinitions.MSP430.Debug.281779414\" name=\"Debug\" parent=\"com.ti.ccstudio.buildDefinitions.MSP430.Debug\" postbuildStep=\"\" prebuildStep=\"\">\n\t\t\t\t\t<folderInfo id=\"com.ti.ccstudio.buildDefinitions.MSP430.Debug.281779414.\" name=\"/\" resourcePath=\"\">\n\t\t\t\t\t\t<toolChain id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.DebugToolchain.1024869431\" name=\"TI Build Tools\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.DebugToolchain\" targetTool=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerDebug.1276183591\">\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1860906002\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_CONFIGURATION_ID=MSP430F5529\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_ENDIANNESS=little\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_FORMAT=ELF\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"LINKER_COMMAND_FILE=lnk_msp430f5529.cmd\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"RUNTIME_SUPPORT_LIBRARY=libc.a\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"CCS_MBS_VERSION=6.1.3\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_TYPE=executable\"/>\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.974183235\" name=\"Compiler version\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION\" value=\"16.9.6.LTS\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<targetPlatform id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.targetPlatformDebug.1222707459\" name=\"Platform\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.targetPlatformDebug\"/>\n\t\t\t\t\t\t\t<builder buildPath=\"${BuildDirectory}\" id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.builderDebug.305341726\" keepEnvironmentInBuildfile=\"false\" name=\"GNU Make\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.builderDebug\"/>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.compilerDebug.1981169979\" name=\"MSP430 Compiler\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.compilerDebug\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEFINE.1696836409\" name=\"Pre-define NAME (--define, -D)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEFINE\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"__MSP430F5529__\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DATA_MODEL.466337506\" name=\"Specify the data memory model. (--data_model)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DATA_MODEL\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DATA_MODEL.small\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY.976147949\" name=\"Inline hardware multiply version of RTS mpy routine (--use_hw_mpy)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY.F5\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU21.441791420\" name=\"Workaround specified silicon errata (--silicon_errata) [CPU21]\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU21\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU22.1990186221\" name=\"Workaround specified silicon errata (--silicon_errata) [CPU22]\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU22\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU23.1244598776\" name=\"Workaround specified silicon errata (--silicon_errata) [CPU23]\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU23\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU40.1768760630\" name=\"Workaround specified silicon errata (--silicon_errata) [CPU40]\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU40\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION.293554924\" name=\"Silicon version (--silicon_version, -v)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION.mspx\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT.1838592401\" name=\"Level of printf/scanf support required (--printf_support)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT.minimal\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.CODE_MODEL.1690821878\" name=\"Specify the code memory model. (--code_model)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.CODE_MODEL\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.CODE_MODEL.large\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.INCLUDE_PATH.1425066349\" name=\"Add dir to #include search path (--include_path, -I)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.INCLUDE_PATH\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CCS_BASE_ROOT}/msp430/include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CCS_BASE_ROOT}/msp430/include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}/.&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}/../..&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}/../../../../../include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}/../../../../../ports/msp430/qk/ccs&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CG_TOOL_ROOT}/include&quot;\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.1680171641\" name=\"Debugging model\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WARNING.1537719174\" name=\"Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WARNING\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"225\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP.1191862277\" name=\"Wrap diagnostic messages (--diag_wrap)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP.off\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DISPLAY_ERROR_NUMBER.1235462252\" name=\"Emit diagnostic identifier numbers (--display_error_number, -pden)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DISPLAY_ERROR_NUMBER\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI.1082202891\" name=\"Application binary interface (--abi)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI.eabi\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__C_SRCS.1888389535\" name=\"C Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__C_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__CPP_SRCS.1111840038\" name=\"C++ Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__CPP_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM_SRCS.1080521192\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM2_SRCS.1493668374\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM2_SRCS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerDebug.1276183591\" name=\"MSP430 Linker\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerDebug\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.LIBRARY.1283164999\" name=\"Include library file or command file as input (--library, -l)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.LIBRARY\" valueType=\"libs\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"libc.a\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"libmath.a\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.SEARCH_PATH.1142315878\" name=\"Add &lt;dir&gt; to library search path (--search_path, -i)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.SEARCH_PATH\" valueType=\"libPaths\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CCS_BASE_ROOT}/msp430/include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CCS_BASE_ROOT}/msp430/include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CG_TOOL_ROOT}/lib&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CG_TOOL_ROOT}/include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CCS_BASE_ROOT}/msp430/lib/5xx_6xx_FRxx\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY.1114285995\" name=\"Deprecated: Now a compiler option instead of linker option (--use_hw_mpy)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY.F5\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.CINIT_HOLD_WDT.824019777\" name=\"Hold watchdog timer during cinit auto-initialization (--cinit_hold_wdt)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.CINIT_HOLD_WDT\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.CINIT_HOLD_WDT.on\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.HEAP_SIZE.1342008311\" name=\"Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.HEAP_SIZE\" value=\"0\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.STACK_SIZE.868528086\" name=\"Set C system stack size (--stack_size, -stack)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.STACK_SIZE\" value=\"160\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.MAP_FILE.1461539718\" name=\"Link information (map) listed into &lt;file&gt; (--map_file, -m)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.MAP_FILE\" value=\"&quot;${ProjName}.map&quot;\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.OUTPUT_FILE.1930381430\" name=\"Specify output file name (--output_file, -o)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.OUTPUT_FILE\" value=\"${ProjName}.out\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP.808945606\" name=\"Wrap diagnostic messages (--diag_wrap)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP.off\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DISPLAY_ERROR_NUMBER.291428156\" name=\"Emit diagnostic identifier numbers (--display_error_number)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DISPLAY_ERROR_NUMBER\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.XML_LINK_INFO.1053314401\" name=\"Detailed link information data-base into &lt;file&gt; (--xml_link_info, -xml_link_info)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.XML_LINK_INFO\" value=\"&quot;${ProjName}_linkInfo.xml&quot;\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD_SRCS.2085136003\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD2_SRCS.1703072580\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD2_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__GEN_CMDS.67223880\" name=\"Generated Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__GEN_CMDS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.1503949487\" name=\"MSP430 Hex Utility\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.ROMWIDTH.728863482\" name=\"Specify rom width (--romwidth, -romwidth=width)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.ROMWIDTH\" value=\"8\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.MEMWIDTH.1656708161\" name=\"Specify memory width (--memwidth, -memwidth=width)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.MEMWIDTH\" value=\"8\" valueType=\"string\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t</toolChain>\n\t\t\t\t\t</folderInfo>\n\t\t\t\t\t<folderInfo id=\"com.ti.ccstudio.buildDefinitions.MSP430.Debug.281779414.QP\" name=\"QP\" resourcePath=\"QP\">\n\t\t\t\t\t\t<toolChain id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.DebugToolchain.438209818\" name=\"TI Build Tools\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.DebugToolchain\" unusedChildren=\"\">\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1860906002.1630395256\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1860906002\"/>\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.974183235.1650286528\" name=\"Compiler version\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.974183235\"/>\n\t\t\t\t\t\t\t<targetPlatform id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.targetPlatformDebug\" name=\"Platform\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.targetPlatformDebug\"/>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.compilerDebug.1248660565\" name=\"MSP430 Compiler\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.compilerDebug.1981169979\">\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__C_SRCS.1135590883\" name=\"C Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__C_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__CPP_SRCS.810453314\" name=\"C++ Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__CPP_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM_SRCS.600544928\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM2_SRCS.1500499309\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM2_SRCS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerDebug.1379502625\" name=\"MSP430 Linker\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerDebug.1276183591\"/>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.1828111333\" name=\"MSP430 Hex Utility\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.1503949487\"/>\n\t\t\t\t\t\t</toolChain>\n\t\t\t\t\t</folderInfo>\n\t\t\t\t\t<sourceEntries>\n\t\t\t\t\t\t<entry excluding=\"QP/qfn_init.c|QP/qs.c|QP/qs_fp.c|QP/qs_64bit.c|QP/qv.c\" flags=\"VALUE_WORKSPACE_PATH|RESOLVED\" kind=\"sourcePath\" name=\"\"/>\n\t\t\t\t\t</sourceEntries>\n\t\t\t\t</configuration>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"org.eclipse.cdt.core.externalSettings\"/>\n\t\t</cconfiguration>\n\t\t<cconfiguration id=\"com.ti.ccstudio.buildDefinitions.MSP430.Release.271469359\">\n\t\t\t<storageModule buildSystemId=\"org.eclipse.cdt.managedbuilder.core.configurationDataProvider\" id=\"com.ti.ccstudio.buildDefinitions.MSP430.Release.271469359\" moduleId=\"org.eclipse.cdt.core.settings\" name=\"Release\">\n\t\t\t\t<externalSettings/>\n\t\t\t\t<extensions>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.binaryparser.CoffParser\" point=\"org.eclipse.cdt.core.BinaryParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.CoffErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.LinkErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.AsmErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GmakeErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t</extensions>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t\t\t<configuration artifactExtension=\"out\" artifactName=\"${ProjName}\" buildProperties=\"\" cleanCommand=\"${CG_CLEAN_CMD}\" description=\"\" id=\"com.ti.ccstudio.buildDefinitions.MSP430.Release.271469359\" name=\"Release\" parent=\"com.ti.ccstudio.buildDefinitions.MSP430.Release\" postbuildStep=\"\" prebuildStep=\"\">\n\t\t\t\t\t<folderInfo id=\"com.ti.ccstudio.buildDefinitions.MSP430.Release.271469359.\" name=\"/\" resourcePath=\"\">\n\t\t\t\t\t\t<toolChain id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.ReleaseToolchain.1603150228\" name=\"TI Build Tools\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.ReleaseToolchain\" targetTool=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerRelease.1134438285\">\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1515928149\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_CONFIGURATION_ID=MSP430F5529\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_ENDIANNESS=little\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_FORMAT=ELF\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"LINKER_COMMAND_FILE=lnk_msp430f5529.cmd\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"RUNTIME_SUPPORT_LIBRARY=libc.a\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"CCS_MBS_VERSION=6.1.3\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_TYPE=executable\"/>\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.58463322\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION\" value=\"16.9.6.LTS\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<targetPlatform id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.targetPlatformRelease.1886160878\" name=\"Platform\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.targetPlatformRelease\"/>\n\t\t\t\t\t\t\t<builder buildPath=\"${BuildDirectory}\" id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.builderRelease.372950795\" name=\"GNU Make.Release\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.builderRelease\"/>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.compilerRelease.804023402\" name=\"MSP430 Compiler\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.compilerRelease\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEFINE.1689328496\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEFINE\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"NDEBUG\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"__MSP430F5529__\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DATA_MODEL.1157737449\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DATA_MODEL\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DATA_MODEL.small\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY.1330838336\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY.F5\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU21.1540390765\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU21\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU22.2049395478\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU22\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU23.278266569\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU23\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU40.1682136035\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU40\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION.321405221\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION.mspx\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT.1802041917\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT.minimal\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.INCLUDE_PATH.1380952761\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.INCLUDE_PATH\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CCS_BASE_ROOT}/msp430/include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CCS_BASE_ROOT}/msp430/include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}/.&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}/../..&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}/../../../../../include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}/../../../../../ports/msp430/qk/ccs&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CG_TOOL_ROOT}/include&quot;\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WARNING.726829706\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WARNING\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"225\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP.1713925511\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP.off\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DISPLAY_ERROR_NUMBER.1452330696\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DISPLAY_ERROR_NUMBER\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI.2133320152\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI.eabi\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__C_SRCS.2049210860\" name=\"C Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__C_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__CPP_SRCS.910401413\" name=\"C++ Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__CPP_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM_SRCS.623935326\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM2_SRCS.1552516973\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM2_SRCS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerRelease.1134438285\" name=\"MSP430 Linker\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerRelease\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.LIBRARY.574797327\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.LIBRARY\" valueType=\"libs\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"libc.a\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"libmath.a\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.SEARCH_PATH.602885594\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.SEARCH_PATH\" valueType=\"libPaths\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CCS_BASE_ROOT}/msp430/include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CCS_BASE_ROOT}/msp430/include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CG_TOOL_ROOT}/lib&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CG_TOOL_ROOT}/include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CCS_BASE_ROOT}/msp430/lib/5xx_6xx_FRxx\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY.1546039180\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY.F5\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.CINIT_HOLD_WDT.2067039038\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.CINIT_HOLD_WDT\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.CINIT_HOLD_WDT.on\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.HEAP_SIZE.729396078\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.HEAP_SIZE\" value=\"0\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.STACK_SIZE.1845207519\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.STACK_SIZE\" value=\"160\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.MAP_FILE.1890581317\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.MAP_FILE\" value=\"&quot;${ProjName}.map&quot;\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.OUTPUT_FILE.23858303\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.OUTPUT_FILE\" value=\"${ProjName}.out\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP.264643483\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP.off\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DISPLAY_ERROR_NUMBER.2119807841\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DISPLAY_ERROR_NUMBER\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.XML_LINK_INFO.916481580\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.XML_LINK_INFO\" value=\"&quot;${ProjName}_linkInfo.xml&quot;\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD_SRCS.2031914894\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD2_SRCS.1299466617\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD2_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__GEN_CMDS.1354549639\" name=\"Generated Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__GEN_CMDS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.1218682441\" name=\"MSP430 Hex Utility\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.ROMWIDTH.276705173\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.ROMWIDTH\" value=\"8\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.MEMWIDTH.1124720453\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.MEMWIDTH\" value=\"8\" valueType=\"string\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t</toolChain>\n\t\t\t\t\t</folderInfo>\n\t\t\t\t\t<sourceEntries>\n\t\t\t\t\t\t<entry excluding=\"QP/qfn_init.c|QP/qv.c|QP/qs.c|QP/qs_fp.c|QP/qs_64bit.c\" flags=\"VALUE_WORKSPACE_PATH|RESOLVED\" kind=\"sourcePath\" name=\"\"/>\n\t\t\t\t\t</sourceEntries>\n\t\t\t\t</configuration>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"org.eclipse.cdt.core.externalSettings\"/>\n\t\t</cconfiguration>\n\t</storageModule>\n\t<storageModule moduleId=\"org.eclipse.cdt.core.LanguageSettingsProviders\"/>\n\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t<project id=\"blinky-qk_msp-exp430f5529lp.com.ti.ccstudio.buildDefinitions.MSP430.ProjectType.588484058\" name=\"MSP430\" projectType=\"com.ti.ccstudio.buildDefinitions.MSP430.ProjectType\"/>\n\t</storageModule>\n\t<storageModule moduleId=\"scannerConfiguration\"/>\n\t<storageModule moduleId=\"org.eclipse.cdt.core.language.mapping\">\n\t\t<project-mappings>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.asmSource\" language=\"com.ti.ccstudio.core.TIASMLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cHeader\" language=\"com.ti.ccstudio.core.TIGCCLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cSource\" language=\"com.ti.ccstudio.core.TIGCCLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cxxHeader\" language=\"com.ti.ccstudio.core.TIGPPLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cxxSource\" language=\"com.ti.ccstudio.core.TIGPPLanguage\"/>\n\t\t</project-mappings>\n\t</storageModule>\n\t<storageModule moduleId=\"null.endianPreference\"/>\n\t<storageModule moduleId=\"cpuFamily\"/>\n</cproject>\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430f5529lp/qk/ccs/.project",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<projectDescription>\n\t<name>blinky-qk_msp-exp430f5529lp</name>\n\t<comment></comment>\n\t<projects>\n\t</projects>\n\t<buildSpec>\n\t\t<buildCommand>\n\t\t\t<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t\t<buildCommand>\n\t\t\t<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>\n\t\t\t<triggers>full,incremental,</triggers>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t</buildSpec>\n\t<natures>\n\t\t<nature>com.ti.ccstudio.core.ccsNature</nature>\n\t\t<nature>org.eclipse.cdt.core.cnature</nature>\n\t\t<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>\n\t\t<nature>org.eclipse.cdt.core.ccnature</nature>\n\t\t<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>\n\t</natures>\n\t<linkedResources>\n\t\t<link>\n\t\t\t<name>QKn</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/src/qkn</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>QP</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/src/qfn</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>QP_port</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/ports/msp430/qk/ccs</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>blinky.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/blinky.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>blinky.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/blinky.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>bsp.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-1-PROJECT_LOC/bsp.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>bsp.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/bsp.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>main.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/main.c</locationURI>\n\t\t</link>\n\t</linkedResources>\n</projectDescription>\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430f5529lp/qk/ccs/lnk_msp430f5529.cmd",
    "content": "/* ============================================================================ */\n/* Copyright (c) 2014, Texas Instruments Incorporated                           */\n/*  All rights reserved.                                                        */\n/*                                                                              */\n/*  Redistribution and use in source and binary forms, with or without          */\n/*  modification, are permitted provided that the following conditions          */\n/*  are met:                                                                    */\n/*                                                                              */\n/*  *  Redistributions of source code must retain the above copyright           */\n/*     notice, this list of conditions and the following disclaimer.            */\n/*                                                                              */\n/*  *  Redistributions in binary form must reproduce the above copyright        */\n/*     notice, this list of conditions and the following disclaimer in the      */\n/*     documentation and/or other materials provided with the distribution.     */\n/*                                                                              */\n/*  *  Neither the name of Texas Instruments Incorporated nor the names of      */\n/*     its contributors may be used to endorse or promote products derived      */\n/*     from this software without specific prior written permission.            */\n/*                                                                              */\n/*  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" */\n/*  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,       */\n/*  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR      */\n/*  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR            */\n/*  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,       */\n/*  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,         */\n/*  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; */\n/*  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,    */\n/*  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR     */\n/*  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,              */\n/*  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.                          */\n/* ============================================================================ */\n\n/******************************************************************************/\n/* lnk_msp430f5529.cmd - LINKER COMMAND FILE FOR LINKING MSP430F5529 PROGRAMS     */\n/*                                                                            */\n/*   Usage:  lnk430 <obj files...>    -o <out file> -m <map file> lnk.cmd     */\n/*           cl430  <src files...> -z -o <out file> -m <map file> lnk.cmd     */\n/*                                                                            */\n/*----------------------------------------------------------------------------*/\n/* These linker options are for command line linking only.  For IDE linking,  */\n/* you should set your linker options in Project Properties                   */\n/* -c                                               LINK USING C CONVENTIONS  */\n/* -stack  0x0100                                   SOFTWARE STACK SIZE       */\n/* -heap   0x0100                                   HEAP AREA SIZE            */\n/*                                                                            */\n/*----------------------------------------------------------------------------*/\n/* Version: 1.159                                                             */\n/*----------------------------------------------------------------------------*/\n\n/****************************************************************************/\n/* Specify the system memory map                                            */\n/****************************************************************************/\n\nMEMORY\n{\n    SFR                     : origin = 0x0000, length = 0x0010\n    PERIPHERALS_8BIT        : origin = 0x0010, length = 0x00F0\n    PERIPHERALS_16BIT       : origin = 0x0100, length = 0x0100\n    RAM                     : origin = 0x2400, length = 0x2000\n    USBRAM                  : origin = 0x1C00, length = 0x0800\n    INFOA                   : origin = 0x1980, length = 0x0080\n    INFOB                   : origin = 0x1900, length = 0x0080\n    INFOC                   : origin = 0x1880, length = 0x0080\n    INFOD                   : origin = 0x1800, length = 0x0080\n    FLASH                   : origin = 0x4400, length = 0xBB80\n    FLASH2                  : origin = 0x10000,length = 0x14400\n    INT00                   : origin = 0xFF80, length = 0x0002\n    INT01                   : origin = 0xFF82, length = 0x0002\n    INT02                   : origin = 0xFF84, length = 0x0002\n    INT03                   : origin = 0xFF86, length = 0x0002\n    INT04                   : origin = 0xFF88, length = 0x0002\n    INT05                   : origin = 0xFF8A, length = 0x0002\n    INT06                   : origin = 0xFF8C, length = 0x0002\n    INT07                   : origin = 0xFF8E, length = 0x0002\n    INT08                   : origin = 0xFF90, length = 0x0002\n    INT09                   : origin = 0xFF92, length = 0x0002\n    INT10                   : origin = 0xFF94, length = 0x0002\n    INT11                   : origin = 0xFF96, length = 0x0002\n    INT12                   : origin = 0xFF98, length = 0x0002\n    INT13                   : origin = 0xFF9A, length = 0x0002\n    INT14                   : origin = 0xFF9C, length = 0x0002\n    INT15                   : origin = 0xFF9E, length = 0x0002\n    INT16                   : origin = 0xFFA0, length = 0x0002\n    INT17                   : origin = 0xFFA2, length = 0x0002\n    INT18                   : origin = 0xFFA4, length = 0x0002\n    INT19                   : origin = 0xFFA6, length = 0x0002\n    INT20                   : origin = 0xFFA8, length = 0x0002\n    INT21                   : origin = 0xFFAA, length = 0x0002\n    INT22                   : origin = 0xFFAC, length = 0x0002\n    INT23                   : origin = 0xFFAE, length = 0x0002\n    INT24                   : origin = 0xFFB0, length = 0x0002\n    INT25                   : origin = 0xFFB2, length = 0x0002\n    INT26                   : origin = 0xFFB4, length = 0x0002\n    INT27                   : origin = 0xFFB6, length = 0x0002\n    INT28                   : origin = 0xFFB8, length = 0x0002\n    INT29                   : origin = 0xFFBA, length = 0x0002\n    INT30                   : origin = 0xFFBC, length = 0x0002\n    INT31                   : origin = 0xFFBE, length = 0x0002\n    INT32                   : origin = 0xFFC0, length = 0x0002\n    INT33                   : origin = 0xFFC2, length = 0x0002\n    INT34                   : origin = 0xFFC4, length = 0x0002\n    INT35                   : origin = 0xFFC6, length = 0x0002\n    INT36                   : origin = 0xFFC8, length = 0x0002\n    INT37                   : origin = 0xFFCA, length = 0x0002\n    INT38                   : origin = 0xFFCC, length = 0x0002\n    INT39                   : origin = 0xFFCE, length = 0x0002\n    INT40                   : origin = 0xFFD0, length = 0x0002\n    INT41                   : origin = 0xFFD2, length = 0x0002\n    INT42                   : origin = 0xFFD4, length = 0x0002\n    INT43                   : origin = 0xFFD6, length = 0x0002\n    INT44                   : origin = 0xFFD8, length = 0x0002\n    INT45                   : origin = 0xFFDA, length = 0x0002\n    INT46                   : origin = 0xFFDC, length = 0x0002\n    INT47                   : origin = 0xFFDE, length = 0x0002\n    INT48                   : origin = 0xFFE0, length = 0x0002\n    INT49                   : origin = 0xFFE2, length = 0x0002\n    INT50                   : origin = 0xFFE4, length = 0x0002\n    INT51                   : origin = 0xFFE6, length = 0x0002\n    INT52                   : origin = 0xFFE8, length = 0x0002\n    INT53                   : origin = 0xFFEA, length = 0x0002\n    INT54                   : origin = 0xFFEC, length = 0x0002\n    INT55                   : origin = 0xFFEE, length = 0x0002\n    INT56                   : origin = 0xFFF0, length = 0x0002\n    INT57                   : origin = 0xFFF2, length = 0x0002\n    INT58                   : origin = 0xFFF4, length = 0x0002\n    INT59                   : origin = 0xFFF6, length = 0x0002\n    INT60                   : origin = 0xFFF8, length = 0x0002\n    INT61                   : origin = 0xFFFA, length = 0x0002\n    INT62                   : origin = 0xFFFC, length = 0x0002\n    RESET                   : origin = 0xFFFE, length = 0x0002\n}\n\n/****************************************************************************/\n/* Specify the sections allocation into memory                              */\n/****************************************************************************/\n\nSECTIONS\n{\n    .bss        : {} > RAM                  /* Global & static vars              */\n    .data       : {} > RAM                  /* Global & static vars              */\n    .TI.noinit  : {} > RAM                  /* For #pragma noinit                */\n    .sysmem     : {} > RAM                  /* Dynamic memory allocation area    */\n    .stack      : {} > RAM (HIGH)           /* Software system stack             */\n\n#ifndef __LARGE_DATA_MODEL__\n    .text       : {}>> FLASH                /* Code                              */\n#else\n    .text       : {}>> FLASH2 | FLASH       /* Code                              */\n#endif\n    .text:_isr  : {} > FLASH                /* ISR Code space                    */\n    .cinit      : {} > FLASH                /* Initialization tables             */\n#ifndef __LARGE_DATA_MODEL__\n    .const      : {} > FLASH                /* Constant data                     */\n#else\n    .const      : {} > FLASH | FLASH2       /* Constant data                     */\n#endif\n    .cio        : {} > RAM                  /* C I/O Buffer                      */\n\n    .pinit      : {} > FLASH                /* C++ Constructor tables            */\n    .init_array : {} > FLASH                /* C++ Constructor tables            */\n    .mspabi.exidx : {} > FLASH              /* C++ Constructor tables            */\n    .mspabi.extab : {} > FLASH              /* C++ Constructor tables            */\n\n    .infoA     : {} > INFOA              /* MSP430 INFO FLASH Memory segments */\n    .infoB     : {} > INFOB\n    .infoC     : {} > INFOC\n    .infoD     : {} > INFOD\n\n    /* MSP430 Interrupt vectors          */\n    .int00       : {}               > INT00\n    .int01       : {}               > INT01\n    .int02       : {}               > INT02\n    .int03       : {}               > INT03\n    .int04       : {}               > INT04\n    .int05       : {}               > INT05\n    .int06       : {}               > INT06\n    .int07       : {}               > INT07\n    .int08       : {}               > INT08\n    .int09       : {}               > INT09\n    .int10       : {}               > INT10\n    .int11       : {}               > INT11\n    .int12       : {}               > INT12\n    .int13       : {}               > INT13\n    .int14       : {}               > INT14\n    .int15       : {}               > INT15\n    .int16       : {}               > INT16\n    .int17       : {}               > INT17\n    .int18       : {}               > INT18\n    .int19       : {}               > INT19\n    .int20       : {}               > INT20\n    .int21       : {}               > INT21\n    .int22       : {}               > INT22\n    .int23       : {}               > INT23\n    .int24       : {}               > INT24\n    .int25       : {}               > INT25\n    .int26       : {}               > INT26\n    .int27       : {}               > INT27\n    .int28       : {}               > INT28\n    .int29       : {}               > INT29\n    .int30       : {}               > INT30\n    .int31       : {}               > INT31\n    .int32       : {}               > INT32\n    .int33       : {}               > INT33\n    .int34       : {}               > INT34\n    .int35       : {}               > INT35\n    .int36       : {}               > INT36\n    .int37       : {}               > INT37\n    .int38       : {}               > INT38\n    .int39       : {}               > INT39\n    .int40       : {}               > INT40\n    RTC          : { * ( .int41 ) } > INT41 type = VECT_INIT\n    PORT2        : { * ( .int42 ) } > INT42 type = VECT_INIT\n    TIMER2_A1    : { * ( .int43 ) } > INT43 type = VECT_INIT\n    TIMER2_A0    : { * ( .int44 ) } > INT44 type = VECT_INIT\n    USCI_B1      : { * ( .int45 ) } > INT45 type = VECT_INIT\n    USCI_A1      : { * ( .int46 ) } > INT46 type = VECT_INIT\n    PORT1        : { * ( .int47 ) } > INT47 type = VECT_INIT\n    TIMER1_A1    : { * ( .int48 ) } > INT48 type = VECT_INIT\n    TIMER1_A0    : { * ( .int49 ) } > INT49 type = VECT_INIT\n    DMA          : { * ( .int50 ) } > INT50 type = VECT_INIT\n    USB_UBM      : { * ( .int51 ) } > INT51 type = VECT_INIT\n    TIMER0_A1    : { * ( .int52 ) } > INT52 type = VECT_INIT\n    TIMER0_A0    : { * ( .int53 ) } > INT53 type = VECT_INIT\n    ADC12        : { * ( .int54 ) } > INT54 type = VECT_INIT\n    USCI_B0      : { * ( .int55 ) } > INT55 type = VECT_INIT\n    USCI_A0      : { * ( .int56 ) } > INT56 type = VECT_INIT\n    WDT          : { * ( .int57 ) } > INT57 type = VECT_INIT\n    TIMER0_B1    : { * ( .int58 ) } > INT58 type = VECT_INIT\n    TIMER0_B0    : { * ( .int59 ) } > INT59 type = VECT_INIT\n    COMP_B       : { * ( .int60 ) } > INT60 type = VECT_INIT\n    UNMI         : { * ( .int61 ) } > INT61 type = VECT_INIT\n    SYSNMI       : { * ( .int62 ) } > INT62 type = VECT_INIT\n    .reset       : {}               > RESET  /* MSP430 Reset vector         */ \n}\n\n/****************************************************************************/\n/* Include peripherals memory map                                           */\n/****************************************************************************/\n\n-l msp430f5529.cmd\n\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430f5529lp/qk/iar/blinky-qk.ewd",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<project>\n  <fileVersion>2</fileVersion>\n  <configuration>\n    <name>Debug</name>\n    <toolchain>\n      <name>MSP430</name>\n    </toolchain>\n    <debug>1</debug>\n    <settings>\n      <name>C-SPY</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>27</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GoToEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GoToName</name>\n          <state>main</state>\n        </option>\n        <option>\n          <name>DynDriver</name>\n          <state>430FET</state>\n        </option>\n        <option>\n          <name>dDllSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DdfFileSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>DdfOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DdfFileName</name>\n          <state>$TOOLKIT_DIR$\\config\\debugger\\msp430f5529.ddf</state>\n        </option>\n        <option>\n          <name>ProcTMS</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ProcMSP430X</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerDataModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IVBASE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CPUTAG</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>L092Mode</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCImagesOffset1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesUse1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ENERGYTRACE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>FETIPE</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>430FET</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>29</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CFetMandatory</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Erase</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EMUVerifyDownloadP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EraseOptionSlaveP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>derivativeP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ParallelPortP7</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>TargetVoltage</name>\n          <state>3.3</state>\n        </option>\n        <option>\n          <name>AllowLockedFlashAccessP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EMUAttach</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AttachOptionSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRadioProtocolType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleTypeSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>EEMLevel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DiasbleMemoryCache</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NeedLockedFlashAccess</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UsbComPort</name>\n          <state>Automatic</state>\n        </option>\n        <option>\n          <name>FetConnection</name>\n          <version>4</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SoftwareBreakpointEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RadioSoftwareBreakpointType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TargetSettlingtime</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AllowAccessToBSL</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTargetVccTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCBetaDll</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GPassword</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DebugLPM5</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LPM5Slave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRadioAutoManualType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExternalCodeDownload</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCVCCDefault</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Retain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>jstatebit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioJtagSpeedType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>memoryTypeSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>fuseBlowDisabledSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>eraseTypeSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DataSampleBpReservation</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>cycleCounterLevel</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>SIM430</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>4</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>SimOddAddressCheckP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CSimMandatory</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>derivativeSim</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimEnablePSP</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimPspOverrideConfig</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimPspConfigFile</name>\n          <state>$TOOLKIT_DIR$\\CONFIG\\test.psp.config</state>\n        </option>\n      </data>\n    </settings>\n    <debuggerPlugins>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\lcd\\lcd.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\SymList\\SymList.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n    </debuggerPlugins>\n  </configuration>\n  <configuration>\n    <name>Release</name>\n    <toolchain>\n      <name>MSP430</name>\n    </toolchain>\n    <debug>0</debug>\n    <settings>\n      <name>C-SPY</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>27</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GoToEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GoToName</name>\n          <state>main</state>\n        </option>\n        <option>\n          <name>DynDriver</name>\n          <state>430FET</state>\n        </option>\n        <option>\n          <name>dDllSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DdfFileSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>DdfOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DdfFileName</name>\n          <state>$TOOLKIT_DIR$\\config\\debugger\\msp430f5529.ddf</state>\n        </option>\n        <option>\n          <name>ProcTMS</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ProcMSP430X</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerDataModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IVBASE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CPUTAG</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>L092Mode</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCImagesOffset1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesUse1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ENERGYTRACE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>FETIPE</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>430FET</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>29</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CFetMandatory</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Erase</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EMUVerifyDownloadP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EraseOptionSlaveP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>derivativeP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ParallelPortP7</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>TargetVoltage</name>\n          <state>3.3</state>\n        </option>\n        <option>\n          <name>AllowLockedFlashAccessP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EMUAttach</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AttachOptionSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRadioProtocolType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleTypeSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>EEMLevel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DiasbleMemoryCache</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NeedLockedFlashAccess</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UsbComPort</name>\n          <state>Automatic</state>\n        </option>\n        <option>\n          <name>FetConnection</name>\n          <version>4</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SoftwareBreakpointEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioSoftwareBreakpointType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TargetSettlingtime</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AllowAccessToBSL</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTargetVccTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCBetaDll</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GPassword</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DebugLPM5</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LPM5Slave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRadioAutoManualType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExternalCodeDownload</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCVCCDefault</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Retain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>jstatebit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioJtagSpeedType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>memoryTypeSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>fuseBlowDisabledSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>eraseTypeSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DataSampleBpReservation</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>cycleCounterLevel</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>SIM430</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>4</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>SimOddAddressCheckP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CSimMandatory</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>derivativeSim</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimEnablePSP</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimPspOverrideConfig</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimPspConfigFile</name>\n          <state>$TOOLKIT_DIR$\\CONFIG\\test.psp.config</state>\n        </option>\n      </data>\n    </settings>\n    <debuggerPlugins>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\lcd\\lcd.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\SymList\\SymList.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n    </debuggerPlugins>\n  </configuration>\n</project>\n\n\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430f5529lp/qk/iar/blinky-qk.ewp",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<project>\n  <fileVersion>2</fileVersion>\n  <configuration>\n    <name>Debug</name>\n    <toolchain>\n      <name>MSP430</name>\n    </toolchain>\n    <debug>1</debug>\n    <settings>\n      <name>General</name>\n      <archiveVersion>17</archiveVersion>\n      <data>\n        <version>33</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OGCore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExePath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>ObjPath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>ListPath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>Hardware Multiplier</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GOutputBinary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AssemblerOnly</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGDouble</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelect</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RTDescription</name>\n          <state>Use the normal configuration of the C/EC++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n        </option>\n        <option>\n          <name>RTConfigPath</name>\n          <state>$TOOLKIT_DIR$\\lib\\dlib\\dl430xlsfn.h</state>\n        </option>\n        <option>\n          <name>RTLibraryPath</name>\n          <state>$TOOLKIT_DIR$\\lib\\dlib\\dl430xlsfn.r43</state>\n        </option>\n        <option>\n          <name>Input variant</name>\n          <version>2</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>Input description</name>\n          <state>No specifier n, no float nor long long, no scan set, no assignment suppressing, without multibyte support.</state>\n        </option>\n        <option>\n          <name>Output variant</name>\n          <version>2</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>Output description</name>\n          <state>No specifier a or A, no specifier n, no float or long long, no flags.</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelectSlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GeneralEnableMisra</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVerbose</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGChipSelectMenu</name>\n          <state>MSP430F5529\tMSP430F5529</state>\n        </option>\n        <option>\n          <name>GStackHeapOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GStackSize2</name>\n          <state>160</state>\n        </option>\n        <option>\n          <name>GHeapSize2</name>\n          <state>160</state>\n        </option>\n        <option>\n          <name>RadioDataModelType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GHeap20Size</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>RadioHeapSizeType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioHardwareMultiplierType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>RadioL092ModelType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Ropi</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NoRwDynamicInit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibThreads</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MathLib</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioCodeModelType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEnableMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GESupportMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GELockMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GENMIViolationMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEAssertMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEInfoReadMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEInfoWriteMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEInfoExecuteMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEInfoAssertMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEnableIpe</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GESupportIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GAssertIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GLockIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Math variant</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Math description</name>\n          <state>Default variants of cos, sin, tan, log, log10, pow, and exp.</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICC430</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>37</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CCDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCPreprocFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocComments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMnemonics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMessages</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagSuppress</name>\n          <state>Pa50</state>\n        </option>\n        <option>\n          <name>CCDiagRemark</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagWarning</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagError</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IObjPrefix2</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRequirePrototypes</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCAllowList</name>\n          <version>1</version>\n          <state>00000</state>\n        </option>\n        <option>\n          <name>CCObjUseModuleName</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCObjModuleName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDebugInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagWarnAreErr</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCharIs</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCExt</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMigrationPreprocExtentions</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCompilerRuntimeInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IDoubleSize</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.r43</state>\n        </option>\n        <option>\n          <name>CCLibConfigHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCR4Utilize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCR5Utilize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>PreInclude</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCOverrideModuleTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleTypeSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>newCCIncludePaths</name>\n          <state>$PROJ_DIR$\\.</state>\n          <state>$PROJ_DIR$\\..\\..</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\msp430\\qk\\iar</state>\n        </option>\n        <option>\n          <name>CCStdIncCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CompilerMisraOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OI430X</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ReduceStack</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Save20bit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CompilerDataModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptStrategy</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOptLevelSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>IccLang</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccAllowVLA</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCppDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCPUTAG</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCCodeFunctions</name>\n          <state>CODE</state>\n        </option>\n        <option>\n          <name>CCData16</name>\n          <state>DATA16</state>\n        </option>\n        <option>\n          <name>CCData20</name>\n          <state>DATA20</state>\n        </option>\n        <option>\n          <name>CCIntvec</name>\n          <state>INTVEC</state>\n        </option>\n        <option>\n          <name>CCCstack</name>\n          <state>CSTACK</state>\n        </option>\n        <option>\n          <name>CCRamFuncCode</name>\n          <state>RAMFUNC_CODE</state>\n        </option>\n        <option>\n          <name>CCIsrCode</name>\n          <state>ISR_CODE</state>\n        </option>\n        <option>\n          <name>CCDifunct</name>\n          <state>DIFUNCT</state>\n        </option>\n        <option>\n          <name>IccCppInlineSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccStaticDestr</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccFloatSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CROPI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CNoRwDynamicInit</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptimizationNoSizeConstraints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCGuardCalls</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCGuardCallsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerCodeModel</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>A430</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>14</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>AObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ACaseSensitivity</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacroChars</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnWhat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnOne</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AListHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AListing</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Includes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacExps</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacExec</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OnlyAssed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MultiLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>TabSpacing</name>\n          <state>8</state>\n        </option>\n        <option>\n          <name>AXRef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDefines</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefInternal</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDual</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADebug</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ADebugType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrOn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrNum</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.r43</state>\n        </option>\n        <option>\n          <name>AMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OA1M</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AIgnoreStdInclude</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AStdIncludes</name>\n          <state>$TOOLKIT_DIR$\\INC\\</state>\n        </option>\n        <option>\n          <name>AUserIncludes</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ACPUTAG</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CUSTOM</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <extensions></extensions>\n        <cmdline></cmdline>\n        <hasPrio>0</hasPrio>\n      </data>\n    </settings>\n    <settings>\n      <name>BICOMP</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>BUILDACTION</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <prebuild></prebuild>\n        <postbuild></postbuild>\n      </data>\n    </settings>\n    <settings>\n      <name>XLINK</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>29</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>XOutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>blinky-qk.d43</state>\n        </option>\n        <option>\n          <name>OutputFormat</name>\n          <version>11</version>\n          <state>33</state>\n        </option>\n        <option>\n          <name>FormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>SecondaryOutputFile</name>\n          <state>(None for the selected format)</state>\n        </option>\n        <option>\n          <name>XDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AlwaysOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OverlapWarnings</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NoGlobalCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SegmentMap</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ListSymbols</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>XIncludes</name>\n          <state>$TOOLKIT_DIR$\\LIB\\</state>\n        </option>\n        <option>\n          <name>ModuleStatus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclFile</name>\n          <state>$TOOLKIT_DIR$\\config\\linker\\lnk430f5529.xcl</state>\n        </option>\n        <option>\n          <name>XclFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DoFill</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FillerByte</name>\n          <state>0xFF</state>\n        </option>\n        <option>\n          <name>DoCrc</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcSize</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcAlgo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcPoly</name>\n          <state>0x11021</state>\n        </option>\n        <option>\n          <name>CrcCompl</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RangeCheckAlternatives</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressAllWarn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressDiags</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsWarn</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsErr</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ModuleLocalSym</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcBitOrder</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XHardwareMul</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IncludeSuppressed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ModuleSummary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkStackSize</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkCodeModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabel</name>\n          <state>__program_start</state>\n        </option>\n        <option>\n          <name>DebugInformation</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RuntimeControl</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IoEmulation</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XcRTLibraryFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OXLibIOConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XLibraryHeap</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AllowExtraOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GenerateExtraOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExtraOutputFile</name>\n          <state>blinky-qk.a43</state>\n        </option>\n        <option>\n          <name>ExtraOutputFormat</name>\n          <version>11</version>\n          <state>23</state>\n        </option>\n        <option>\n          <name>ExtraFormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>xcOverrideProgramEntryLabel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabelSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ListOutputFormat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>BufferedTermOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OverlaySystemMap</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RawBinaryFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySymbol</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySegment</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinaryAlign</name>\n          <state></state>\n        </option>\n        <option>\n          <name>XLinkMisraHandler</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcAlign</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>CrcInitialValue</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>XLibraryHeap20</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcUnitSize</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LinkMathLib</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkThreadsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkMPU</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkIPE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkLogEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogInputFiles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogModuleSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogPrintfScanf</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogSegmentSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogStackDepth</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkStackUsageEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkControlFiles</name>\n          <state></state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileName</name>\n          <state>$LIST_DIR$\\$PROJ_FNAME$.call_graph.cgx</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>XAR</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>XAROutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XARInputs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ULP430</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CUTest</name>\n          <state>-I$TOOLKIT_DIR$\\inc</state>\n          <state>-@$TOOLKIT_DIR$\\bin\\iar.cmd</state>\n          <state>-@$PROJ_DIR$\\source.txt</state>\n          <state>-@$PROJ_DIR$\\include.txt</state>\n          <state>--preinclude=$PROJ_DIR$\\IAR_ULPAdvisor_Defs.h</state>\n        </option>\n        <option>\n          <name>ULPRules</name>\n          <version>0</version>\n          <state>1111111111111111111</state>\n        </option>\n        <option>\n          <name>ULPEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$PROJ_FNAME$.ulp</state>\n        </option>\n        <option>\n          <name>ULPStatus</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>BILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n  </configuration>\n  <configuration>\n    <name>Release</name>\n    <toolchain>\n      <name>MSP430</name>\n    </toolchain>\n    <debug>0</debug>\n    <settings>\n      <name>General</name>\n      <archiveVersion>17</archiveVersion>\n      <data>\n        <version>33</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OGCore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExePath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>ObjPath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>ListPath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>Hardware Multiplier</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GOutputBinary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AssemblerOnly</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGDouble</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelect</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RTDescription</name>\n          <state>Use the normal configuration of the C/EC++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n        </option>\n        <option>\n          <name>RTConfigPath</name>\n          <state>$TOOLKIT_DIR$\\lib\\dlib\\dl430xlsfn.h</state>\n        </option>\n        <option>\n          <name>RTLibraryPath</name>\n          <state>$TOOLKIT_DIR$\\lib\\dlib\\dl430xlsfn.r43</state>\n        </option>\n        <option>\n          <name>Input variant</name>\n          <version>2</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>Input description</name>\n          <state>No specifier n, no float nor long long, no scan set, no assignment suppressing, without multibyte support.</state>\n        </option>\n        <option>\n          <name>Output variant</name>\n          <version>2</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>Output description</name>\n          <state>No specifier a or A, no specifier n, no float or long long, no flags.</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelectSlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GeneralEnableMisra</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVerbose</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGChipSelectMenu</name>\n          <state>MSP430F5529\tMSP430F5529</state>\n        </option>\n        <option>\n          <name>GStackHeapOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GStackSize2</name>\n          <state>160</state>\n        </option>\n        <option>\n          <name>GHeapSize2</name>\n          <state>160</state>\n        </option>\n        <option>\n          <name>RadioDataModelType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GHeap20Size</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>RadioHeapSizeType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioHardwareMultiplierType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>RadioL092ModelType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Ropi</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NoRwDynamicInit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibThreads</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MathLib</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioCodeModelType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEnableMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GESupportMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GELockMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GENMIViolationMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEAssertMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEInfoReadMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEInfoWriteMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEInfoExecuteMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEInfoAssertMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEnableIpe</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GESupportIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GAssertIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GLockIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Math variant</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Math description</name>\n          <state>Default variants of cos, sin, tan, log, log10, pow, and exp.</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICC430</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>37</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CCDefines</name>\n          <state>NDEBUG</state>\n        </option>\n        <option>\n          <name>CCPreprocFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocComments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMnemonics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMessages</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagSuppress</name>\n          <state>Pa50</state>\n        </option>\n        <option>\n          <name>CCDiagRemark</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagWarning</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagError</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IObjPrefix2</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRequirePrototypes</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCAllowList</name>\n          <version>1</version>\n          <state>11111</state>\n        </option>\n        <option>\n          <name>CCObjUseModuleName</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCObjModuleName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDebugInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagWarnAreErr</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCharIs</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCExt</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMigrationPreprocExtentions</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCompilerRuntimeInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IDoubleSize</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.r43</state>\n        </option>\n        <option>\n          <name>CCLibConfigHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCR4Utilize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCR5Utilize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>PreInclude</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCOverrideModuleTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleTypeSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>newCCIncludePaths</name>\n          <state>$PROJ_DIR$\\.</state>\n          <state>$PROJ_DIR$\\..\\..</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\msp430\\qk\\iar</state>\n        </option>\n        <option>\n          <name>CCStdIncCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CompilerMisraOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OI430X</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ReduceStack</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Save20bit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CompilerDataModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevel</name>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CCOptStrategy</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevelSlave</name>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>IccLang</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccAllowVLA</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCppDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCPUTAG</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCCodeFunctions</name>\n          <state>CODE</state>\n        </option>\n        <option>\n          <name>CCData16</name>\n          <state>DATA16</state>\n        </option>\n        <option>\n          <name>CCData20</name>\n          <state>DATA20</state>\n        </option>\n        <option>\n          <name>CCIntvec</name>\n          <state>INTVEC</state>\n        </option>\n        <option>\n          <name>CCCstack</name>\n          <state>CSTACK</state>\n        </option>\n        <option>\n          <name>CCRamFuncCode</name>\n          <state>RAMFUNC_CODE</state>\n        </option>\n        <option>\n          <name>CCIsrCode</name>\n          <state>ISR_CODE</state>\n        </option>\n        <option>\n          <name>CCDifunct</name>\n          <state>DIFUNCT</state>\n        </option>\n        <option>\n          <name>IccCppInlineSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccStaticDestr</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccFloatSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CROPI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CNoRwDynamicInit</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptimizationNoSizeConstraints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCGuardCalls</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCGuardCallsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerCodeModel</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>A430</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>14</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>AObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ACaseSensitivity</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacroChars</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnWhat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnOne</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AListHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AListing</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Includes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacExps</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacExec</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OnlyAssed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MultiLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>TabSpacing</name>\n          <state>8</state>\n        </option>\n        <option>\n          <name>AXRef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDefines</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefInternal</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDual</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADebug</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ADebugType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrOn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrNum</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.r43</state>\n        </option>\n        <option>\n          <name>AMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OA1M</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AIgnoreStdInclude</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AStdIncludes</name>\n          <state>$TOOLKIT_DIR$\\INC\\</state>\n        </option>\n        <option>\n          <name>AUserIncludes</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ACPUTAG</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CUSTOM</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <extensions></extensions>\n        <cmdline></cmdline>\n        <hasPrio>0</hasPrio>\n      </data>\n    </settings>\n    <settings>\n      <name>BICOMP</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>BUILDACTION</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <prebuild></prebuild>\n        <postbuild></postbuild>\n      </data>\n    </settings>\n    <settings>\n      <name>XLINK</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>29</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>XOutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>blinky-qk.d43</state>\n        </option>\n        <option>\n          <name>OutputFormat</name>\n          <version>11</version>\n          <state>33</state>\n        </option>\n        <option>\n          <name>FormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>SecondaryOutputFile</name>\n          <state>(None for the selected format)</state>\n        </option>\n        <option>\n          <name>XDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AlwaysOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OverlapWarnings</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NoGlobalCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SegmentMap</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ListSymbols</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>XIncludes</name>\n          <state>$TOOLKIT_DIR$\\LIB\\</state>\n        </option>\n        <option>\n          <name>ModuleStatus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclFile</name>\n          <state>$TOOLKIT_DIR$\\config\\linker\\lnk430f5529.xcl</state>\n        </option>\n        <option>\n          <name>XclFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DoFill</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FillerByte</name>\n          <state>0xFF</state>\n        </option>\n        <option>\n          <name>DoCrc</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcSize</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcAlgo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcPoly</name>\n          <state>0x11021</state>\n        </option>\n        <option>\n          <name>CrcCompl</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RangeCheckAlternatives</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressAllWarn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressDiags</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsWarn</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsErr</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ModuleLocalSym</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcBitOrder</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XHardwareMul</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IncludeSuppressed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ModuleSummary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkStackSize</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkCodeModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabel</name>\n          <state>__program_start</state>\n        </option>\n        <option>\n          <name>DebugInformation</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RuntimeControl</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IoEmulation</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XcRTLibraryFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OXLibIOConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XLibraryHeap</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AllowExtraOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GenerateExtraOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExtraOutputFile</name>\n          <state>blinky-qk.a43</state>\n        </option>\n        <option>\n          <name>ExtraOutputFormat</name>\n          <version>11</version>\n          <state>23</state>\n        </option>\n        <option>\n          <name>ExtraFormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>xcOverrideProgramEntryLabel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabelSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ListOutputFormat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>BufferedTermOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OverlaySystemMap</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RawBinaryFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySymbol</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySegment</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinaryAlign</name>\n          <state></state>\n        </option>\n        <option>\n          <name>XLinkMisraHandler</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcAlign</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>CrcInitialValue</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>XLibraryHeap20</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcUnitSize</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LinkMathLib</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkThreadsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkMPU</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkIPE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkLogEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogInputFiles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogModuleSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogPrintfScanf</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogSegmentSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogStackDepth</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkStackUsageEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkControlFiles</name>\n          <state></state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileName</name>\n          <state>$LIST_DIR$\\$PROJ_FNAME$.call_graph.cgx</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>XAR</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>XAROutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XARInputs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ULP430</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CUTest</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>ULPRules</name>\n          <version>0</version>\n          <state>1111111111111111111</state>\n        </option>\n        <option>\n          <name>ULPEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ULPStatus</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>BILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n  </configuration>\n  <group>\n    <name>Application</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\blinky.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\blinky.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\bsp.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\bsp.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\main.c</name>\n    </file>\n  </group>\n  <group>\n    <name>QP</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qepn.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qfn.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qkn\\qkn.c</name>\n    </file>\n  </group>\n</project>\n\n\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430f5529lp/qk/iar/blinky-qk.eww",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<workspace>\n  <project>\n    <path>$WS_DIR$\\blinky-qk.ewp</path>\n  </project>\n  <batchBuild/>\n</workspace>\n\n\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430f5529lp/qpn_conf.h",
    "content": "/*****************************************************************************\n* Product: QP-nano configuration for the Blinky example\n* Last Updated for Version: 5.6.2\n* Date of the Last Update:  2016-04-05\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef QPN_CONF_H\n#define QPN_CONF_H\n\n#define Q_PARAM_SIZE            4U\n#define QF_MAX_TICK_RATE        1U\n#define QF_TIMEEVT_CTR_SIZE     2U\n#define QF_TIMEEVT_PERIODIC\n\n#endif  /* QPN_CONF_H */\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430f5529lp/qv/bsp.c",
    "content": "/*****************************************************************************\n* Product: \"Blinky\" on MSP-EXP430F5529LP, cooperative QV-nano kernel\n* Last Updated for Version: 5.4.0\n* Date of the Last Update:  2015-04-04\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"blinky.h\"\n#include \"bsp.h\"\n\n#include <msp430f5529.h>  /* MSP430 variant used */\n/* add other drivers if necessary... */\n\n//Q_DEFINE_THIS_FILE\n\n/* Local-scope objects -----------------------------------------------------*/\n/* 1MHz clock setting, see BSP_init() */\n#define BSP_MCK     1000000U\n#define BSP_SMCLK   1000000U\n\n#define LED1        (1U << 0)\n#define LED2        (1U << 7)\n\n#define BTN_S1      (1U << 1)\n\n\n/* ISRs used in this project ===============================================*/\n#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)\n    __interrupt void TIMER0_A0_ISR (void); /* prototype */\n    #pragma vector=TIMER0_A0_VECTOR\n    __interrupt void TIMER0_A0_ISR(void)\n#elif defined(__GNUC__)\n    __attribute__ ((interrupt(TIMER0_A0_VECTOR)))\n    void TIMER0_A0_ISR (void)\n#else\n    #error Compiler not supported!\n#endif\n{\n#ifdef NDEBUG\n    __low_power_mode_off_on_exit(); /* see NOTE1 */\n#endif\n\n    QF_tickXISR(0U);   /* process time events for rate 0 */\n}\n\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    WDTCTL = WDTPW | WDTHOLD; /* stop watchdog timer */\n\n    /* leave the MCK and SMCLK at default DCO setting */\n\n    P1DIR |= LED1;  /* set LED1 pin to output  */\n    P4DIR |= LED2;  /* set LED2 pin to output  */\n}\n/*..........................................................................*/\nvoid BSP_ledOff(void) {\n    P1OUT &= ~LED1; /* turn LED1 off */\n}\n/*..........................................................................*/\nvoid BSP_ledOn(void) {\n    P1OUT |= LED1;  /* turn LED1 on */\n}\n\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    TA0CCTL0 = CCIE; /* CCR0 interrupt enabled */\n    TA0CCR0 = BSP_MCK / BSP_TICKS_PER_SEC;\n    TA0CTL = TASSEL_2 + MC_1 + TACLR; /* SMCLK, upmode, clear TAR */\n}\n/*..........................................................................*/\nvoid QV_onIdle(void) { /* NOTE: called with interrutps DISABLED, see NOTE1 */\n    /* toggle LED2 on and then off, see NOTE2 */\n    P4OUT |=  LED2;        /* turn LED2 on */\n    P4OUT &= ~LED2;        /* turn LED2 off */\n\n#ifdef NDEBUG\n    /* Put the CPU and peripherals to the low-power mode.\n    * you might need to customize the clock management for your application,\n    * see the datasheet for your particular MSP430 MCU.\n    */\n    __low_power_mode_1(); /* Enter LPM1; also ENABLES interrupts */\n#else\n    QF_INT_ENABLE(); /* just enable interrupts */\n#endif\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const file, int line) {\n    /* implement the error-handling policy for your application!!! */\n    QF_INT_DISABLE(); /* disable all interrupts */\n\n    /* cause the reset of the CPU... */\n    WDTCTL = WDTPW | WDTHOLD;\n    __asm(\"    push &0xFFFE\");\n    /* return from function does the reset */\n}\n\n/*****************************************************************************\n* NOTE1:\n* With the cooperative QV kernel for MSP430, it is necessary to explicitly\n* turn the low-power mode OFF in the interrupt, because the return\n* from the interrupt will restore the CPU status register, which will\n* re-enter the low-power mode. This, in turn, will prevent the QV event-loop\n* from running.\n*\n* NOTE2:\n* One of the LEDs is used to visualize the idle loop activity. The brightness\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430f5529lp/qv/ccs/.ccsproject",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<?ccsproject version=\"1.0\"?>\n<projectOptions>\n\t<deviceVariant value=\"MSP430F5529\"/>\n\t<deviceFamily value=\"MSP430\"/>\n\t<codegenToolVersion value=\"4.4.4\"/>\n\t<isElfFormat value=\"true\"/>\n\t<connection value=\"common/targetdb/connections/TIMSP430-USB.xml\"/>\n\t<linkerCommandFile value=\"lnk_msp430f5529.cmd\"/>\n\t<rts value=\"libc.a\"/>\n\t<createSlaveProjects value=\"\"/>\n\t<templateProperties value=\"id=com.ti.common.project.core.emptyProjectWithMainTemplate_msp430,\"/>\n\t<isTargetManual value=\"false\"/>\n</projectOptions>\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430f5529lp/qv/ccs/.cproject",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<?fileVersion 4.0.0?><cproject storage_type_id=\"org.eclipse.cdt.core.XmlProjectDescriptionStorage\">\n\t<storageModule configRelations=\"2\" moduleId=\"org.eclipse.cdt.core.settings\">\n\t\t<cconfiguration id=\"com.ti.ccstudio.buildDefinitions.MSP430.Debug.26198106\">\n\t\t\t<storageModule buildSystemId=\"org.eclipse.cdt.managedbuilder.core.configurationDataProvider\" id=\"com.ti.ccstudio.buildDefinitions.MSP430.Debug.26198106\" moduleId=\"org.eclipse.cdt.core.settings\" name=\"Debug\">\n\t\t\t\t<externalSettings/>\n\t\t\t\t<extensions>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.binaryparser.CoffParser\" point=\"org.eclipse.cdt.core.BinaryParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.CoffErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.LinkErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.AsmErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GmakeErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t</extensions>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t\t\t<configuration artifactExtension=\"out\" artifactName=\"${ProjName}\" buildProperties=\"\" cleanCommand=\"${CG_CLEAN_CMD}\" description=\"\" id=\"com.ti.ccstudio.buildDefinitions.MSP430.Debug.26198106\" name=\"Debug\" parent=\"com.ti.ccstudio.buildDefinitions.MSP430.Debug\" postbuildStep=\"\" prebuildStep=\"\">\n\t\t\t\t\t<folderInfo id=\"com.ti.ccstudio.buildDefinitions.MSP430.Debug.26198106.\" name=\"/\" resourcePath=\"\">\n\t\t\t\t\t\t<toolChain id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.DebugToolchain.1824015232\" name=\"TI Build Tools\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.DebugToolchain\" targetTool=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerDebug.981148911\">\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.393438581\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_CONFIGURATION_ID=MSP430F5529\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_ENDIANNESS=little\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_FORMAT=ELF\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"LINKER_COMMAND_FILE=lnk_msp430f5529.cmd\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"RUNTIME_SUPPORT_LIBRARY=libc.a\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"CCS_MBS_VERSION=6.1.3\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_TYPE=executable\"/>\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1958470565\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION\" value=\"16.9.6.LTS\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<targetPlatform id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.targetPlatformDebug.640281309\" name=\"Platform\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.targetPlatformDebug\"/>\n\t\t\t\t\t\t\t<builder buildPath=\"${BuildDirectory}\" id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.builderDebug.1986905118\" name=\"GNU Make.Debug\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.builderDebug\"/>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.compilerDebug.2009652747\" name=\"MSP430 Compiler\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.compilerDebug\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEFINE.2093559359\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEFINE\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"__MSP430F5529__\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DATA_MODEL.1712224793\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DATA_MODEL\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DATA_MODEL.small\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY.1130270938\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY.F5\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU21.2087077530\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU21\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU22.7460256\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU22\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU23.1503865920\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU23\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU40.546863415\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU40\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION.424209798\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION.mspx\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT.1691411340\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT.minimal\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.INCLUDE_PATH.1412684004\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.INCLUDE_PATH\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CCS_BASE_ROOT}/msp430/include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CCS_BASE_ROOT}/msp430/include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}/.&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}/../..&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}/../../../../../include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}/../../../../../ports/msp430/qv/ccs&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CG_TOOL_ROOT}/include&quot;\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.976763428\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WARNING.1747079909\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WARNING\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"225\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP.1787715718\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP.off\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DISPLAY_ERROR_NUMBER.754652881\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DISPLAY_ERROR_NUMBER\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI.2133405077\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI.eabi\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__C_SRCS.921032106\" name=\"C Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__C_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__CPP_SRCS.613844470\" name=\"C++ Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__CPP_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM_SRCS.935942218\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM2_SRCS.2123171814\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM2_SRCS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerDebug.981148911\" name=\"MSP430 Linker\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerDebug\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.LIBRARY.1158007973\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.LIBRARY\" valueType=\"libs\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"libc.a\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"libmath.a\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.SEARCH_PATH.1635087085\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.SEARCH_PATH\" valueType=\"libPaths\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CCS_BASE_ROOT}/msp430/include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CCS_BASE_ROOT}/msp430/include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CG_TOOL_ROOT}/lib&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CG_TOOL_ROOT}/include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CCS_BASE_ROOT}/msp430/lib/5xx_6xx_FRxx\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY.1350995352\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY.F5\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.CINIT_HOLD_WDT.1055681160\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.CINIT_HOLD_WDT\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.CINIT_HOLD_WDT.on\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.HEAP_SIZE.2013654050\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.HEAP_SIZE\" value=\"160\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.STACK_SIZE.208721578\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.STACK_SIZE\" value=\"160\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.MAP_FILE.1132081899\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.MAP_FILE\" value=\"&quot;${ProjName}.map&quot;\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.OUTPUT_FILE.32923778\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.OUTPUT_FILE\" value=\"${ProjName}.out\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP.865075926\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP.off\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DISPLAY_ERROR_NUMBER.1416609741\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DISPLAY_ERROR_NUMBER\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.XML_LINK_INFO.860702715\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.XML_LINK_INFO\" value=\"&quot;${ProjName}_linkInfo.xml&quot;\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD_SRCS.1018502286\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD2_SRCS.1651456886\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD2_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__GEN_CMDS.1959775665\" name=\"Generated Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__GEN_CMDS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.2037713810\" name=\"MSP430 Hex Utility\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.ROMWIDTH.400346305\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.ROMWIDTH\" value=\"8\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.MEMWIDTH.773683439\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.MEMWIDTH\" value=\"8\" valueType=\"string\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t</toolChain>\n\t\t\t\t\t</folderInfo>\n\t\t\t\t\t<sourceEntries>\n\t\t\t\t\t\t<entry excluding=\"QP/qfn_init.c|QP/qs.c|QP/qs_fp.c|QP/qs_64bit.c|QP/qk.c|QP/qk_mutex.c\" flags=\"VALUE_WORKSPACE_PATH|RESOLVED\" kind=\"sourcePath\" name=\"\"/>\n\t\t\t\t\t</sourceEntries>\n\t\t\t\t</configuration>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"org.eclipse.cdt.core.externalSettings\"/>\n\t\t</cconfiguration>\n\t\t<cconfiguration id=\"com.ti.ccstudio.buildDefinitions.MSP430.Release.1526770733\">\n\t\t\t<storageModule buildSystemId=\"org.eclipse.cdt.managedbuilder.core.configurationDataProvider\" id=\"com.ti.ccstudio.buildDefinitions.MSP430.Release.1526770733\" moduleId=\"org.eclipse.cdt.core.settings\" name=\"Release\">\n\t\t\t\t<externalSettings/>\n\t\t\t\t<extensions>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.binaryparser.CoffParser\" point=\"org.eclipse.cdt.core.BinaryParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.CoffErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.LinkErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.AsmErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GmakeErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t</extensions>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t\t\t<configuration artifactExtension=\"out\" artifactName=\"${ProjName}\" buildProperties=\"\" cleanCommand=\"${CG_CLEAN_CMD}\" description=\"\" id=\"com.ti.ccstudio.buildDefinitions.MSP430.Release.1526770733\" name=\"Release\" parent=\"com.ti.ccstudio.buildDefinitions.MSP430.Release\" postbuildStep=\"\" prebuildStep=\"\">\n\t\t\t\t\t<folderInfo id=\"com.ti.ccstudio.buildDefinitions.MSP430.Release.1526770733.\" name=\"/\" resourcePath=\"\">\n\t\t\t\t\t\t<toolChain id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.ReleaseToolchain.398818389\" name=\"TI Build Tools\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.ReleaseToolchain\" targetTool=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerRelease.1316616769\">\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.141408679\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_CONFIGURATION_ID=MSP430F5529\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_ENDIANNESS=little\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_FORMAT=ELF\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"LINKER_COMMAND_FILE=lnk_msp430f5529.cmd\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"RUNTIME_SUPPORT_LIBRARY=libc.a\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"CCS_MBS_VERSION=6.1.3\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_TYPE=executable\"/>\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1602775881\" name=\"Compiler version\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION\" value=\"16.9.6.LTS\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<targetPlatform id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.targetPlatformRelease.1553381278\" name=\"Platform\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.targetPlatformRelease\"/>\n\t\t\t\t\t\t\t<builder buildPath=\"${BuildDirectory}\" id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.builderRelease.1386584969\" keepEnvironmentInBuildfile=\"false\" name=\"GNU Make\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.builderRelease\"/>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.compilerRelease.823500246\" name=\"MSP430 Compiler\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.compilerRelease\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEFINE.61760085\" name=\"Pre-define NAME (--define, -D)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEFINE\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"NDEBUG\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"__MSP430F5529__\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DATA_MODEL.229431956\" name=\"Specify the data memory model. (--data_model)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DATA_MODEL\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DATA_MODEL.small\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY.1269097577\" name=\"Inline hardware multiply version of RTS mpy routine (--use_hw_mpy)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY.F5\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU21.1810878876\" name=\"Workaround specified silicon errata (--silicon_errata) [CPU21]\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU21\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU22.1155349086\" name=\"Workaround specified silicon errata (--silicon_errata) [CPU22]\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU22\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU23.596346955\" name=\"Workaround specified silicon errata (--silicon_errata) [CPU23]\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU23\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU40.1768263382\" name=\"Workaround specified silicon errata (--silicon_errata) [CPU40]\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU40\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION.538401664\" name=\"Silicon version (--silicon_version, -v)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION.mspx\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT.199559978\" name=\"Level of printf/scanf support required (--printf_support)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT.minimal\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.INCLUDE_PATH.322040934\" name=\"Add dir to #include search path (--include_path, -I)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.INCLUDE_PATH\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CCS_BASE_ROOT}/msp430/include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CCS_BASE_ROOT}/msp430/include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}/.&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}/../..&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}/../../../../../include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}/../../../../../ports/msp430/qv/ccs&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CG_TOOL_ROOT}/include&quot;\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WARNING.866654229\" name=\"Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WARNING\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"225\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP.949365280\" name=\"Wrap diagnostic messages (--diag_wrap)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP.off\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DISPLAY_ERROR_NUMBER.964707440\" name=\"Emit diagnostic identifier numbers (--display_error_number, -pden)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DISPLAY_ERROR_NUMBER\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI.1678951591\" name=\"Application binary interface (--abi)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI.eabi\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__C_SRCS.1290918110\" name=\"C Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__C_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__CPP_SRCS.714706728\" name=\"C++ Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__CPP_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM_SRCS.1967816630\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM2_SRCS.14084664\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM2_SRCS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerRelease.1316616769\" name=\"MSP430 Linker\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerRelease\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.LIBRARY.650749055\" name=\"Include library file or command file as input (--library, -l)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.LIBRARY\" valueType=\"libs\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"libc.a\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"libmath.a\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.SEARCH_PATH.1814572588\" name=\"Add &lt;dir&gt; to library search path (--search_path, -i)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.SEARCH_PATH\" valueType=\"libPaths\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CCS_BASE_ROOT}/msp430/include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CCS_BASE_ROOT}/msp430/include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CG_TOOL_ROOT}/lib&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CG_TOOL_ROOT}/include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CCS_BASE_ROOT}/msp430/lib/5xx_6xx_FRxx\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY.1319230628\" name=\"Deprecated: Now a compiler option instead of linker option (--use_hw_mpy)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY.F5\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.CINIT_HOLD_WDT.154996690\" name=\"Hold watchdog timer during cinit auto-initialization (--cinit_hold_wdt)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.CINIT_HOLD_WDT\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.CINIT_HOLD_WDT.on\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.HEAP_SIZE.845007001\" name=\"Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.HEAP_SIZE\" value=\"160\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.STACK_SIZE.175768369\" name=\"Set C system stack size (--stack_size, -stack)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.STACK_SIZE\" value=\"160\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.MAP_FILE.1279646520\" name=\"Link information (map) listed into &lt;file&gt; (--map_file, -m)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.MAP_FILE\" value=\"&quot;${ProjName}.map&quot;\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.OUTPUT_FILE.662630117\" name=\"Specify output file name (--output_file, -o)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.OUTPUT_FILE\" value=\"${ProjName}.out\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP.937049328\" name=\"Wrap diagnostic messages (--diag_wrap)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP.off\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DISPLAY_ERROR_NUMBER.1919179568\" name=\"Emit diagnostic identifier numbers (--display_error_number)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DISPLAY_ERROR_NUMBER\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.XML_LINK_INFO.122514913\" name=\"Detailed link information data-base into &lt;file&gt; (--xml_link_info, -xml_link_info)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.XML_LINK_INFO\" value=\"&quot;${ProjName}_linkInfo.xml&quot;\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD_SRCS.745638759\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD2_SRCS.233974203\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD2_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__GEN_CMDS.676520908\" name=\"Generated Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__GEN_CMDS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.1842690243\" name=\"MSP430 Hex Utility\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.ROMWIDTH.1026008226\" name=\"Specify rom width (--romwidth, -romwidth=width)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.ROMWIDTH\" value=\"8\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.MEMWIDTH.919899504\" name=\"Specify memory width (--memwidth, -memwidth=width)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.MEMWIDTH\" value=\"8\" valueType=\"string\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t</toolChain>\n\t\t\t\t\t</folderInfo>\n\t\t\t\t\t<sourceEntries>\n\t\t\t\t\t\t<entry excluding=\"QP/qfn_init.c|QP/qs.c|QP/qs_fp.c|QP/qs_64bit.c|QP/qk.c|QP/qk_mutex.c\" flags=\"VALUE_WORKSPACE_PATH|RESOLVED\" kind=\"sourcePath\" name=\"\"/>\n\t\t\t\t\t</sourceEntries>\n\t\t\t\t</configuration>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"org.eclipse.cdt.core.externalSettings\"/>\n\t\t</cconfiguration>\n\t</storageModule>\n\t<storageModule moduleId=\"org.eclipse.cdt.core.LanguageSettingsProviders\"/>\n\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t<project id=\"blinky-qv_msp-exp430f5529lp.com.ti.ccstudio.buildDefinitions.MSP430.ProjectType.1637111345\" name=\"MSP430\" projectType=\"com.ti.ccstudio.buildDefinitions.MSP430.ProjectType\"/>\n\t</storageModule>\n\t<storageModule moduleId=\"scannerConfiguration\"/>\n\t<storageModule moduleId=\"org.eclipse.cdt.core.language.mapping\">\n\t\t<project-mappings>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.asmSource\" language=\"com.ti.ccstudio.core.TIASMLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cHeader\" language=\"com.ti.ccstudio.core.TIGCCLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cSource\" language=\"com.ti.ccstudio.core.TIGCCLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cxxHeader\" language=\"com.ti.ccstudio.core.TIGPPLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cxxSource\" language=\"com.ti.ccstudio.core.TIGPPLanguage\"/>\n\t\t</project-mappings>\n\t</storageModule>\n\t<storageModule moduleId=\"null.endianPreference\"/>\n\t<storageModule moduleId=\"cpuFamily\"/>\n</cproject>\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430f5529lp/qv/ccs/.project",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<projectDescription>\n\t<name>blinky-qv_msp-exp430f5529lp</name>\n\t<comment></comment>\n\t<projects>\n\t</projects>\n\t<buildSpec>\n\t\t<buildCommand>\n\t\t\t<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t\t<buildCommand>\n\t\t\t<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>\n\t\t\t<triggers>full,incremental,</triggers>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t</buildSpec>\n\t<natures>\n\t\t<nature>com.ti.ccstudio.core.ccsNature</nature>\n\t\t<nature>org.eclipse.cdt.core.cnature</nature>\n\t\t<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>\n\t\t<nature>org.eclipse.cdt.core.ccnature</nature>\n\t\t<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>\n\t</natures>\n\t<linkedResources>\n\t\t<link>\n\t\t\t<name>QP</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/src/qfn</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>QP_port</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/ports/msp430/qv/ccs</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>QVn</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/src/qvn</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>blinky.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/blinky.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>blinky.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/blinky.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>bsp.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-1-PROJECT_LOC/bsp.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>bsp.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/bsp.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>main.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/main.c</locationURI>\n\t\t</link>\n\t</linkedResources>\n</projectDescription>\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430f5529lp/qv/ccs/lnk_msp430f5529.cmd",
    "content": "/* ============================================================================ */\n/* Copyright (c) 2014, Texas Instruments Incorporated                           */\n/*  All rights reserved.                                                        */\n/*                                                                              */\n/*  Redistribution and use in source and binary forms, with or without          */\n/*  modification, are permitted provided that the following conditions          */\n/*  are met:                                                                    */\n/*                                                                              */\n/*  *  Redistributions of source code must retain the above copyright           */\n/*     notice, this list of conditions and the following disclaimer.            */\n/*                                                                              */\n/*  *  Redistributions in binary form must reproduce the above copyright        */\n/*     notice, this list of conditions and the following disclaimer in the      */\n/*     documentation and/or other materials provided with the distribution.     */\n/*                                                                              */\n/*  *  Neither the name of Texas Instruments Incorporated nor the names of      */\n/*     its contributors may be used to endorse or promote products derived      */\n/*     from this software without specific prior written permission.            */\n/*                                                                              */\n/*  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" */\n/*  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,       */\n/*  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR      */\n/*  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR            */\n/*  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,       */\n/*  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,         */\n/*  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; */\n/*  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,    */\n/*  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR     */\n/*  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,              */\n/*  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.                          */\n/* ============================================================================ */\n\n/******************************************************************************/\n/* lnk_msp430f5529.cmd - LINKER COMMAND FILE FOR LINKING MSP430F5529 PROGRAMS     */\n/*                                                                            */\n/*   Usage:  lnk430 <obj files...>    -o <out file> -m <map file> lnk.cmd     */\n/*           cl430  <src files...> -z -o <out file> -m <map file> lnk.cmd     */\n/*                                                                            */\n/*----------------------------------------------------------------------------*/\n/* These linker options are for command line linking only.  For IDE linking,  */\n/* you should set your linker options in Project Properties                   */\n/* -c                                               LINK USING C CONVENTIONS  */\n/* -stack  0x0100                                   SOFTWARE STACK SIZE       */\n/* -heap   0x0100                                   HEAP AREA SIZE            */\n/*                                                                            */\n/*----------------------------------------------------------------------------*/\n/* Version: 1.159                                                             */\n/*----------------------------------------------------------------------------*/\n\n/****************************************************************************/\n/* Specify the system memory map                                            */\n/****************************************************************************/\n\nMEMORY\n{\n    SFR                     : origin = 0x0000, length = 0x0010\n    PERIPHERALS_8BIT        : origin = 0x0010, length = 0x00F0\n    PERIPHERALS_16BIT       : origin = 0x0100, length = 0x0100\n    RAM                     : origin = 0x2400, length = 0x2000\n    USBRAM                  : origin = 0x1C00, length = 0x0800\n    INFOA                   : origin = 0x1980, length = 0x0080\n    INFOB                   : origin = 0x1900, length = 0x0080\n    INFOC                   : origin = 0x1880, length = 0x0080\n    INFOD                   : origin = 0x1800, length = 0x0080\n    FLASH                   : origin = 0x4400, length = 0xBB80\n    FLASH2                  : origin = 0x10000,length = 0x14400\n    INT00                   : origin = 0xFF80, length = 0x0002\n    INT01                   : origin = 0xFF82, length = 0x0002\n    INT02                   : origin = 0xFF84, length = 0x0002\n    INT03                   : origin = 0xFF86, length = 0x0002\n    INT04                   : origin = 0xFF88, length = 0x0002\n    INT05                   : origin = 0xFF8A, length = 0x0002\n    INT06                   : origin = 0xFF8C, length = 0x0002\n    INT07                   : origin = 0xFF8E, length = 0x0002\n    INT08                   : origin = 0xFF90, length = 0x0002\n    INT09                   : origin = 0xFF92, length = 0x0002\n    INT10                   : origin = 0xFF94, length = 0x0002\n    INT11                   : origin = 0xFF96, length = 0x0002\n    INT12                   : origin = 0xFF98, length = 0x0002\n    INT13                   : origin = 0xFF9A, length = 0x0002\n    INT14                   : origin = 0xFF9C, length = 0x0002\n    INT15                   : origin = 0xFF9E, length = 0x0002\n    INT16                   : origin = 0xFFA0, length = 0x0002\n    INT17                   : origin = 0xFFA2, length = 0x0002\n    INT18                   : origin = 0xFFA4, length = 0x0002\n    INT19                   : origin = 0xFFA6, length = 0x0002\n    INT20                   : origin = 0xFFA8, length = 0x0002\n    INT21                   : origin = 0xFFAA, length = 0x0002\n    INT22                   : origin = 0xFFAC, length = 0x0002\n    INT23                   : origin = 0xFFAE, length = 0x0002\n    INT24                   : origin = 0xFFB0, length = 0x0002\n    INT25                   : origin = 0xFFB2, length = 0x0002\n    INT26                   : origin = 0xFFB4, length = 0x0002\n    INT27                   : origin = 0xFFB6, length = 0x0002\n    INT28                   : origin = 0xFFB8, length = 0x0002\n    INT29                   : origin = 0xFFBA, length = 0x0002\n    INT30                   : origin = 0xFFBC, length = 0x0002\n    INT31                   : origin = 0xFFBE, length = 0x0002\n    INT32                   : origin = 0xFFC0, length = 0x0002\n    INT33                   : origin = 0xFFC2, length = 0x0002\n    INT34                   : origin = 0xFFC4, length = 0x0002\n    INT35                   : origin = 0xFFC6, length = 0x0002\n    INT36                   : origin = 0xFFC8, length = 0x0002\n    INT37                   : origin = 0xFFCA, length = 0x0002\n    INT38                   : origin = 0xFFCC, length = 0x0002\n    INT39                   : origin = 0xFFCE, length = 0x0002\n    INT40                   : origin = 0xFFD0, length = 0x0002\n    INT41                   : origin = 0xFFD2, length = 0x0002\n    INT42                   : origin = 0xFFD4, length = 0x0002\n    INT43                   : origin = 0xFFD6, length = 0x0002\n    INT44                   : origin = 0xFFD8, length = 0x0002\n    INT45                   : origin = 0xFFDA, length = 0x0002\n    INT46                   : origin = 0xFFDC, length = 0x0002\n    INT47                   : origin = 0xFFDE, length = 0x0002\n    INT48                   : origin = 0xFFE0, length = 0x0002\n    INT49                   : origin = 0xFFE2, length = 0x0002\n    INT50                   : origin = 0xFFE4, length = 0x0002\n    INT51                   : origin = 0xFFE6, length = 0x0002\n    INT52                   : origin = 0xFFE8, length = 0x0002\n    INT53                   : origin = 0xFFEA, length = 0x0002\n    INT54                   : origin = 0xFFEC, length = 0x0002\n    INT55                   : origin = 0xFFEE, length = 0x0002\n    INT56                   : origin = 0xFFF0, length = 0x0002\n    INT57                   : origin = 0xFFF2, length = 0x0002\n    INT58                   : origin = 0xFFF4, length = 0x0002\n    INT59                   : origin = 0xFFF6, length = 0x0002\n    INT60                   : origin = 0xFFF8, length = 0x0002\n    INT61                   : origin = 0xFFFA, length = 0x0002\n    INT62                   : origin = 0xFFFC, length = 0x0002\n    RESET                   : origin = 0xFFFE, length = 0x0002\n}\n\n/****************************************************************************/\n/* Specify the sections allocation into memory                              */\n/****************************************************************************/\n\nSECTIONS\n{\n    .bss        : {} > RAM                  /* Global & static vars              */\n    .data       : {} > RAM                  /* Global & static vars              */\n    .TI.noinit  : {} > RAM                  /* For #pragma noinit                */\n    .sysmem     : {} > RAM                  /* Dynamic memory allocation area    */\n    .stack      : {} > RAM (HIGH)           /* Software system stack             */\n\n#ifndef __LARGE_DATA_MODEL__\n    .text       : {}>> FLASH                /* Code                              */\n#else\n    .text       : {}>> FLASH2 | FLASH       /* Code                              */\n#endif\n    .text:_isr  : {} > FLASH                /* ISR Code space                    */\n    .cinit      : {} > FLASH                /* Initialization tables             */\n#ifndef __LARGE_DATA_MODEL__\n    .const      : {} > FLASH                /* Constant data                     */\n#else\n    .const      : {} > FLASH | FLASH2       /* Constant data                     */\n#endif\n    .cio        : {} > RAM                  /* C I/O Buffer                      */\n\n    .pinit      : {} > FLASH                /* C++ Constructor tables            */\n    .init_array : {} > FLASH                /* C++ Constructor tables            */\n    .mspabi.exidx : {} > FLASH              /* C++ Constructor tables            */\n    .mspabi.extab : {} > FLASH              /* C++ Constructor tables            */\n\n    .infoA     : {} > INFOA              /* MSP430 INFO FLASH Memory segments */\n    .infoB     : {} > INFOB\n    .infoC     : {} > INFOC\n    .infoD     : {} > INFOD\n\n    /* MSP430 Interrupt vectors          */\n    .int00       : {}               > INT00\n    .int01       : {}               > INT01\n    .int02       : {}               > INT02\n    .int03       : {}               > INT03\n    .int04       : {}               > INT04\n    .int05       : {}               > INT05\n    .int06       : {}               > INT06\n    .int07       : {}               > INT07\n    .int08       : {}               > INT08\n    .int09       : {}               > INT09\n    .int10       : {}               > INT10\n    .int11       : {}               > INT11\n    .int12       : {}               > INT12\n    .int13       : {}               > INT13\n    .int14       : {}               > INT14\n    .int15       : {}               > INT15\n    .int16       : {}               > INT16\n    .int17       : {}               > INT17\n    .int18       : {}               > INT18\n    .int19       : {}               > INT19\n    .int20       : {}               > INT20\n    .int21       : {}               > INT21\n    .int22       : {}               > INT22\n    .int23       : {}               > INT23\n    .int24       : {}               > INT24\n    .int25       : {}               > INT25\n    .int26       : {}               > INT26\n    .int27       : {}               > INT27\n    .int28       : {}               > INT28\n    .int29       : {}               > INT29\n    .int30       : {}               > INT30\n    .int31       : {}               > INT31\n    .int32       : {}               > INT32\n    .int33       : {}               > INT33\n    .int34       : {}               > INT34\n    .int35       : {}               > INT35\n    .int36       : {}               > INT36\n    .int37       : {}               > INT37\n    .int38       : {}               > INT38\n    .int39       : {}               > INT39\n    .int40       : {}               > INT40\n    RTC          : { * ( .int41 ) } > INT41 type = VECT_INIT\n    PORT2        : { * ( .int42 ) } > INT42 type = VECT_INIT\n    TIMER2_A1    : { * ( .int43 ) } > INT43 type = VECT_INIT\n    TIMER2_A0    : { * ( .int44 ) } > INT44 type = VECT_INIT\n    USCI_B1      : { * ( .int45 ) } > INT45 type = VECT_INIT\n    USCI_A1      : { * ( .int46 ) } > INT46 type = VECT_INIT\n    PORT1        : { * ( .int47 ) } > INT47 type = VECT_INIT\n    TIMER1_A1    : { * ( .int48 ) } > INT48 type = VECT_INIT\n    TIMER1_A0    : { * ( .int49 ) } > INT49 type = VECT_INIT\n    DMA          : { * ( .int50 ) } > INT50 type = VECT_INIT\n    USB_UBM      : { * ( .int51 ) } > INT51 type = VECT_INIT\n    TIMER0_A1    : { * ( .int52 ) } > INT52 type = VECT_INIT\n    TIMER0_A0    : { * ( .int53 ) } > INT53 type = VECT_INIT\n    ADC12        : { * ( .int54 ) } > INT54 type = VECT_INIT\n    USCI_B0      : { * ( .int55 ) } > INT55 type = VECT_INIT\n    USCI_A0      : { * ( .int56 ) } > INT56 type = VECT_INIT\n    WDT          : { * ( .int57 ) } > INT57 type = VECT_INIT\n    TIMER0_B1    : { * ( .int58 ) } > INT58 type = VECT_INIT\n    TIMER0_B0    : { * ( .int59 ) } > INT59 type = VECT_INIT\n    COMP_B       : { * ( .int60 ) } > INT60 type = VECT_INIT\n    UNMI         : { * ( .int61 ) } > INT61 type = VECT_INIT\n    SYSNMI       : { * ( .int62 ) } > INT62 type = VECT_INIT\n    .reset       : {}               > RESET  /* MSP430 Reset vector         */ \n}\n\n/****************************************************************************/\n/* Include peripherals memory map                                           */\n/****************************************************************************/\n\n-l msp430f5529.cmd\n\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430f5529lp/qv/iar/blinky-qv.ewd",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<project>\n  <fileVersion>2</fileVersion>\n  <configuration>\n    <name>Debug</name>\n    <toolchain>\n      <name>MSP430</name>\n    </toolchain>\n    <debug>1</debug>\n    <settings>\n      <name>C-SPY</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>27</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GoToEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GoToName</name>\n          <state>main</state>\n        </option>\n        <option>\n          <name>DynDriver</name>\n          <state>430FET</state>\n        </option>\n        <option>\n          <name>dDllSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DdfFileSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>DdfOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DdfFileName</name>\n          <state>$TOOLKIT_DIR$\\config\\debugger\\msp430f5529.ddf</state>\n        </option>\n        <option>\n          <name>ProcTMS</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ProcMSP430X</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerDataModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IVBASE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CPUTAG</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>L092Mode</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCImagesOffset1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesUse1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ENERGYTRACE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>FETIPE</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>430FET</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>29</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CFetMandatory</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Erase</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EMUVerifyDownloadP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EraseOptionSlaveP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>derivativeP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ParallelPortP7</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>TargetVoltage</name>\n          <state>3.3</state>\n        </option>\n        <option>\n          <name>AllowLockedFlashAccessP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EMUAttach</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AttachOptionSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRadioProtocolType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleTypeSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>EEMLevel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DiasbleMemoryCache</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NeedLockedFlashAccess</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UsbComPort</name>\n          <state>Automatic</state>\n        </option>\n        <option>\n          <name>FetConnection</name>\n          <version>4</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SoftwareBreakpointEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RadioSoftwareBreakpointType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TargetSettlingtime</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AllowAccessToBSL</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTargetVccTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCBetaDll</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GPassword</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DebugLPM5</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LPM5Slave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRadioAutoManualType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExternalCodeDownload</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCVCCDefault</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Retain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>jstatebit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioJtagSpeedType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>memoryTypeSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>fuseBlowDisabledSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>eraseTypeSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DataSampleBpReservation</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>cycleCounterLevel</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>SIM430</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>4</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>SimOddAddressCheckP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CSimMandatory</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>derivativeSim</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimEnablePSP</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimPspOverrideConfig</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimPspConfigFile</name>\n          <state>$TOOLKIT_DIR$\\CONFIG\\test.psp.config</state>\n        </option>\n      </data>\n    </settings>\n    <debuggerPlugins>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\lcd\\lcd.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\SymList\\SymList.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n    </debuggerPlugins>\n  </configuration>\n  <configuration>\n    <name>Release</name>\n    <toolchain>\n      <name>MSP430</name>\n    </toolchain>\n    <debug>0</debug>\n    <settings>\n      <name>C-SPY</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>27</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GoToEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GoToName</name>\n          <state>main</state>\n        </option>\n        <option>\n          <name>DynDriver</name>\n          <state>430FET</state>\n        </option>\n        <option>\n          <name>dDllSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DdfFileSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>DdfOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DdfFileName</name>\n          <state>$TOOLKIT_DIR$\\config\\debugger\\msp430f5529.ddf</state>\n        </option>\n        <option>\n          <name>ProcTMS</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ProcMSP430X</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerDataModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IVBASE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CPUTAG</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>L092Mode</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCImagesOffset1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesUse1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ENERGYTRACE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>FETIPE</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>430FET</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>29</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CFetMandatory</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Erase</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EMUVerifyDownloadP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EraseOptionSlaveP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>derivativeP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ParallelPortP7</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>TargetVoltage</name>\n          <state>3.3</state>\n        </option>\n        <option>\n          <name>AllowLockedFlashAccessP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EMUAttach</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AttachOptionSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRadioProtocolType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleTypeSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>EEMLevel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DiasbleMemoryCache</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NeedLockedFlashAccess</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UsbComPort</name>\n          <state>Automatic</state>\n        </option>\n        <option>\n          <name>FetConnection</name>\n          <version>4</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SoftwareBreakpointEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioSoftwareBreakpointType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TargetSettlingtime</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AllowAccessToBSL</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTargetVccTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCBetaDll</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GPassword</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DebugLPM5</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LPM5Slave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRadioAutoManualType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExternalCodeDownload</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCVCCDefault</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Retain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>jstatebit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioJtagSpeedType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>memoryTypeSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>fuseBlowDisabledSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>eraseTypeSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DataSampleBpReservation</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>cycleCounterLevel</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>SIM430</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>4</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>SimOddAddressCheckP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CSimMandatory</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>derivativeSim</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimEnablePSP</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimPspOverrideConfig</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimPspConfigFile</name>\n          <state>$TOOLKIT_DIR$\\CONFIG\\test.psp.config</state>\n        </option>\n      </data>\n    </settings>\n    <debuggerPlugins>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\lcd\\lcd.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\SymList\\SymList.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n    </debuggerPlugins>\n  </configuration>\n</project>\n\n\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430f5529lp/qv/iar/blinky-qv.ewp",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<project>\n  <fileVersion>2</fileVersion>\n  <configuration>\n    <name>Debug</name>\n    <toolchain>\n      <name>MSP430</name>\n    </toolchain>\n    <debug>1</debug>\n    <settings>\n      <name>General</name>\n      <archiveVersion>17</archiveVersion>\n      <data>\n        <version>33</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OGCore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExePath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>ObjPath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>ListPath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>Hardware Multiplier</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GOutputBinary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AssemblerOnly</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGDouble</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelect</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RTDescription</name>\n          <state>Use the normal configuration of the C/EC++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n        </option>\n        <option>\n          <name>RTConfigPath</name>\n          <state>$TOOLKIT_DIR$\\lib\\dlib\\dl430xlsfn.h</state>\n        </option>\n        <option>\n          <name>RTLibraryPath</name>\n          <state>$TOOLKIT_DIR$\\lib\\dlib\\dl430xlsfn.r43</state>\n        </option>\n        <option>\n          <name>Input variant</name>\n          <version>2</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>Input description</name>\n          <state>No specifier n, no float nor long long, no scan set, no assignment suppressing, without multibyte support.</state>\n        </option>\n        <option>\n          <name>Output variant</name>\n          <version>2</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>Output description</name>\n          <state>No specifier a or A, no specifier n, no float or long long, no flags.</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelectSlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GeneralEnableMisra</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVerbose</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGChipSelectMenu</name>\n          <state>MSP430F5529\tMSP430F5529</state>\n        </option>\n        <option>\n          <name>GStackHeapOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GStackSize2</name>\n          <state>160</state>\n        </option>\n        <option>\n          <name>GHeapSize2</name>\n          <state>160</state>\n        </option>\n        <option>\n          <name>RadioDataModelType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GHeap20Size</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>RadioHeapSizeType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioHardwareMultiplierType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>RadioL092ModelType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Ropi</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NoRwDynamicInit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibThreads</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MathLib</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioCodeModelType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEnableMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GESupportMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GELockMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GENMIViolationMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEAssertMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEInfoReadMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEInfoWriteMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEInfoExecuteMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEInfoAssertMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEnableIpe</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GESupportIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GAssertIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GLockIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Math variant</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Math description</name>\n          <state>Default variants of cos, sin, tan, log, log10, pow, and exp.</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICC430</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>37</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CCDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCPreprocFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocComments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMnemonics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMessages</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagSuppress</name>\n          <state>Pa50</state>\n        </option>\n        <option>\n          <name>CCDiagRemark</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagWarning</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagError</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IObjPrefix2</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRequirePrototypes</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCAllowList</name>\n          <version>1</version>\n          <state>00000</state>\n        </option>\n        <option>\n          <name>CCObjUseModuleName</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCObjModuleName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDebugInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagWarnAreErr</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCharIs</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCExt</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMigrationPreprocExtentions</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCompilerRuntimeInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IDoubleSize</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.r43</state>\n        </option>\n        <option>\n          <name>CCLibConfigHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCR4Utilize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCR5Utilize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>PreInclude</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCOverrideModuleTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleTypeSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>newCCIncludePaths</name>\n          <state>$PROJ_DIR$\\.</state>\n          <state>$PROJ_DIR$\\..\\..</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\msp430\\qv\\iar</state>\n        </option>\n        <option>\n          <name>CCStdIncCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CompilerMisraOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OI430X</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ReduceStack</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Save20bit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CompilerDataModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptStrategy</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOptLevelSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>IccLang</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccAllowVLA</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCppDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCPUTAG</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCCodeFunctions</name>\n          <state>CODE</state>\n        </option>\n        <option>\n          <name>CCData16</name>\n          <state>DATA16</state>\n        </option>\n        <option>\n          <name>CCData20</name>\n          <state>DATA20</state>\n        </option>\n        <option>\n          <name>CCIntvec</name>\n          <state>INTVEC</state>\n        </option>\n        <option>\n          <name>CCCstack</name>\n          <state>CSTACK</state>\n        </option>\n        <option>\n          <name>CCRamFuncCode</name>\n          <state>RAMFUNC_CODE</state>\n        </option>\n        <option>\n          <name>CCIsrCode</name>\n          <state>ISR_CODE</state>\n        </option>\n        <option>\n          <name>CCDifunct</name>\n          <state>DIFUNCT</state>\n        </option>\n        <option>\n          <name>IccCppInlineSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccStaticDestr</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccFloatSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CROPI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CNoRwDynamicInit</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptimizationNoSizeConstraints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCGuardCalls</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCGuardCallsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerCodeModel</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>A430</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>14</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>AObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ACaseSensitivity</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacroChars</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnWhat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnOne</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AListHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AListing</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Includes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacExps</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacExec</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OnlyAssed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MultiLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>TabSpacing</name>\n          <state>8</state>\n        </option>\n        <option>\n          <name>AXRef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDefines</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefInternal</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDual</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADebug</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ADebugType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrOn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrNum</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.r43</state>\n        </option>\n        <option>\n          <name>AMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OA1M</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AIgnoreStdInclude</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AStdIncludes</name>\n          <state>$TOOLKIT_DIR$\\INC\\</state>\n        </option>\n        <option>\n          <name>AUserIncludes</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ACPUTAG</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CUSTOM</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <extensions></extensions>\n        <cmdline></cmdline>\n        <hasPrio>0</hasPrio>\n      </data>\n    </settings>\n    <settings>\n      <name>BICOMP</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>BUILDACTION</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <prebuild></prebuild>\n        <postbuild></postbuild>\n      </data>\n    </settings>\n    <settings>\n      <name>XLINK</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>29</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>XOutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>blinky-qv.d43</state>\n        </option>\n        <option>\n          <name>OutputFormat</name>\n          <version>11</version>\n          <state>33</state>\n        </option>\n        <option>\n          <name>FormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>SecondaryOutputFile</name>\n          <state>(None for the selected format)</state>\n        </option>\n        <option>\n          <name>XDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AlwaysOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OverlapWarnings</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NoGlobalCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SegmentMap</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ListSymbols</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>XIncludes</name>\n          <state>$TOOLKIT_DIR$\\LIB\\</state>\n        </option>\n        <option>\n          <name>ModuleStatus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclFile</name>\n          <state>$TOOLKIT_DIR$\\config\\linker\\lnk430f5529.xcl</state>\n        </option>\n        <option>\n          <name>XclFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DoFill</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FillerByte</name>\n          <state>0xFF</state>\n        </option>\n        <option>\n          <name>DoCrc</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcSize</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcAlgo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcPoly</name>\n          <state>0x11021</state>\n        </option>\n        <option>\n          <name>CrcCompl</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RangeCheckAlternatives</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressAllWarn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressDiags</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsWarn</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsErr</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ModuleLocalSym</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcBitOrder</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XHardwareMul</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IncludeSuppressed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ModuleSummary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkStackSize</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkCodeModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabel</name>\n          <state>__program_start</state>\n        </option>\n        <option>\n          <name>DebugInformation</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RuntimeControl</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IoEmulation</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XcRTLibraryFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OXLibIOConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XLibraryHeap</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AllowExtraOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GenerateExtraOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExtraOutputFile</name>\n          <state>blinky-qv.a43</state>\n        </option>\n        <option>\n          <name>ExtraOutputFormat</name>\n          <version>11</version>\n          <state>23</state>\n        </option>\n        <option>\n          <name>ExtraFormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>xcOverrideProgramEntryLabel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabelSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ListOutputFormat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>BufferedTermOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OverlaySystemMap</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RawBinaryFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySymbol</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySegment</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinaryAlign</name>\n          <state></state>\n        </option>\n        <option>\n          <name>XLinkMisraHandler</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcAlign</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>CrcInitialValue</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>XLibraryHeap20</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcUnitSize</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LinkMathLib</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkThreadsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkMPU</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkIPE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkLogEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogInputFiles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogModuleSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogPrintfScanf</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogSegmentSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogStackDepth</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkStackUsageEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkControlFiles</name>\n          <state></state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileName</name>\n          <state>$LIST_DIR$\\$PROJ_FNAME$.call_graph.cgx</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>XAR</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>XAROutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XARInputs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ULP430</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CUTest</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>ULPRules</name>\n          <version>0</version>\n          <state>1111111111111111111</state>\n        </option>\n        <option>\n          <name>ULPEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$PROJ_FNAME$.ulp</state>\n        </option>\n        <option>\n          <name>ULPStatus</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>BILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n  </configuration>\n  <configuration>\n    <name>Release</name>\n    <toolchain>\n      <name>MSP430</name>\n    </toolchain>\n    <debug>0</debug>\n    <settings>\n      <name>General</name>\n      <archiveVersion>17</archiveVersion>\n      <data>\n        <version>33</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OGCore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExePath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>ObjPath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>ListPath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>Hardware Multiplier</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GOutputBinary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AssemblerOnly</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGDouble</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelect</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RTDescription</name>\n          <state>Use the normal configuration of the C/EC++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n        </option>\n        <option>\n          <name>RTConfigPath</name>\n          <state>$TOOLKIT_DIR$\\lib\\dlib\\dl430xlsfn.h</state>\n        </option>\n        <option>\n          <name>RTLibraryPath</name>\n          <state>$TOOLKIT_DIR$\\lib\\dlib\\dl430xlsfn.r43</state>\n        </option>\n        <option>\n          <name>Input variant</name>\n          <version>2</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>Input description</name>\n          <state>No specifier n, no float nor long long, no scan set, no assignment suppressing, without multibyte support.</state>\n        </option>\n        <option>\n          <name>Output variant</name>\n          <version>2</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>Output description</name>\n          <state>No specifier a or A, no specifier n, no float or long long, no flags.</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelectSlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GeneralEnableMisra</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVerbose</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGChipSelectMenu</name>\n          <state>MSP430F5529\tMSP430F5529</state>\n        </option>\n        <option>\n          <name>GStackHeapOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GStackSize2</name>\n          <state>160</state>\n        </option>\n        <option>\n          <name>GHeapSize2</name>\n          <state>160</state>\n        </option>\n        <option>\n          <name>RadioDataModelType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GHeap20Size</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>RadioHeapSizeType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioHardwareMultiplierType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>RadioL092ModelType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Ropi</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NoRwDynamicInit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibThreads</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MathLib</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioCodeModelType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEnableMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GESupportMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GELockMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GENMIViolationMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEAssertMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEInfoReadMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEInfoWriteMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEInfoExecuteMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEInfoAssertMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEnableIpe</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GESupportIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GAssertIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GLockIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Math variant</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Math description</name>\n          <state>Default variants of cos, sin, tan, log, log10, pow, and exp.</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICC430</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>37</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CCDefines</name>\n          <state>NDEBUG</state>\n        </option>\n        <option>\n          <name>CCPreprocFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocComments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMnemonics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMessages</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagSuppress</name>\n          <state>Pa50</state>\n        </option>\n        <option>\n          <name>CCDiagRemark</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagWarning</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagError</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IObjPrefix2</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRequirePrototypes</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCAllowList</name>\n          <version>1</version>\n          <state>11111</state>\n        </option>\n        <option>\n          <name>CCObjUseModuleName</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCObjModuleName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDebugInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagWarnAreErr</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCharIs</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCExt</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMigrationPreprocExtentions</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCompilerRuntimeInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IDoubleSize</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.r43</state>\n        </option>\n        <option>\n          <name>CCLibConfigHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCR4Utilize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCR5Utilize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>PreInclude</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCOverrideModuleTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleTypeSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>newCCIncludePaths</name>\n          <state>$PROJ_DIR$\\.</state>\n          <state>$PROJ_DIR$\\..\\..</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\msp430\\qv\\iar</state>\n        </option>\n        <option>\n          <name>CCStdIncCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CompilerMisraOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OI430X</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ReduceStack</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Save20bit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CompilerDataModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevel</name>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CCOptStrategy</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevelSlave</name>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>IccLang</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccAllowVLA</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCppDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCPUTAG</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCCodeFunctions</name>\n          <state>CODE</state>\n        </option>\n        <option>\n          <name>CCData16</name>\n          <state>DATA16</state>\n        </option>\n        <option>\n          <name>CCData20</name>\n          <state>DATA20</state>\n        </option>\n        <option>\n          <name>CCIntvec</name>\n          <state>INTVEC</state>\n        </option>\n        <option>\n          <name>CCCstack</name>\n          <state>CSTACK</state>\n        </option>\n        <option>\n          <name>CCRamFuncCode</name>\n          <state>RAMFUNC_CODE</state>\n        </option>\n        <option>\n          <name>CCIsrCode</name>\n          <state>ISR_CODE</state>\n        </option>\n        <option>\n          <name>CCDifunct</name>\n          <state>DIFUNCT</state>\n        </option>\n        <option>\n          <name>IccCppInlineSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccStaticDestr</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccFloatSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CROPI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CNoRwDynamicInit</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptimizationNoSizeConstraints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCGuardCalls</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCGuardCallsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerCodeModel</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>A430</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>14</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>AObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ACaseSensitivity</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacroChars</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnWhat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnOne</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AListHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AListing</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Includes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacExps</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacExec</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OnlyAssed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MultiLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>TabSpacing</name>\n          <state>8</state>\n        </option>\n        <option>\n          <name>AXRef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDefines</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefInternal</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDual</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADebug</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ADebugType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrOn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrNum</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.r43</state>\n        </option>\n        <option>\n          <name>AMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OA1M</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AIgnoreStdInclude</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AStdIncludes</name>\n          <state>$TOOLKIT_DIR$\\INC\\</state>\n        </option>\n        <option>\n          <name>AUserIncludes</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ACPUTAG</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CUSTOM</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <extensions></extensions>\n        <cmdline></cmdline>\n        <hasPrio>0</hasPrio>\n      </data>\n    </settings>\n    <settings>\n      <name>BICOMP</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>BUILDACTION</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <prebuild></prebuild>\n        <postbuild></postbuild>\n      </data>\n    </settings>\n    <settings>\n      <name>XLINK</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>29</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>XOutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>blinky-qv.d43</state>\n        </option>\n        <option>\n          <name>OutputFormat</name>\n          <version>11</version>\n          <state>33</state>\n        </option>\n        <option>\n          <name>FormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>SecondaryOutputFile</name>\n          <state>(None for the selected format)</state>\n        </option>\n        <option>\n          <name>XDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AlwaysOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OverlapWarnings</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NoGlobalCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SegmentMap</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ListSymbols</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>XIncludes</name>\n          <state>$TOOLKIT_DIR$\\LIB\\</state>\n        </option>\n        <option>\n          <name>ModuleStatus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclFile</name>\n          <state>$TOOLKIT_DIR$\\config\\linker\\lnk430f5529.xcl</state>\n        </option>\n        <option>\n          <name>XclFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DoFill</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FillerByte</name>\n          <state>0xFF</state>\n        </option>\n        <option>\n          <name>DoCrc</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcSize</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcAlgo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcPoly</name>\n          <state>0x11021</state>\n        </option>\n        <option>\n          <name>CrcCompl</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RangeCheckAlternatives</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressAllWarn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressDiags</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsWarn</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsErr</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ModuleLocalSym</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcBitOrder</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XHardwareMul</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IncludeSuppressed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ModuleSummary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkStackSize</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkCodeModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabel</name>\n          <state>__program_start</state>\n        </option>\n        <option>\n          <name>DebugInformation</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RuntimeControl</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IoEmulation</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XcRTLibraryFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OXLibIOConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XLibraryHeap</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AllowExtraOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GenerateExtraOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExtraOutputFile</name>\n          <state>blinky-qv.a43</state>\n        </option>\n        <option>\n          <name>ExtraOutputFormat</name>\n          <version>11</version>\n          <state>23</state>\n        </option>\n        <option>\n          <name>ExtraFormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>xcOverrideProgramEntryLabel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabelSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ListOutputFormat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>BufferedTermOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OverlaySystemMap</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RawBinaryFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySymbol</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySegment</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinaryAlign</name>\n          <state></state>\n        </option>\n        <option>\n          <name>XLinkMisraHandler</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcAlign</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>CrcInitialValue</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>XLibraryHeap20</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcUnitSize</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LinkMathLib</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkThreadsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkMPU</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkIPE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkLogEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogInputFiles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogModuleSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogPrintfScanf</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogSegmentSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogStackDepth</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkStackUsageEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkControlFiles</name>\n          <state></state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileName</name>\n          <state>$LIST_DIR$\\$PROJ_FNAME$.call_graph.cgx</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>XAR</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>XAROutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XARInputs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ULP430</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CUTest</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>ULPRules</name>\n          <version>0</version>\n          <state>1111111111111111111</state>\n        </option>\n        <option>\n          <name>ULPEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ULPStatus</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>BILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n  </configuration>\n  <group>\n    <name>Application</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\blinky.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\blinky.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\bsp.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\bsp.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\main.c</name>\n    </file>\n  </group>\n  <group>\n    <name>QP</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qepn.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qfn.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qvn\\qvn.c</name>\n    </file>\n  </group>\n</project>\n\n\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430f5529lp/qv/iar/blinky-qv.eww",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<workspace>\n  <project>\n    <path>$WS_DIR$\\blinky-qv.ewp</path>\n  </project>\n  <batchBuild/>\n</workspace>\n\n\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430g2/README.url",
    "content": "[InternetShortcut]\nURL=http://www.state-machine.com/qpn/msp430_blinky_msp-exp430g2.html\nIconFile=http://www.state-machine.com/qp.ico\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430g2/blinky.c",
    "content": "/*****************************************************************************\n* Product: Simple Blinky example\n* Last updated for version 5.4.0\n* Last updated on  2015-05-18\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, www.state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"blinky.h\"\n#include \"bsp.h\"\n\n//Q_DEFINE_THIS_FILE\n\n/*..........................................................................*/\ntypedef struct BlinkyTag {  /* the Blinky active object */\n    QActive super;          /* inherit QActive */\n} Blinky;\n\n/* hierarchical state machine ... */\nstatic QState Blinky_initial(Blinky * const me);\nstatic QState Blinky_off    (Blinky * const me);\nstatic QState Blinky_on     (Blinky * const me);\n\n/* Global objects ----------------------------------------------------------*/\nBlinky AO_Blinky;   /* the single instance of the Blinky AO */\n\n/*..........................................................................*/\nvoid Blinky_ctor(void) {\n    Blinky * const me = &AO_Blinky;\n    QActive_ctor(&me->super, Q_STATE_CAST(&Blinky_initial));\n}\n\n/* HSM definition ----------------------------------------------------------*/\nQState Blinky_initial(Blinky * const me) {\n    QActive_armX((QActive *)me, 0U,\n                 BSP_TICKS_PER_SEC/2U, BSP_TICKS_PER_SEC/2U);\n    return Q_TRAN(&Blinky_off);\n}\n/*..........................................................................*/\nQState Blinky_off(Blinky * const me) {\n    QState status;\n    switch (Q_SIG(me)) {\n        case Q_ENTRY_SIG: {\n            BSP_ledOff();\n            status = Q_HANDLED();\n            break;\n        }\n        case Q_TIMEOUT_SIG: {\n            status = Q_TRAN(&Blinky_on);\n            break;\n        }\n        default: {\n            status = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status;\n}\n/*..........................................................................*/\nQState Blinky_on(Blinky * const me) {\n    QState status;\n    switch (Q_SIG(me)) {\n        case Q_ENTRY_SIG: {\n            BSP_ledOn();\n            status = Q_HANDLED();\n            break;\n        }\n        case Q_TIMEOUT_SIG: {\n            status = Q_TRAN(&Blinky_off);\n            break;\n        }\n        default: {\n            status = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status;\n}\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430g2/blinky.h",
    "content": "/*****************************************************************************\n* Product: simple \"Blinky\" example\n* Last updated for version 5.4.0\n* Last updated on  2015-05-18\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, www.state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BLINKY_H\n#define BLINKY_H\n\nenum BlinkySignals {\n    DUMMY_SIG = Q_USER_SIG,\n    MAX_PUB_SIG,          /* the last published signal */\n\n    TIMEOUT_SIG,\n    MAX_SIG               /* the last signal */\n};\n\nvoid Blinky_ctor(void);\n\nextern struct BlinkyTag AO_Blinky;\n\n#endif /* BLINKY_H */\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430g2/bsp.h",
    "content": "/*****************************************************************************\n* Product: Simple Blinky example\n* Last updated for version 5.4.0\n* Last updated on  2015-05-18\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, www.state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BSP_H\n#define BSP_H\n\n#define BSP_TICKS_PER_SEC    100U\n\nvoid BSP_init(void);\nvoid BSP_ledOff(void);\nvoid BSP_ledOn(void);\n\n#endif /* BSP_H */\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430g2/main.c",
    "content": "/*****************************************************************************\n* Product: \"Blinky\" example\n* Last Updated for Version: 5.8.0\n* Date of the Last Update:  2016-11-06\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"     /* QP-nano API */\n#include \"bsp.h\"     /* Board Support Package */\n#include \"blinky.h\"  /* Application interface */\n\n/* Local-scope objects -----------------------------------------------------*/\nstatic QEvt l_blinkyQSto[10]; /* Event queue storage for Blinky */\n\n/* QF_active[] array defines all active object control blocks --------------*/\nQActiveCB const Q_ROM QF_active[] = {\n    { (QActive *)0,           (QEvt *)0,        0U                      },\n    { (QActive *)&AO_Blinky,  l_blinkyQSto,     Q_DIM(l_blinkyQSto)     }\n};\n\n/*..........................................................................*/\nint main(void) {\n    Blinky_ctor(); /* instantiate all Blinky AO */\n\n    QF_init(Q_DIM(QF_active)); /* initialize the QF-nano framework */\n    BSP_init();      /* initialize the Board Support Package */\n\n    return QF_run(); /* transfer control to QF-nano */\n}\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430g2/qk/bsp.c",
    "content": "/*****************************************************************************\n* Product: \"Blinky\" on MSP-EXP430G2, preemptive QK-nano kernel\n* Last Updated for Version: 5.4.0\n* Date of the Last Update:  2015-05-28\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"blinky.h\"\n#include \"bsp.h\"\n\n#include <msp430g2553.h>  /* MSP430 variant used */\n/* add other drivers if necessary... */\n\n//Q_DEFINE_THIS_FILE\n\n/* Local-scope objects -----------------------------------------------------*/\n/* 1MHz clock setting, see BSP_init() */\n#define BSP_MCK     1000000U\n#define BSP_SMCLK   1000000U\n\n#define LED1        (1U << 0)\n#define LED2        (1U << 6)\n\n/* ISRs used in this project ===============================================*/\n#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)\n    __interrupt void TIMER0_A0_ISR(void); /* prototype */\n    #pragma vector=TIMER0_A0_VECTOR\n    __interrupt void TIMER0_A0_ISR(void)\n#elif defined(__GNUC__)\n    void __attribute__ ((interrupt(TIMER0_A0_VECTOR))) TIMER0_A0_ISR (void)\n#else\n    #error Compiler not supported!\n#endif\n{\n    QK_ISR_ENTRY();    /* inform QK about entering the ISR */\n\n    TACTL &= ~TAIFG;   /* clear the interrupt pending flag */\n    QF_tickXISR(0U);   /* process time events for rate 0 */\n\n    QK_ISR_EXIT();     /* inform QK about exiting the ISR */\n}\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    WDTCTL = WDTPW | WDTHOLD; /* stop watchdog timer */\n\n    /* configure the Basic Clock Module */\n    DCOCTL = 0;             // Select lowest DCOx and MODx settings\n    BCSCTL1 = CALBC1_1MHZ;  // Set DCO\n    DCOCTL = CALDCO_1MHZ;\n\n    P1DIR |= (LED1 | LED2);  /* set LED1 and LED2 pins to output  */\n}\n/*..........................................................................*/\nvoid BSP_ledOff(void) {\n    P1OUT &= ~LED1;        /* turn LED1 off */\n}\n/*..........................................................................*/\nvoid BSP_ledOn(void) {\n    P1OUT |= LED1;         /* turn LED1 on */\n}\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    TACTL  = (ID_3 | TASSEL_2 | MC_1);  /* SMCLK, /8 divider, upmode */\n    TACCR0 = (((BSP_SMCLK / 8U) + BSP_TICKS_PER_SEC/2U) / BSP_TICKS_PER_SEC);\n    CCTL0 = CCIE;  /* CCR0 interrupt enabled */\n}\n/*..........................................................................*/\nvoid QK_onIdle(void) {\n    /* toggle LED2 on and then off, see NOTE1 */\n    QF_INT_DISABLE();\n    P1OUT |=  LED2;        /* turn LED2 on */\n    P1OUT &= ~LED2;        /* turn LED2 off */\n    QF_INT_ENABLE();\n\n#ifdef NDEBUG\n    /* Put the CPU and peripherals to the low-power mode.\n    * you might need to customize the clock management for your application,\n    * see the datasheet for your particular MSP430 MCU.\n    */\n    __low_power_mode_1(); /* Enter LPM1; also ENABLES interrupts */\n#endif\n}\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const file, int line) {\n    /* implement the error-handling policy for your application!!! */\n    QF_INT_DISABLE(); /* disable all interrupts */\n\n    /* cause the reset of the CPU... */\n    WDTCTL = WDTPW | WDTHOLD;\n    __asm(\"    push &0xFFFE\");\n    /* return from function does the reset */\n}\n\n/*****************************************************************************\n* NOTE1:\n* One of the LEDs is used to visualize the idle loop activity. The brightness\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430g2/qk/ccs/.ccsproject",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<?ccsproject version=\"1.0\"?>\n<projectOptions>\n\t<deviceVariant value=\"MSP430G2553\"/>\n\t<deviceFamily value=\"MSP430\"/>\n\t<codegenToolVersion value=\"4.4.4\"/>\n\t<isElfFormat value=\"true\"/>\n\t<connection value=\"common/targetdb/connections/TIMSP430-USB.xml\"/>\n\t<linkerCommandFile value=\"lnk_msp430g2553.cmd\"/>\n\t<rts value=\"libc.a\"/>\n\t<createSlaveProjects value=\"\"/>\n\t<templateProperties value=\"id=com.ti.common.project.core.emptyProjectWithMainTemplate_msp430,\"/>\n\t<isTargetManual value=\"false\"/>\n</projectOptions>\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430g2/qk/ccs/.cproject",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<?fileVersion 4.0.0?><cproject storage_type_id=\"org.eclipse.cdt.core.XmlProjectDescriptionStorage\">\n\t<storageModule configRelations=\"2\" moduleId=\"org.eclipse.cdt.core.settings\">\n\t\t<cconfiguration id=\"com.ti.ccstudio.buildDefinitions.MSP430.Debug.735945396\">\n\t\t\t<storageModule buildSystemId=\"org.eclipse.cdt.managedbuilder.core.configurationDataProvider\" id=\"com.ti.ccstudio.buildDefinitions.MSP430.Debug.735945396\" moduleId=\"org.eclipse.cdt.core.settings\" name=\"Debug\">\n\t\t\t\t<externalSettings/>\n\t\t\t\t<extensions>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.binaryparser.CoffParser\" point=\"org.eclipse.cdt.core.BinaryParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.CoffErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.LinkErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.AsmErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GmakeErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t</extensions>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t\t\t<configuration artifactExtension=\"out\" artifactName=\"${ProjName}\" buildProperties=\"\" cleanCommand=\"${CG_CLEAN_CMD}\" description=\"\" id=\"com.ti.ccstudio.buildDefinitions.MSP430.Debug.735945396\" name=\"Debug\" parent=\"com.ti.ccstudio.buildDefinitions.MSP430.Debug\" postbuildStep=\"\" prebuildStep=\"\">\n\t\t\t\t\t<folderInfo id=\"com.ti.ccstudio.buildDefinitions.MSP430.Debug.735945396.\" name=\"/\" resourcePath=\"\">\n\t\t\t\t\t\t<toolChain id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.DebugToolchain.1551155095\" name=\"TI Build Tools\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.DebugToolchain\" targetTool=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerDebug.1514674487\">\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1282971692\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_CONFIGURATION_ID=MSP430G2553\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_ENDIANNESS=little\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_FORMAT=ELF\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"LINKER_COMMAND_FILE=lnk_msp430g2553.cmd\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"RUNTIME_SUPPORT_LIBRARY=libc.a\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"CCS_MBS_VERSION=6.1.3\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_TYPE=executable\"/>\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.127104363\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION\" value=\"16.9.6.LTS\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<targetPlatform id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.targetPlatformDebug.399444074\" name=\"Platform\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.targetPlatformDebug\"/>\n\t\t\t\t\t\t\t<builder buildPath=\"${BuildDirectory}\" id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.builderDebug.916741665\" name=\"GNU Make.Debug\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.builderDebug\"/>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.compilerDebug.543001554\" name=\"MSP430 Compiler\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.compilerDebug\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEFINE.489325920\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEFINE\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"__MSP430G2553__\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY.639605989\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY.none\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION.123781303\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION.msp\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT.1981706969\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT.minimal\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.INCLUDE_PATH.1198185627\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.INCLUDE_PATH\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CCS_BASE_ROOT}/msp430/include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CCS_BASE_ROOT}/msp430/include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}\\.&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}\\..\\..&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}\\..\\..\\..\\..\\..\\include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}\\..\\..\\..\\..\\..\\ports\\msp430\\qk\\ccs&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CG_TOOL_ROOT}/include&quot;\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ADVICE__POWER_SEVERITY.259105445\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ADVICE__POWER_SEVERITY\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ADVICE__POWER_SEVERITY.error\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.630868213\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WARNING.1146418928\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WARNING\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"225\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP.411820263\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP.off\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DISPLAY_ERROR_NUMBER.854206713\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DISPLAY_ERROR_NUMBER\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI.397833015\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI.eabi\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__C_SRCS.1234466352\" name=\"C Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__C_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__CPP_SRCS.1548674670\" name=\"C++ Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__CPP_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM_SRCS.1204097334\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM2_SRCS.1507359800\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM2_SRCS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerDebug.1514674487\" name=\"MSP430 Linker\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerDebug\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY.1001680519\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY.none\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.HEAP_SIZE.1837263361\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.HEAP_SIZE\" value=\"0\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.STACK_SIZE.1189403319\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.STACK_SIZE\" value=\"128\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.MAP_FILE.900398696\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.MAP_FILE\" value=\"&quot;${ProjName}.map&quot;\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.OUTPUT_FILE.2132947465\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.OUTPUT_FILE\" value=\"${ProjName}.out\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.LIBRARY.849622290\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.LIBRARY\" valueType=\"libs\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"libc.a\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.SEARCH_PATH.697598674\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.SEARCH_PATH\" valueType=\"libPaths\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CCS_BASE_ROOT}/msp430/include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CCS_BASE_ROOT}/msp430/include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CG_TOOL_ROOT}/lib&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CG_TOOL_ROOT}/include&quot;\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP.1008494583\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP.off\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DISPLAY_ERROR_NUMBER.1866273383\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DISPLAY_ERROR_NUMBER\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.XML_LINK_INFO.51301584\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.XML_LINK_INFO\" value=\"&quot;${ProjName}_linkInfo.xml&quot;\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD_SRCS.262486412\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD2_SRCS.2097544207\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD2_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__GEN_CMDS.1446790251\" name=\"Generated Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__GEN_CMDS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.2025489208\" name=\"MSP430 Hex Utility\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.ROMWIDTH.1127112284\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.ROMWIDTH\" value=\"8\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.MEMWIDTH.962928348\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.MEMWIDTH\" value=\"8\" valueType=\"string\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t</toolChain>\n\t\t\t\t\t</folderInfo>\n\t\t\t\t\t<folderInfo id=\"com.ti.ccstudio.buildDefinitions.MSP430.Debug.735945396.QP\" name=\"QP\" resourcePath=\"QP\">\n\t\t\t\t\t\t<toolChain id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.DebugToolchain.1091182773\" name=\"TI Build Tools\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.DebugToolchain\" unusedChildren=\"\">\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1282971692.395022183\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1282971692\"/>\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.127104363.274463975\" name=\"Compiler version\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.127104363\"/>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.compilerDebug.2096437777\" name=\"MSP430 Compiler\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.compilerDebug.543001554\">\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__C_SRCS.1977041587\" name=\"C Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__C_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__CPP_SRCS.830326212\" name=\"C++ Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__CPP_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM_SRCS.689618740\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM2_SRCS.2115285559\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM2_SRCS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerDebug.465855570\" name=\"MSP430 Linker\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerDebug.1514674487\"/>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.1685194874\" name=\"MSP430 Hex Utility\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.2025489208\"/>\n\t\t\t\t\t\t</toolChain>\n\t\t\t\t\t</folderInfo>\n\t\t\t\t\t<sourceEntries>\n\t\t\t\t\t\t<entry excluding=\"QP/qfn_init.c|QP/qs.c|QP/qs_fp.c|QP/qs_64bit.c|QP/qv.c\" flags=\"VALUE_WORKSPACE_PATH|RESOLVED\" kind=\"sourcePath\" name=\"\"/>\n\t\t\t\t\t</sourceEntries>\n\t\t\t\t</configuration>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"org.eclipse.cdt.core.externalSettings\"/>\n\t\t</cconfiguration>\n\t\t<cconfiguration id=\"com.ti.ccstudio.buildDefinitions.MSP430.Release.163352521\">\n\t\t\t<storageModule buildSystemId=\"org.eclipse.cdt.managedbuilder.core.configurationDataProvider\" id=\"com.ti.ccstudio.buildDefinitions.MSP430.Release.163352521\" moduleId=\"org.eclipse.cdt.core.settings\" name=\"Release\">\n\t\t\t\t<externalSettings/>\n\t\t\t\t<extensions>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.binaryparser.CoffParser\" point=\"org.eclipse.cdt.core.BinaryParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.CoffErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.LinkErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.AsmErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GmakeErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t</extensions>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t\t\t<configuration artifactExtension=\"out\" artifactName=\"${ProjName}\" buildProperties=\"\" cleanCommand=\"${CG_CLEAN_CMD}\" description=\"\" id=\"com.ti.ccstudio.buildDefinitions.MSP430.Release.163352521\" name=\"Release\" parent=\"com.ti.ccstudio.buildDefinitions.MSP430.Release\" postbuildStep=\"\" prebuildStep=\"\">\n\t\t\t\t\t<folderInfo id=\"com.ti.ccstudio.buildDefinitions.MSP430.Release.163352521.\" name=\"/\" resourcePath=\"\">\n\t\t\t\t\t\t<toolChain id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.ReleaseToolchain.316394496\" name=\"TI Build Tools\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.ReleaseToolchain\" targetTool=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerRelease.806785067\">\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1510185030\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_CONFIGURATION_ID=MSP430G2553\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_ENDIANNESS=little\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_FORMAT=ELF\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"LINKER_COMMAND_FILE=lnk_msp430g2553.cmd\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"RUNTIME_SUPPORT_LIBRARY=libc.a\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"CCS_MBS_VERSION=6.1.3\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_TYPE=executable\"/>\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1484342395\" name=\"Compiler version\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION\" value=\"16.9.6.LTS\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<targetPlatform id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.targetPlatformRelease.348678973\" name=\"Platform\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.targetPlatformRelease\"/>\n\t\t\t\t\t\t\t<builder buildPath=\"${BuildDirectory}\" id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.builderRelease.1384403242\" keepEnvironmentInBuildfile=\"false\" name=\"GNU Make\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.builderRelease\"/>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.compilerRelease.113161013\" name=\"MSP430 Compiler\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.compilerRelease\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEFINE.1098953099\" name=\"Pre-define NAME (--define, -D)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEFINE\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"NDEBUG\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"__MSP430G2553__\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY.1914870536\" name=\"Inline hardware multiply version of RTS mpy routine (--use_hw_mpy)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY.none\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION.1703830332\" name=\"Silicon version (--silicon_version, -v)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION.msp\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT.2035208376\" name=\"Level of printf/scanf support required (--printf_support)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT.minimal\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.INCLUDE_PATH.1782375348\" name=\"Add dir to #include search path (--include_path, -I)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.INCLUDE_PATH\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CCS_BASE_ROOT}/msp430/include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CCS_BASE_ROOT}/msp430/include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}\\.&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}\\..\\..&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}\\..\\..\\..\\..\\..\\include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}\\..\\..\\..\\..\\..\\ports\\msp430\\qk\\ccs&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CG_TOOL_ROOT}/include&quot;\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.UNDEFINE.1624638180\" name=\"Undefine NAME (--undefine, -U)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.UNDEFINE\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"_INLINE\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.703262391\" name=\"Debugging model\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.SYMDEBUG__NONE\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WARNING.2146947263\" name=\"Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WARNING\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"225\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP.1330591388\" name=\"Wrap diagnostic messages (--diag_wrap)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP.off\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DISPLAY_ERROR_NUMBER.393326446\" name=\"Emit diagnostic identifier numbers (--display_error_number, -pden)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DISPLAY_ERROR_NUMBER\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI.1666354431\" name=\"Application binary interface (--abi)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI.eabi\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__C_SRCS.913986375\" name=\"C Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__C_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__CPP_SRCS.1509965491\" name=\"C++ Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__CPP_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM_SRCS.1605346369\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM2_SRCS.473060506\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM2_SRCS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerRelease.806785067\" name=\"MSP430 Linker\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerRelease\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY.51215653\" name=\"Deprecated: Now a compiler option instead of linker option (--use_hw_mpy)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY.none\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.HEAP_SIZE.795944524\" name=\"Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.HEAP_SIZE\" value=\"0\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.STACK_SIZE.2097874352\" name=\"Set C system stack size (--stack_size, -stack)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.STACK_SIZE\" value=\"128\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.MAP_FILE.388570878\" name=\"Link information (map) listed into &lt;file&gt; (--map_file, -m)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.MAP_FILE\" value=\"&quot;${ProjName}.map&quot;\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.OUTPUT_FILE.775935798\" name=\"Specify output file name (--output_file, -o)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.OUTPUT_FILE\" value=\"${ProjName}.out\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.LIBRARY.1060977711\" name=\"Include library file or command file as input (--library, -l)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.LIBRARY\" valueType=\"libs\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"libc.a\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.SEARCH_PATH.51416206\" name=\"Add &lt;dir&gt; to library search path (--search_path, -i)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.SEARCH_PATH\" valueType=\"libPaths\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CCS_BASE_ROOT}/msp430/include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CCS_BASE_ROOT}/msp430/include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CG_TOOL_ROOT}/lib&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CG_TOOL_ROOT}/include&quot;\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP.1533485336\" name=\"Wrap diagnostic messages (--diag_wrap)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP.off\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DISPLAY_ERROR_NUMBER.1483121716\" name=\"Emit diagnostic identifier numbers (--display_error_number)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DISPLAY_ERROR_NUMBER\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.XML_LINK_INFO.1797297452\" name=\"Detailed link information data-base into &lt;file&gt; (--xml_link_info, -xml_link_info)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.XML_LINK_INFO\" value=\"&quot;${ProjName}_linkInfo.xml&quot;\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD_SRCS.1067676635\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD2_SRCS.68519841\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD2_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__GEN_CMDS.2134738126\" name=\"Generated Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__GEN_CMDS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.676296900\" name=\"MSP430 Hex Utility\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.ROMWIDTH.909640209\" name=\"Specify rom width (--romwidth, -romwidth=width)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.ROMWIDTH\" value=\"8\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.MEMWIDTH.37063244\" name=\"Specify memory width (--memwidth, -memwidth=width)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.MEMWIDTH\" value=\"8\" valueType=\"string\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t</toolChain>\n\t\t\t\t\t</folderInfo>\n\t\t\t\t\t<sourceEntries>\n\t\t\t\t\t\t<entry excluding=\"QP/qfn_init.c|QP/qv.c|QP/qs.c|QP/qs_fp.c|QP/qs_64bit.c\" flags=\"VALUE_WORKSPACE_PATH|RESOLVED\" kind=\"sourcePath\" name=\"\"/>\n\t\t\t\t\t</sourceEntries>\n\t\t\t\t</configuration>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"org.eclipse.cdt.core.externalSettings\"/>\n\t\t</cconfiguration>\n\t</storageModule>\n\t<storageModule moduleId=\"org.eclipse.cdt.core.LanguageSettingsProviders\"/>\n\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t<project id=\"blinky-qk_msp-exp430g2.com.ti.ccstudio.buildDefinitions.MSP430.ProjectType.1668636229\" name=\"MSP430\" projectType=\"com.ti.ccstudio.buildDefinitions.MSP430.ProjectType\"/>\n\t</storageModule>\n\t<storageModule moduleId=\"scannerConfiguration\"/>\n\t<storageModule moduleId=\"org.eclipse.cdt.core.language.mapping\">\n\t\t<project-mappings>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.asmSource\" language=\"com.ti.ccstudio.core.TIASMLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cHeader\" language=\"com.ti.ccstudio.core.TIGCCLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cSource\" language=\"com.ti.ccstudio.core.TIGCCLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cxxHeader\" language=\"com.ti.ccstudio.core.TIGPPLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cxxSource\" language=\"com.ti.ccstudio.core.TIGPPLanguage\"/>\n\t\t</project-mappings>\n\t</storageModule>\n\t<storageModule moduleId=\"null.endianPreference\"/>\n\t<storageModule moduleId=\"cpuFamily\"/>\n</cproject>\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430g2/qk/ccs/.project",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<projectDescription>\n\t<name>blinky-qk_msp-exp430g2</name>\n\t<comment></comment>\n\t<projects>\n\t</projects>\n\t<buildSpec>\n\t\t<buildCommand>\n\t\t\t<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t\t<buildCommand>\n\t\t\t<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>\n\t\t\t<triggers>full,incremental,</triggers>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t</buildSpec>\n\t<natures>\n\t\t<nature>com.ti.ccstudio.core.ccsNature</nature>\n\t\t<nature>org.eclipse.cdt.core.cnature</nature>\n\t\t<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>\n\t\t<nature>org.eclipse.cdt.core.ccnature</nature>\n\t\t<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>\n\t</natures>\n\t<linkedResources>\n\t\t<link>\n\t\t\t<name>QKn</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/src/qkn</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>QP</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/src/qfn</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>QP_port</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/ports/msp430/qk/ccs</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>blinky.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/blinky.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>blinky.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/blinky.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>bsp.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-1-PROJECT_LOC/bsp.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>bsp.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/bsp.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>main.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/main.c</locationURI>\n\t\t</link>\n\t</linkedResources>\n</projectDescription>\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430g2/qk/ccs/lnk_msp430g2553.cmd",
    "content": "/* ============================================================================ */\n/* Copyright (c) 2014, Texas Instruments Incorporated                           */\n/*  All rights reserved.                                                        */\n/*                                                                              */\n/*  Redistribution and use in source and binary forms, with or without          */\n/*  modification, are permitted provided that the following conditions          */\n/*  are met:                                                                    */\n/*                                                                              */\n/*  *  Redistributions of source code must retain the above copyright           */\n/*     notice, this list of conditions and the following disclaimer.            */\n/*                                                                              */\n/*  *  Redistributions in binary form must reproduce the above copyright        */\n/*     notice, this list of conditions and the following disclaimer in the      */\n/*     documentation and/or other materials provided with the distribution.     */\n/*                                                                              */\n/*  *  Neither the name of Texas Instruments Incorporated nor the names of      */\n/*     its contributors may be used to endorse or promote products derived      */\n/*     from this software without specific prior written permission.            */\n/*                                                                              */\n/*  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" */\n/*  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,       */\n/*  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR      */\n/*  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR            */\n/*  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,       */\n/*  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,         */\n/*  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; */\n/*  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,    */\n/*  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR     */\n/*  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,              */\n/*  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.                          */\n/* ============================================================================ */\n\n/******************************************************************************/\n/* lnk_msp430g2553.cmd - LINKER COMMAND FILE FOR LINKING MSP430G2553 PROGRAMS     */\n/*                                                                            */\n/*   Usage:  lnk430 <obj files...>    -o <out file> -m <map file> lnk.cmd     */\n/*           cl430  <src files...> -z -o <out file> -m <map file> lnk.cmd     */\n/*                                                                            */\n/*----------------------------------------------------------------------------*/\n/* These linker options are for command line linking only.  For IDE linking,  */\n/* you should set your linker options in Project Properties                   */\n/* -c                                               LINK USING C CONVENTIONS  */\n/* -stack  0x0100                                   SOFTWARE STACK SIZE       */\n/* -heap   0x0100                                   HEAP AREA SIZE            */\n/*                                                                            */\n/*----------------------------------------------------------------------------*/\n/* Version: 1.159                                                             */\n/*----------------------------------------------------------------------------*/\n\n/****************************************************************************/\n/* Specify the system memory map                                            */\n/****************************************************************************/\n\nMEMORY\n{\n    SFR                     : origin = 0x0000, length = 0x0010\n    PERIPHERALS_8BIT        : origin = 0x0010, length = 0x00F0\n    PERIPHERALS_16BIT       : origin = 0x0100, length = 0x0100\n    RAM                     : origin = 0x0200, length = 0x0200\n    INFOA                   : origin = 0x10C0, length = 0x0040\n    INFOB                   : origin = 0x1080, length = 0x0040\n    INFOC                   : origin = 0x1040, length = 0x0040\n    INFOD                   : origin = 0x1000, length = 0x0040\n    FLASH                   : origin = 0xC000, length = 0x3FE0\n    INT00                   : origin = 0xFFE0, length = 0x0002\n    INT01                   : origin = 0xFFE2, length = 0x0002\n    INT02                   : origin = 0xFFE4, length = 0x0002\n    INT03                   : origin = 0xFFE6, length = 0x0002\n    INT04                   : origin = 0xFFE8, length = 0x0002\n    INT05                   : origin = 0xFFEA, length = 0x0002\n    INT06                   : origin = 0xFFEC, length = 0x0002\n    INT07                   : origin = 0xFFEE, length = 0x0002\n    INT08                   : origin = 0xFFF0, length = 0x0002\n    INT09                   : origin = 0xFFF2, length = 0x0002\n    INT10                   : origin = 0xFFF4, length = 0x0002\n    INT11                   : origin = 0xFFF6, length = 0x0002\n    INT12                   : origin = 0xFFF8, length = 0x0002\n    INT13                   : origin = 0xFFFA, length = 0x0002\n    INT14                   : origin = 0xFFFC, length = 0x0002\n    RESET                   : origin = 0xFFFE, length = 0x0002\n}\n\n/****************************************************************************/\n/* Specify the sections allocation into memory                              */\n/****************************************************************************/\n\nSECTIONS\n{\n    .bss        : {} > RAM                  /* Global & static vars              */\n    .data       : {} > RAM                  /* Global & static vars              */\n    .TI.noinit  : {} > RAM                  /* For #pragma noinit                */\n    .sysmem     : {} > RAM                  /* Dynamic memory allocation area    */\n    .stack      : {} > RAM (HIGH)           /* Software system stack             */\n\n    .text       : {} > FLASH                /* Code                              */\n    .cinit      : {} > FLASH                /* Initialization tables             */\n    .const      : {} > FLASH                /* Constant data                     */\n    .cio        : {} > RAM                  /* C I/O Buffer                      */\n\n    .pinit      : {} > FLASH                /* C++ Constructor tables            */\n    .init_array : {} > FLASH                /* C++ Constructor tables            */\n    .mspabi.exidx : {} > FLASH              /* C++ Constructor tables            */\n    .mspabi.extab : {} > FLASH              /* C++ Constructor tables            */\n\n    .infoA     : {} > INFOA              /* MSP430 INFO FLASH Memory segments */\n    .infoB     : {} > INFOB\n    .infoC     : {} > INFOC\n    .infoD     : {} > INFOD\n\n    /* MSP430 Interrupt vectors          */\n    TRAPINT      : { * ( .int00 ) } > INT00 type = VECT_INIT\n    .int01       : {}               > INT01\n    PORT1        : { * ( .int02 ) } > INT02 type = VECT_INIT\n    PORT2        : { * ( .int03 ) } > INT03 type = VECT_INIT\n    .int04       : {}               > INT04\n    ADC10        : { * ( .int05 ) } > INT05 type = VECT_INIT\n    USCIAB0TX    : { * ( .int06 ) } > INT06 type = VECT_INIT\n    USCIAB0RX    : { * ( .int07 ) } > INT07 type = VECT_INIT\n    TIMER0_A1    : { * ( .int08 ) } > INT08 type = VECT_INIT\n    TIMER0_A0    : { * ( .int09 ) } > INT09 type = VECT_INIT\n    WDT          : { * ( .int10 ) } > INT10 type = VECT_INIT\n    COMPARATORA   : { * ( .int11 ) } > INT11 type = VECT_INIT\n    TIMER1_A1    : { * ( .int12 ) } > INT12 type = VECT_INIT\n    TIMER1_A0    : { * ( .int13 ) } > INT13 type = VECT_INIT\n    NMI          : { * ( .int14 ) } > INT14 type = VECT_INIT\n    .reset       : {}               > RESET  /* MSP430 Reset vector         */ \n}\n\n/****************************************************************************/\n/* Include peripherals memory map                                           */\n/****************************************************************************/\n\n-l msp430g2553.cmd\n\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430g2/qk/iar/blinky-qk.ewd",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<project>\n  <fileVersion>2</fileVersion>\n  <configuration>\n    <name>Debug</name>\n    <toolchain>\n      <name>MSP430</name>\n    </toolchain>\n    <debug>1</debug>\n    <settings>\n      <name>C-SPY</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>27</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GoToEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GoToName</name>\n          <state>main</state>\n        </option>\n        <option>\n          <name>DynDriver</name>\n          <state>430FET</state>\n        </option>\n        <option>\n          <name>dDllSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DdfFileSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>DdfOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DdfFileName</name>\n          <state>$TOOLKIT_DIR$\\config\\debugger\\msp430g2553.ddf</state>\n        </option>\n        <option>\n          <name>ProcTMS</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ProcMSP430X</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerDataModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IVBASE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CPUTAG</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>L092Mode</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCImagesOffset1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesUse1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ENERGYTRACE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>FETIPE</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>430FET</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>29</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CFetMandatory</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Erase</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EMUVerifyDownloadP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EraseOptionSlaveP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>derivativeP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ParallelPortP7</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>TargetVoltage</name>\n          <state>3.3</state>\n        </option>\n        <option>\n          <name>AllowLockedFlashAccessP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EMUAttach</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AttachOptionSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRadioProtocolType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRadioModuleTypeSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>EEMLevel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DiasbleMemoryCache</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NeedLockedFlashAccess</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UsbComPort</name>\n          <state>Automatic</state>\n        </option>\n        <option>\n          <name>FetConnection</name>\n          <version>4</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SoftwareBreakpointEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RadioSoftwareBreakpointType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TargetSettlingtime</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AllowAccessToBSL</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTargetVccTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCBetaDll</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GPassword</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DebugLPM5</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LPM5Slave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRadioAutoManualType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExternalCodeDownload</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCVCCDefault</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Retain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>jstatebit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioJtagSpeedType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>memoryTypeSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>fuseBlowDisabledSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>eraseTypeSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DataSampleBpReservation</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>cycleCounterLevel</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>SIM430</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>4</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>SimOddAddressCheckP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CSimMandatory</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>derivativeSim</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimEnablePSP</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimPspOverrideConfig</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimPspConfigFile</name>\n          <state>$TOOLKIT_DIR$\\CONFIG\\test.psp.config</state>\n        </option>\n      </data>\n    </settings>\n    <debuggerPlugins>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\lcd\\lcd.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\SymList\\SymList.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n    </debuggerPlugins>\n  </configuration>\n  <configuration>\n    <name>Release</name>\n    <toolchain>\n      <name>MSP430</name>\n    </toolchain>\n    <debug>0</debug>\n    <settings>\n      <name>C-SPY</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>27</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GoToEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GoToName</name>\n          <state>main</state>\n        </option>\n        <option>\n          <name>DynDriver</name>\n          <state>430FET</state>\n        </option>\n        <option>\n          <name>dDllSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DdfFileSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>DdfOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DdfFileName</name>\n          <state>$TOOLKIT_DIR$\\config\\debugger\\msp430g2553.ddf</state>\n        </option>\n        <option>\n          <name>ProcTMS</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ProcMSP430X</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerDataModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IVBASE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CPUTAG</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>L092Mode</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCImagesOffset1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesUse1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ENERGYTRACE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>FETIPE</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>430FET</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>29</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CFetMandatory</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Erase</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EMUVerifyDownloadP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EraseOptionSlaveP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>derivativeP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ParallelPortP7</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>TargetVoltage</name>\n          <state>3.3</state>\n        </option>\n        <option>\n          <name>AllowLockedFlashAccessP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EMUAttach</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AttachOptionSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRadioProtocolType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRadioModuleTypeSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>EEMLevel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DiasbleMemoryCache</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NeedLockedFlashAccess</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UsbComPort</name>\n          <state>Automatic</state>\n        </option>\n        <option>\n          <name>FetConnection</name>\n          <version>4</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SoftwareBreakpointEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioSoftwareBreakpointType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TargetSettlingtime</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AllowAccessToBSL</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTargetVccTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCBetaDll</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GPassword</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DebugLPM5</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LPM5Slave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRadioAutoManualType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExternalCodeDownload</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCVCCDefault</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Retain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>jstatebit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioJtagSpeedType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>memoryTypeSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>fuseBlowDisabledSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>eraseTypeSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DataSampleBpReservation</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>cycleCounterLevel</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>SIM430</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>4</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>SimOddAddressCheckP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CSimMandatory</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>derivativeSim</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimEnablePSP</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimPspOverrideConfig</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimPspConfigFile</name>\n          <state>$TOOLKIT_DIR$\\CONFIG\\test.psp.config</state>\n        </option>\n      </data>\n    </settings>\n    <debuggerPlugins>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\lcd\\lcd.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\SymList\\SymList.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n    </debuggerPlugins>\n  </configuration>\n</project>\n\n\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430g2/qk/iar/blinky-qk.ewp",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<project>\n  <fileVersion>2</fileVersion>\n  <configuration>\n    <name>Debug</name>\n    <toolchain>\n      <name>MSP430</name>\n    </toolchain>\n    <debug>1</debug>\n    <settings>\n      <name>General</name>\n      <archiveVersion>17</archiveVersion>\n      <data>\n        <version>33</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OGCore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExePath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>ObjPath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>ListPath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>Hardware Multiplier</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GOutputBinary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AssemblerOnly</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGDouble</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelect</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RTDescription</name>\n          <state>Use the normal configuration of the C/EC++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n        </option>\n        <option>\n          <name>RTConfigPath</name>\n          <state>$TOOLKIT_DIR$\\lib\\dlib\\dl430fn.h</state>\n        </option>\n        <option>\n          <name>RTLibraryPath</name>\n          <state>$TOOLKIT_DIR$\\lib\\dlib\\dl430fn.r43</state>\n        </option>\n        <option>\n          <name>Input variant</name>\n          <version>2</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>Input description</name>\n          <state>No specifier n, no float nor long long, no scan set, no assignment suppressing, without multibyte support.</state>\n        </option>\n        <option>\n          <name>Output variant</name>\n          <version>2</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>Output description</name>\n          <state>No specifier a or A, no specifier n, no float or long long, no flags.</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelectSlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GeneralEnableMisra</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVerbose</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGChipSelectMenu</name>\n          <state>MSP430G2553\tMSP430G2553</state>\n        </option>\n        <option>\n          <name>GStackHeapOverride</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GStackSize2</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>GHeapSize2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioDataModelType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GHeap20Size</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>RadioHeapSizeType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioHardwareMultiplierType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>RadioL092ModelType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Ropi</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NoRwDynamicInit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibThreads</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MathLib</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioCodeModelType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEnableMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GESupportMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GELockMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GENMIViolationMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEAssertMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEInfoReadMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEInfoWriteMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEInfoExecuteMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEInfoAssertMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEnableIpe</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GESupportIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GAssertIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GLockIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Math variant</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Math description</name>\n          <state>Default variants of cos, sin, tan, log, log10, pow, and exp.</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICC430</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>37</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CCDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCPreprocFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocComments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMnemonics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMessages</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagSuppress</name>\n          <state>Pa50</state>\n        </option>\n        <option>\n          <name>CCDiagRemark</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagWarning</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagError</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IObjPrefix2</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRequirePrototypes</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCAllowList</name>\n          <version>1</version>\n          <state>00000</state>\n        </option>\n        <option>\n          <name>CCObjUseModuleName</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCObjModuleName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDebugInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagWarnAreErr</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCharIs</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCExt</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMigrationPreprocExtentions</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCompilerRuntimeInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IDoubleSize</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.r43</state>\n        </option>\n        <option>\n          <name>CCLibConfigHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCR4Utilize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCR5Utilize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>PreInclude</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCOverrideModuleTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleTypeSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>newCCIncludePaths</name>\n          <state>$PROJ_DIR$\\.</state>\n          <state>$PROJ_DIR$\\..\\..</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\msp430\\qk\\iar</state>\n        </option>\n        <option>\n          <name>CCStdIncCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CompilerMisraOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OI430X</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ReduceStack</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Save20bit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CompilerDataModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptStrategy</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOptLevelSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>IccLang</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>IccCDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccAllowVLA</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCppDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCPUTAG</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCCodeFunctions</name>\n          <state>CODE</state>\n        </option>\n        <option>\n          <name>CCData16</name>\n          <state>DATA16</state>\n        </option>\n        <option>\n          <name>CCData20</name>\n          <state>DATA20</state>\n        </option>\n        <option>\n          <name>CCIntvec</name>\n          <state>INTVEC</state>\n        </option>\n        <option>\n          <name>CCCstack</name>\n          <state>CSTACK</state>\n        </option>\n        <option>\n          <name>CCRamFuncCode</name>\n          <state>RAMFUNC_CODE</state>\n        </option>\n        <option>\n          <name>CCIsrCode</name>\n          <state>ISR_CODE</state>\n        </option>\n        <option>\n          <name>CCDifunct</name>\n          <state>DIFUNCT</state>\n        </option>\n        <option>\n          <name>IccCppInlineSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccStaticDestr</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccFloatSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CROPI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CNoRwDynamicInit</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptimizationNoSizeConstraints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCGuardCalls</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCGuardCallsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerCodeModel</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>A430</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>14</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>AObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ACaseSensitivity</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacroChars</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnWhat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnOne</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AListHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AListing</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Includes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacExps</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacExec</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OnlyAssed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MultiLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>TabSpacing</name>\n          <state>8</state>\n        </option>\n        <option>\n          <name>AXRef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDefines</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefInternal</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDual</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADebug</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ADebugType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrOn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrNum</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.r43</state>\n        </option>\n        <option>\n          <name>AMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OA1M</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AIgnoreStdInclude</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AStdIncludes</name>\n          <state>$TOOLKIT_DIR$\\INC\\</state>\n        </option>\n        <option>\n          <name>AUserIncludes</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ACPUTAG</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CUSTOM</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <extensions></extensions>\n        <cmdline></cmdline>\n        <hasPrio>0</hasPrio>\n      </data>\n    </settings>\n    <settings>\n      <name>BICOMP</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>BUILDACTION</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <prebuild></prebuild>\n        <postbuild></postbuild>\n      </data>\n    </settings>\n    <settings>\n      <name>XLINK</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>29</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>XOutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>blinky-qk.d43</state>\n        </option>\n        <option>\n          <name>OutputFormat</name>\n          <version>11</version>\n          <state>33</state>\n        </option>\n        <option>\n          <name>FormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>SecondaryOutputFile</name>\n          <state>(None for the selected format)</state>\n        </option>\n        <option>\n          <name>XDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AlwaysOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OverlapWarnings</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NoGlobalCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SegmentMap</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ListSymbols</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>XIncludes</name>\n          <state>$TOOLKIT_DIR$\\LIB\\</state>\n        </option>\n        <option>\n          <name>ModuleStatus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclFile</name>\n          <state>$TOOLKIT_DIR$\\config\\linker\\lnk430g2553.xcl</state>\n        </option>\n        <option>\n          <name>XclFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DoFill</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FillerByte</name>\n          <state>0xFF</state>\n        </option>\n        <option>\n          <name>DoCrc</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcSize</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcAlgo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcPoly</name>\n          <state>0x11021</state>\n        </option>\n        <option>\n          <name>CrcCompl</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RangeCheckAlternatives</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressAllWarn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressDiags</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsWarn</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsErr</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ModuleLocalSym</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcBitOrder</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XHardwareMul</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IncludeSuppressed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ModuleSummary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkStackSize</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkCodeModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabel</name>\n          <state>__program_start</state>\n        </option>\n        <option>\n          <name>DebugInformation</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RuntimeControl</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IoEmulation</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XcRTLibraryFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OXLibIOConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XLibraryHeap</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AllowExtraOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GenerateExtraOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExtraOutputFile</name>\n          <state>blinky-qk.a43</state>\n        </option>\n        <option>\n          <name>ExtraOutputFormat</name>\n          <version>11</version>\n          <state>23</state>\n        </option>\n        <option>\n          <name>ExtraFormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>xcOverrideProgramEntryLabel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabelSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ListOutputFormat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>BufferedTermOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OverlaySystemMap</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RawBinaryFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySymbol</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySegment</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinaryAlign</name>\n          <state></state>\n        </option>\n        <option>\n          <name>XLinkMisraHandler</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcAlign</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>CrcInitialValue</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>XLibraryHeap20</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcUnitSize</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LinkMathLib</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkThreadsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkMPU</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkIPE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkLogEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogInputFiles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogModuleSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogPrintfScanf</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogSegmentSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogStackDepth</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkStackUsageEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkControlFiles</name>\n          <state></state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileName</name>\n          <state>$LIST_DIR$\\$PROJ_FNAME$.call_graph.cgx</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>XAR</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>XAROutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XARInputs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ULP430</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CUTest</name>\n          <state>-I$TOOLKIT_DIR$\\inc</state>\n          <state>-@$TOOLKIT_DIR$\\bin\\iar.cmd</state>\n          <state>-@$PROJ_DIR$\\source.txt</state>\n          <state>-@$PROJ_DIR$\\include.txt</state>\n          <state>--preinclude=$PROJ_DIR$\\IAR_ULPAdvisor_Defs.h</state>\n        </option>\n        <option>\n          <name>ULPRules</name>\n          <version>0</version>\n          <state>1111111111111111111</state>\n        </option>\n        <option>\n          <name>ULPEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$PROJ_FNAME$.ulp</state>\n        </option>\n        <option>\n          <name>ULPStatus</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>BILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n  </configuration>\n  <configuration>\n    <name>Release</name>\n    <toolchain>\n      <name>MSP430</name>\n    </toolchain>\n    <debug>0</debug>\n    <settings>\n      <name>General</name>\n      <archiveVersion>17</archiveVersion>\n      <data>\n        <version>33</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OGCore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExePath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>ObjPath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>ListPath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>Hardware Multiplier</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GOutputBinary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AssemblerOnly</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGDouble</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelect</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RTDescription</name>\n          <state>Use the normal configuration of the C/EC++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n        </option>\n        <option>\n          <name>RTConfigPath</name>\n          <state>$TOOLKIT_DIR$\\lib\\dlib\\dl430fn.h</state>\n        </option>\n        <option>\n          <name>RTLibraryPath</name>\n          <state>$TOOLKIT_DIR$\\lib\\dlib\\dl430fn.r43</state>\n        </option>\n        <option>\n          <name>Input variant</name>\n          <version>2</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>Input description</name>\n          <state>No specifier n, no float nor long long, no scan set, no assignment suppressing, without multibyte support.</state>\n        </option>\n        <option>\n          <name>Output variant</name>\n          <version>2</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>Output description</name>\n          <state>No specifier a or A, no specifier n, no float or long long, no flags.</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelectSlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GeneralEnableMisra</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVerbose</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGChipSelectMenu</name>\n          <state>MSP430G2553\tMSP430G2553</state>\n        </option>\n        <option>\n          <name>GStackHeapOverride</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GStackSize2</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>GHeapSize2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioDataModelType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GHeap20Size</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>RadioHeapSizeType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioHardwareMultiplierType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>RadioL092ModelType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Ropi</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NoRwDynamicInit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibThreads</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MathLib</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioCodeModelType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEnableMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GESupportMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GELockMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GENMIViolationMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEAssertMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEInfoReadMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEInfoWriteMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEInfoExecuteMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEInfoAssertMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEnableIpe</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GESupportIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GAssertIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GLockIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Math variant</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Math description</name>\n          <state>Default variants of cos, sin, tan, log, log10, pow, and exp.</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICC430</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>37</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CCDefines</name>\n          <state>NDEBUG</state>\n        </option>\n        <option>\n          <name>CCPreprocFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocComments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMnemonics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMessages</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagSuppress</name>\n          <state>Pa50</state>\n        </option>\n        <option>\n          <name>CCDiagRemark</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagWarning</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagError</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IObjPrefix2</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRequirePrototypes</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCAllowList</name>\n          <version>1</version>\n          <state>11111</state>\n        </option>\n        <option>\n          <name>CCObjUseModuleName</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCObjModuleName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDebugInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagWarnAreErr</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCharIs</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCExt</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMigrationPreprocExtentions</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCompilerRuntimeInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IDoubleSize</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.r43</state>\n        </option>\n        <option>\n          <name>CCLibConfigHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCR4Utilize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCR5Utilize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>PreInclude</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCOverrideModuleTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleTypeSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>newCCIncludePaths</name>\n          <state>$PROJ_DIR$\\.</state>\n          <state>$PROJ_DIR$\\..\\..</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\msp430\\qk\\iar</state>\n        </option>\n        <option>\n          <name>CCStdIncCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CompilerMisraOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OI430X</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ReduceStack</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Save20bit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CompilerDataModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevel</name>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CCOptStrategy</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevelSlave</name>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>IccLang</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>IccCDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccAllowVLA</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCppDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCPUTAG</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCCodeFunctions</name>\n          <state>CODE</state>\n        </option>\n        <option>\n          <name>CCData16</name>\n          <state>DATA16</state>\n        </option>\n        <option>\n          <name>CCData20</name>\n          <state>DATA20</state>\n        </option>\n        <option>\n          <name>CCIntvec</name>\n          <state>INTVEC</state>\n        </option>\n        <option>\n          <name>CCCstack</name>\n          <state>CSTACK</state>\n        </option>\n        <option>\n          <name>CCRamFuncCode</name>\n          <state>RAMFUNC_CODE</state>\n        </option>\n        <option>\n          <name>CCIsrCode</name>\n          <state>ISR_CODE</state>\n        </option>\n        <option>\n          <name>CCDifunct</name>\n          <state>DIFUNCT</state>\n        </option>\n        <option>\n          <name>IccCppInlineSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccStaticDestr</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccFloatSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CROPI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CNoRwDynamicInit</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptimizationNoSizeConstraints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCGuardCalls</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCGuardCallsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerCodeModel</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>A430</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>14</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>AObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ACaseSensitivity</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacroChars</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnWhat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnOne</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AListHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AListing</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Includes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacExps</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacExec</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OnlyAssed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MultiLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>TabSpacing</name>\n          <state>8</state>\n        </option>\n        <option>\n          <name>AXRef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDefines</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefInternal</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDual</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADebug</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ADebugType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrOn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrNum</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.r43</state>\n        </option>\n        <option>\n          <name>AMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OA1M</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AIgnoreStdInclude</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AStdIncludes</name>\n          <state>$TOOLKIT_DIR$\\INC\\</state>\n        </option>\n        <option>\n          <name>AUserIncludes</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ACPUTAG</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CUSTOM</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <extensions></extensions>\n        <cmdline></cmdline>\n        <hasPrio>0</hasPrio>\n      </data>\n    </settings>\n    <settings>\n      <name>BICOMP</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>BUILDACTION</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <prebuild></prebuild>\n        <postbuild></postbuild>\n      </data>\n    </settings>\n    <settings>\n      <name>XLINK</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>29</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>XOutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>blinky-qk.d43</state>\n        </option>\n        <option>\n          <name>OutputFormat</name>\n          <version>11</version>\n          <state>33</state>\n        </option>\n        <option>\n          <name>FormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>SecondaryOutputFile</name>\n          <state>(None for the selected format)</state>\n        </option>\n        <option>\n          <name>XDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AlwaysOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OverlapWarnings</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NoGlobalCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SegmentMap</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ListSymbols</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>XIncludes</name>\n          <state>$TOOLKIT_DIR$\\LIB\\</state>\n        </option>\n        <option>\n          <name>ModuleStatus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclFile</name>\n          <state>$TOOLKIT_DIR$\\config\\linker\\lnk430g2553.xcl</state>\n        </option>\n        <option>\n          <name>XclFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DoFill</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FillerByte</name>\n          <state>0xFF</state>\n        </option>\n        <option>\n          <name>DoCrc</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcSize</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcAlgo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcPoly</name>\n          <state>0x11021</state>\n        </option>\n        <option>\n          <name>CrcCompl</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RangeCheckAlternatives</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressAllWarn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressDiags</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsWarn</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsErr</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ModuleLocalSym</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcBitOrder</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XHardwareMul</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IncludeSuppressed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ModuleSummary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkStackSize</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkCodeModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabel</name>\n          <state>__program_start</state>\n        </option>\n        <option>\n          <name>DebugInformation</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RuntimeControl</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IoEmulation</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XcRTLibraryFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OXLibIOConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XLibraryHeap</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AllowExtraOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GenerateExtraOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExtraOutputFile</name>\n          <state>blinky-qk.a43</state>\n        </option>\n        <option>\n          <name>ExtraOutputFormat</name>\n          <version>11</version>\n          <state>23</state>\n        </option>\n        <option>\n          <name>ExtraFormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>xcOverrideProgramEntryLabel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabelSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ListOutputFormat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>BufferedTermOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OverlaySystemMap</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RawBinaryFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySymbol</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySegment</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinaryAlign</name>\n          <state></state>\n        </option>\n        <option>\n          <name>XLinkMisraHandler</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcAlign</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>CrcInitialValue</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>XLibraryHeap20</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcUnitSize</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LinkMathLib</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkThreadsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkMPU</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkIPE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkLogEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogInputFiles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogModuleSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogPrintfScanf</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogSegmentSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogStackDepth</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkStackUsageEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkControlFiles</name>\n          <state></state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileName</name>\n          <state>$LIST_DIR$\\$PROJ_FNAME$.call_graph.cgx</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>XAR</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>XAROutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XARInputs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ULP430</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CUTest</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>ULPRules</name>\n          <version>0</version>\n          <state>1111111111111111111</state>\n        </option>\n        <option>\n          <name>ULPEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ULPStatus</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>BILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n  </configuration>\n  <group>\n    <name>Application</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\blinky.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\blinky.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\bsp.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\bsp.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\main.c</name>\n    </file>\n  </group>\n  <group>\n    <name>QP</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qepn.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qfn.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qkn\\qkn.c</name>\n    </file>\n  </group>\n</project>\n\n\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430g2/qk/iar/blinky-qk.eww",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<workspace>\n  <project>\n    <path>$WS_DIR$\\blinky-qk.ewp</path>\n  </project>\n  <batchBuild/>\n</workspace>\n\n\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430g2/qpn_conf.h",
    "content": "/*****************************************************************************\n* Product: QP-nano configuration for the Blinky example\n* Last Updated for Version: 5.6.2\n* Date of the Last Update:  2016-04-05\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef QPN_CONF_H\n#define QPN_CONF_H\n\n#define Q_PARAM_SIZE            4U\n#define QF_MAX_TICK_RATE        1U\n#define QF_TIMEEVT_CTR_SIZE     2U\n#define QF_TIMEEVT_PERIODIC\n\n#endif  /* QPN_CONF_H */\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430g2/qv/bsp.c",
    "content": "/*****************************************************************************\n* Product: Blinky on MSP-EXP430G2, cooperative QV kernel\n* Last Updated for Version: 5.4.0\n* Date of the Last Update:  2015-05-28\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"blinky.h\"\n#include \"bsp.h\"\n\n#include <msp430g2553.h>  /* MSP430 variant used */\n/* add other drivers if necessary... */\n\n//Q_DEFINE_THIS_FILE\n\n/* Local-scope objects -----------------------------------------------------*/\n/* 1MHz clock setting, see BSP_init() */\n#define BSP_MCK     1000000U\n#define BSP_SMCLK   1000000U\n\n#define LED1        (1U << 0)\n#define LED2        (1U << 6)\n\n/* ISRs used in this project ===============================================*/\n#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)\n    __interrupt void TIMER0_A0_ISR(void); /* prototype */\n    #pragma vector=TIMER0_A0_VECTOR\n    __interrupt void TIMER0_A0_ISR(void)\n#elif defined(__GNUC__)\n    void __attribute__ ((interrupt(TIMER0_A0_VECTOR))) TIMER0_A0_ISR (void)\n#else\n    #error Compiler not supported!\n#endif\n{\n    TACTL &= ~TAIFG;   /* clear the interrupt pending flag */\n#ifdef NDEBUG\n    __low_power_mode_off_on_exit(); /* see NOTE1 */\n#endif\n\n    QF_tickXISR(0U);   /* process time events for rate 0 */\n}\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    WDTCTL = WDTPW | WDTHOLD; /* stop watchdog timer */\n\n    /* configure the Basic Clock Module */\n    DCOCTL = 0;             // Select lowest DCOx and MODx settings\n    BCSCTL1 = CALBC1_1MHZ;  // Set DCO\n    DCOCTL = CALDCO_1MHZ;\n\n    P1DIR |= (LED1 | LED2);  /* set LED1 and LED2 pins to output  */\n}\n/*..........................................................................*/\nvoid BSP_ledOff(void) {\n    P1OUT &= ~LED1;        /* turn LED1 off */\n}\n/*..........................................................................*/\nvoid BSP_ledOn(void) {\n    P1OUT |= LED1;         /* turn LED1 on */\n}\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    TACTL  = (ID_3 | TASSEL_2 | MC_1);  /* SMCLK, /8 divider, upmode */\n    TACCR0 = (((BSP_SMCLK / 8U) + BSP_TICKS_PER_SEC/2U) / BSP_TICKS_PER_SEC);\n    CCTL0 = CCIE;  /* CCR0 interrupt enabled */\n}\n/*..........................................................................*/\nvoid QV_onIdle(void) { /* NOTE: called with interrutps DISABLED, see NOTE1 */\n    /* toggle LED2 on and then off, see NOTE2 */\n    P1OUT |=  LED2;        /* turn LED2 on */\n    P1OUT &= ~LED2;        /* turn LED2 off */\n\n#ifdef NDEBUG\n    /* Put the CPU and peripherals to the low-power mode.\n    * you might need to customize the clock management for your application,\n    * see the datasheet for your particular MSP430 MCU.\n    */\n    __low_power_mode_1(); /* Enter LPM1; also ENABLES interrupts */\n#else\n    QF_INT_ENABLE(); /* just enable interrupts */\n#endif\n}\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const file, int line) {\n    /* implement the error-handling policy for your application!!! */\n    QF_INT_DISABLE(); /* disable all interrupts */\n\n    /* cause the reset of the CPU... */\n    WDTCTL = WDTPW | WDTHOLD;\n    __asm(\"    push &0xFFFE\");\n    /* return from function does the reset */\n}\n\n/*****************************************************************************\n* NOTE1:\n* With the cooperative QV kernel for MSP430, it is necessary to explicitly\n* turn the low-power mode OFF in the interrupt, because the return\n* from the interrupt will restore the CPU status register, which will\n* re-enter the low-power mode. This, in turn, will prevent the QV event-loop\n* from running.\n*\n* NOTE2:\n* One of the LEDs is used to visualize the idle loop activity. The brightness\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430g2/qv/ccs/.ccsproject",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<?ccsproject version=\"1.0\"?>\n<projectOptions>\n\t<deviceVariant value=\"MSP430G2553\"/>\n\t<deviceFamily value=\"MSP430\"/>\n\t<codegenToolVersion value=\"4.4.4\"/>\n\t<isElfFormat value=\"true\"/>\n\t<connection value=\"common/targetdb/connections/TIMSP430-USB.xml\"/>\n\t<linkerCommandFile value=\"lnk_msp430g2553.cmd\"/>\n\t<rts value=\"libc.a\"/>\n\t<createSlaveProjects value=\"\"/>\n\t<templateProperties value=\"id=com.ti.common.project.core.emptyProjectWithMainTemplate_msp430,\"/>\n\t<isTargetManual value=\"false\"/>\n</projectOptions>\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430g2/qv/ccs/.cproject",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<?fileVersion 4.0.0?><cproject storage_type_id=\"org.eclipse.cdt.core.XmlProjectDescriptionStorage\">\n\t<storageModule configRelations=\"2\" moduleId=\"org.eclipse.cdt.core.settings\">\n\t\t<cconfiguration id=\"com.ti.ccstudio.buildDefinitions.MSP430.Debug.735945396\">\n\t\t\t<storageModule buildSystemId=\"org.eclipse.cdt.managedbuilder.core.configurationDataProvider\" id=\"com.ti.ccstudio.buildDefinitions.MSP430.Debug.735945396\" moduleId=\"org.eclipse.cdt.core.settings\" name=\"Debug\">\n\t\t\t\t<externalSettings/>\n\t\t\t\t<extensions>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.binaryparser.CoffParser\" point=\"org.eclipse.cdt.core.BinaryParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.CoffErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.LinkErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.AsmErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GmakeErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t</extensions>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t\t\t<configuration artifactExtension=\"out\" artifactName=\"${ProjName}\" buildProperties=\"\" cleanCommand=\"${CG_CLEAN_CMD}\" description=\"\" id=\"com.ti.ccstudio.buildDefinitions.MSP430.Debug.735945396\" name=\"Debug\" parent=\"com.ti.ccstudio.buildDefinitions.MSP430.Debug\" postbuildStep=\"\" prebuildStep=\"\">\n\t\t\t\t\t<folderInfo id=\"com.ti.ccstudio.buildDefinitions.MSP430.Debug.735945396.\" name=\"/\" resourcePath=\"\">\n\t\t\t\t\t\t<toolChain id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.exe.DebugToolchain.1760603462\" name=\"TI Build Tools\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.exe.DebugToolchain\" targetTool=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.exe.linkerDebug.2033664401\">\n\t\t\t\t\t\t\t<option IS_BUILTIN_EMPTY=\"false\" IS_VALUE_EMPTY=\"false\" id=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1759960976\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_CONFIGURATION_ID=MSP430G2553\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_CORE_ID=\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_ENDIANNESS=little\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_FORMAT=ELF\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"LINKER_COMMAND_FILE=lnk_msp430g2553.cmd\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"RUNTIME_SUPPORT_LIBRARY=libc.a\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"CCS_MBS_VERSION=6.1.3\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_TYPE=executable\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"PRODUCTS=\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"PRODUCT_MACRO_IMPORTS={}\"/>\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1687453772\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION\" value=\"21.6.0.LTS\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<targetPlatform id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.exe.targetPlatformDebug.1382045518\" name=\"Platform\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.exe.targetPlatformDebug\"/>\n\t\t\t\t\t\t\t<builder buildPath=\"${BuildDirectory}\" id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.exe.builderDebug.1646455147\" name=\"GNU Make.Debug\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.exe.builderDebug\"/>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.exe.compilerDebug.1334790303\" name=\"MSP430 Compiler\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.exe.compilerDebug\">\n\t\t\t\t\t\t\t\t<option IS_BUILTIN_EMPTY=\"false\" IS_VALUE_EMPTY=\"false\" id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compilerID.DEFINE.1582078589\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compilerID.DEFINE\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"__MSP430G2553__\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compilerID.USE_HW_MPY.599605299\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compilerID.USE_HW_MPY\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compilerID.USE_HW_MPY.none\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compilerID.SILICON_VERSION.2047592814\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compilerID.SILICON_VERSION\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compilerID.SILICON_VERSION.msp\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compilerID.PRINTF_SUPPORT.1660261102\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compilerID.PRINTF_SUPPORT\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compilerID.PRINTF_SUPPORT.minimal\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option IS_BUILTIN_EMPTY=\"false\" IS_VALUE_EMPTY=\"false\" id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compilerID.INCLUDE_PATH.176028886\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compilerID.INCLUDE_PATH\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CCS_BASE_ROOT}/msp430/include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}\\.\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}\\..\\..\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}\\..\\..\\..\\..\\..\\include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${PROJECT_LOC}\\..\\..\\..\\..\\..\\ports\\msp430\\qv\\ccs\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CG_TOOL_ROOT}/include\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compilerID.ADVICE__POWER_SEVERITY.908432489\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compilerID.ADVICE__POWER_SEVERITY\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compilerID.ADVICE__POWER_SEVERITY.error\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compilerID.DEBUGGING_MODEL.1849722188\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compilerID.DEBUGGING_MODEL\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option IS_BUILTIN_EMPTY=\"false\" IS_VALUE_EMPTY=\"false\" id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compilerID.DIAG_WARNING.1806323726\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compilerID.DIAG_WARNING\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"225\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compilerID.DIAG_WRAP.1873115742\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compilerID.DIAG_WRAP\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compilerID.DIAG_WRAP.off\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compilerID.DISPLAY_ERROR_NUMBER.575401749\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compilerID.DISPLAY_ERROR_NUMBER\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compilerID.ABI.1816889973\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compilerID.ABI\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compilerID.ABI.eabi\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compiler.inputType__C_SRCS.1165563731\" name=\"C Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compiler.inputType__C_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compiler.inputType__CPP_SRCS.1622911141\" name=\"C++ Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compiler.inputType__CPP_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compiler.inputType__ASM_SRCS.902071935\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compiler.inputType__ASM_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compiler.inputType__ASM2_SRCS.1460793008\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.compiler.inputType__ASM2_SRCS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.exe.linkerDebug.2033664401\" name=\"MSP430 Linker\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.exe.linkerDebug\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.linkerID.USE_HW_MPY.877793319\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.linkerID.USE_HW_MPY\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.linkerID.USE_HW_MPY.none\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.linkerID.HEAP_SIZE.1152988167\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.linkerID.HEAP_SIZE\" value=\"0\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.linkerID.STACK_SIZE.1689832919\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.linkerID.STACK_SIZE\" value=\"128\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.linkerID.MAP_FILE.459209502\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.linkerID.MAP_FILE\" value=\"&quot;${ProjName}.map&quot;\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.linkerID.OUTPUT_FILE.696556983\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.linkerID.OUTPUT_FILE\" value=\"${ProjName}.out\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option IS_BUILTIN_EMPTY=\"false\" IS_VALUE_EMPTY=\"false\" id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.linkerID.LIBRARY.1514105619\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.linkerID.LIBRARY\" valueType=\"libs\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"libc.a\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option IS_BUILTIN_EMPTY=\"false\" IS_VALUE_EMPTY=\"false\" id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.linkerID.SEARCH_PATH.1850593205\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.linkerID.SEARCH_PATH\" valueType=\"libPaths\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CCS_BASE_ROOT}/msp430/include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CG_TOOL_ROOT}/lib\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CG_TOOL_ROOT}/include\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.linkerID.DIAG_WRAP.553479823\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.linkerID.DIAG_WRAP\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.linkerID.DIAG_WRAP.off\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.linkerID.DISPLAY_ERROR_NUMBER.1224863579\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.linkerID.DISPLAY_ERROR_NUMBER\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.linkerID.XML_LINK_INFO.1527175500\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.linkerID.XML_LINK_INFO\" value=\"&quot;${ProjName}_linkInfo.xml&quot;\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.exeLinker.inputType__CMD_SRCS.911848634\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.exeLinker.inputType__CMD_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.exeLinker.inputType__CMD2_SRCS.1198749207\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.exeLinker.inputType__CMD2_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.exeLinker.inputType__GEN_CMDS.1721581937\" name=\"Generated Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.exeLinker.inputType__GEN_CMDS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.hex.1453909663\" name=\"MSP430 Hex Utility\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.hex\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.hex.ROMWIDTH.928228635\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.hex.ROMWIDTH\" value=\"8\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.hex.MEMWIDTH.103152346\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_21.6.hex.MEMWIDTH\" value=\"8\" valueType=\"string\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t</toolChain>\n\t\t\t\t\t</folderInfo>\n\t\t\t\t\t<sourceEntries>\n\t\t\t\t\t\t<entry excluding=\"QP/qfn_init.c|QP/qs.c|QP/qs_fp.c|QP/qs_64bit.c|QP/qk.c|QP/qk_mutex.c\" flags=\"VALUE_WORKSPACE_PATH|RESOLVED\" kind=\"sourcePath\" name=\"\"/>\n\t\t\t\t\t</sourceEntries>\n\t\t\t\t</configuration>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"org.eclipse.cdt.core.externalSettings\"/>\n\t\t</cconfiguration>\n\t\t<cconfiguration id=\"com.ti.ccstudio.buildDefinitions.MSP430.Release.163352521\">\n\t\t\t<storageModule buildSystemId=\"org.eclipse.cdt.managedbuilder.core.configurationDataProvider\" id=\"com.ti.ccstudio.buildDefinitions.MSP430.Release.163352521\" moduleId=\"org.eclipse.cdt.core.settings\" name=\"Release\">\n\t\t\t\t<externalSettings/>\n\t\t\t\t<extensions>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.binaryparser.CoffParser\" point=\"org.eclipse.cdt.core.BinaryParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.CoffErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.LinkErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.AsmErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GmakeErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t</extensions>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t\t\t<configuration artifactExtension=\"out\" artifactName=\"${ProjName}\" buildProperties=\"\" cleanCommand=\"${CG_CLEAN_CMD}\" description=\"\" id=\"com.ti.ccstudio.buildDefinitions.MSP430.Release.163352521\" name=\"Release\" parent=\"com.ti.ccstudio.buildDefinitions.MSP430.Release\" postbuildStep=\"\" prebuildStep=\"\">\n\t\t\t\t\t<folderInfo id=\"com.ti.ccstudio.buildDefinitions.MSP430.Release.163352521.\" name=\"/\" resourcePath=\"\">\n\t\t\t\t\t\t<toolChain id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.ReleaseToolchain.2074973780\" name=\"TI Build Tools\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.ReleaseToolchain\" targetTool=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerRelease.1187074605\">\n\t\t\t\t\t\t\t<option IS_BUILTIN_EMPTY=\"false\" IS_VALUE_EMPTY=\"false\" id=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1990299180\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_CONFIGURATION_ID=MSP430G2553\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_ENDIANNESS=little\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_FORMAT=ELF\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"LINKER_COMMAND_FILE=lnk_msp430g2553.cmd\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"RUNTIME_SUPPORT_LIBRARY=libc.a\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"CCS_MBS_VERSION=6.1.3\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_TYPE=executable\"/>\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1486802686\" name=\"Compiler version\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION\" value=\"16.9.6.LTS\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<targetPlatform id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.targetPlatformRelease.975825378\" name=\"Platform\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.targetPlatformRelease\"/>\n\t\t\t\t\t\t\t<builder buildPath=\"${BuildDirectory}\" id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.builderRelease.898564770\" keepEnvironmentInBuildfile=\"false\" name=\"GNU Make\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.builderRelease\"/>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.compilerRelease.1200241643\" name=\"MSP430 Compiler\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.compilerRelease\">\n\t\t\t\t\t\t\t\t<option IS_BUILTIN_EMPTY=\"false\" IS_VALUE_EMPTY=\"false\" id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEFINE.1474864794\" name=\"Pre-define NAME (--define, -D)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEFINE\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"NDEBUG\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"__MSP430G2553__\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY.1800485910\" name=\"Inline hardware multiply version of RTS mpy routine (--use_hw_mpy)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY.none\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION.1994630717\" name=\"Silicon version (--silicon_version, -v)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION.msp\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT.636179189\" name=\"Level of printf/scanf support required (--printf_support)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT.minimal\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.OPT_LEVEL.release.310487876\" name=\"Optimization level (--opt_level, -O)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.OPT_LEVEL.release\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.OPT_LEVEL.3\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option IS_BUILTIN_EMPTY=\"false\" IS_VALUE_EMPTY=\"false\" id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.INCLUDE_PATH.1294968408\" name=\"Add dir to #include search path (--include_path, -I)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.INCLUDE_PATH\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CCS_BASE_ROOT}/msp430/include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CCS_BASE_ROOT}/msp430/include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}\\.&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}\\..\\..&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}\\..\\..\\..\\..\\..\\include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}\\..\\..\\..\\..\\..\\ports\\msp430\\qv\\ccs&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CG_TOOL_ROOT}/include&quot;\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option IS_BUILTIN_EMPTY=\"false\" IS_VALUE_EMPTY=\"false\" id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.UNDEFINE.633995908\" name=\"Undefine NAME (--undefine, -U)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.UNDEFINE\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"_INLINE\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.826261693\" name=\"Debugging model\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.SYMDEBUG__NONE\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option IS_BUILTIN_EMPTY=\"false\" IS_VALUE_EMPTY=\"false\" id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WARNING.380670980\" name=\"Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WARNING\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"225\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP.568135209\" name=\"Wrap diagnostic messages (--diag_wrap)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP.off\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DISPLAY_ERROR_NUMBER.1335916825\" name=\"Emit diagnostic identifier numbers (--display_error_number, -pden)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DISPLAY_ERROR_NUMBER\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI.2073652945\" name=\"Application binary interface (--abi)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI.eabi\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__C_SRCS.872640907\" name=\"C Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__C_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__CPP_SRCS.976308464\" name=\"C++ Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__CPP_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM_SRCS.675906702\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM2_SRCS.1656674442\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM2_SRCS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerRelease.1187074605\" name=\"MSP430 Linker\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerRelease\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY.206068096\" name=\"Deprecated: Now a compiler option instead of linker option (--use_hw_mpy)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY.none\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.HEAP_SIZE.1691652434\" name=\"Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.HEAP_SIZE\" value=\"0\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.STACK_SIZE.582780003\" name=\"Set C system stack size (--stack_size, -stack)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.STACK_SIZE\" value=\"128\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.MAP_FILE.1724405700\" name=\"Link information (map) listed into &lt;file&gt; (--map_file, -m)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.MAP_FILE\" value=\"&quot;${ProjName}.map&quot;\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.OUTPUT_FILE.208892242\" name=\"Specify output file name (--output_file, -o)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.OUTPUT_FILE\" value=\"${ProjName}.out\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option IS_BUILTIN_EMPTY=\"false\" IS_VALUE_EMPTY=\"false\" id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.LIBRARY.1547675846\" name=\"Include library file or command file as input (--library, -l)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.LIBRARY\" valueType=\"libs\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"libc.a\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option IS_BUILTIN_EMPTY=\"false\" IS_VALUE_EMPTY=\"false\" id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.SEARCH_PATH.462732867\" name=\"Add &lt;dir&gt; to library search path (--search_path, -i)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.SEARCH_PATH\" valueType=\"libPaths\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CCS_BASE_ROOT}/msp430/include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CCS_BASE_ROOT}/msp430/include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CG_TOOL_ROOT}/lib&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CG_TOOL_ROOT}/include&quot;\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP.1616943596\" name=\"Wrap diagnostic messages (--diag_wrap)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP.off\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DISPLAY_ERROR_NUMBER.1665627544\" name=\"Emit diagnostic identifier numbers (--display_error_number)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DISPLAY_ERROR_NUMBER\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.XML_LINK_INFO.1201597681\" name=\"Detailed link information data-base into &lt;file&gt; (--xml_link_info, -xml_link_info)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.XML_LINK_INFO\" value=\"&quot;${ProjName}_linkInfo.xml&quot;\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD_SRCS.1389807651\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD2_SRCS.864536146\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD2_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__GEN_CMDS.811251863\" name=\"Generated Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__GEN_CMDS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.110336016\" name=\"MSP430 Hex Utility\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.ROMWIDTH.1247685839\" name=\"Specify rom width (--romwidth, -romwidth=width)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.ROMWIDTH\" value=\"8\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.MEMWIDTH.410255632\" name=\"Specify memory width (--memwidth, -memwidth=width)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.MEMWIDTH\" value=\"8\" valueType=\"string\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t</toolChain>\n\t\t\t\t\t</folderInfo>\n\t\t\t\t\t<sourceEntries>\n\t\t\t\t\t\t<entry excluding=\"QP/qfn_init.c|QP/qs.c|QP/qs_fp.c|QP/qs_64bit.c|QP/qk.c|QP/qk_mutex.c\" flags=\"VALUE_WORKSPACE_PATH|RESOLVED\" kind=\"sourcePath\" name=\"\"/>\n\t\t\t\t\t</sourceEntries>\n\t\t\t\t</configuration>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"org.eclipse.cdt.core.externalSettings\"/>\n\t\t</cconfiguration>\n\t</storageModule>\n\t<storageModule moduleId=\"org.eclipse.cdt.core.LanguageSettingsProviders\"/>\n\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t<project id=\"blinky-qv_msp-exp430g2.com.ti.ccstudio.buildDefinitions.MSP430.ProjectType.1668636229\" name=\"MSP430\" projectType=\"com.ti.ccstudio.buildDefinitions.MSP430.ProjectType\"/>\n\t</storageModule>\n\t<storageModule moduleId=\"scannerConfiguration\"/>\n\t<storageModule moduleId=\"org.eclipse.cdt.core.language.mapping\">\n\t\t<project-mappings>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.asmSource\" language=\"com.ti.ccstudio.core.TIASMLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cHeader\" language=\"com.ti.ccstudio.core.TIGCCLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cSource\" language=\"com.ti.ccstudio.core.TIGCCLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cxxHeader\" language=\"com.ti.ccstudio.core.TIGPPLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cxxSource\" language=\"com.ti.ccstudio.core.TIGPPLanguage\"/>\n\t\t</project-mappings>\n\t</storageModule>\n\t<storageModule moduleId=\"null.endianPreference\"/>\n\t<storageModule moduleId=\"cpuFamily\"/>\n\t<storageModule moduleId=\"org.eclipse.cdt.make.core.buildtargets\"/>\n</cproject>"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430g2/qv/ccs/.project",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<projectDescription>\n\t<name>blinky-qv_msp-exp430g2</name>\n\t<comment></comment>\n\t<projects>\n\t</projects>\n\t<buildSpec>\n\t\t<buildCommand>\n\t\t\t<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t\t<buildCommand>\n\t\t\t<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>\n\t\t\t<triggers>full,incremental,</triggers>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t</buildSpec>\n\t<natures>\n\t\t<nature>com.ti.ccstudio.core.ccsNature</nature>\n\t\t<nature>org.eclipse.cdt.core.cnature</nature>\n\t\t<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>\n\t\t<nature>org.eclipse.cdt.core.ccnature</nature>\n\t\t<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>\n\t</natures>\n\t<linkedResources>\n\t\t<link>\n\t\t\t<name>QP</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/src/qfn</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>QP_port</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/ports/msp430/qv/ccs</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>QVn</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/src/qvn</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>blinky.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/blinky.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>blinky.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/blinky.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>bsp.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-1-PROJECT_LOC/bsp.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>bsp.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/bsp.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>main.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/main.c</locationURI>\n\t\t</link>\n\t</linkedResources>\n</projectDescription>\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430g2/qv/ccs/lnk_msp430g2553.cmd",
    "content": "/* ============================================================================ */\n/* Copyright (c) 2014, Texas Instruments Incorporated                           */\n/*  All rights reserved.                                                        */\n/*                                                                              */\n/*  Redistribution and use in source and binary forms, with or without          */\n/*  modification, are permitted provided that the following conditions          */\n/*  are met:                                                                    */\n/*                                                                              */\n/*  *  Redistributions of source code must retain the above copyright           */\n/*     notice, this list of conditions and the following disclaimer.            */\n/*                                                                              */\n/*  *  Redistributions in binary form must reproduce the above copyright        */\n/*     notice, this list of conditions and the following disclaimer in the      */\n/*     documentation and/or other materials provided with the distribution.     */\n/*                                                                              */\n/*  *  Neither the name of Texas Instruments Incorporated nor the names of      */\n/*     its contributors may be used to endorse or promote products derived      */\n/*     from this software without specific prior written permission.            */\n/*                                                                              */\n/*  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" */\n/*  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,       */\n/*  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR      */\n/*  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR            */\n/*  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,       */\n/*  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,         */\n/*  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; */\n/*  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,    */\n/*  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR     */\n/*  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,              */\n/*  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.                          */\n/* ============================================================================ */\n\n/******************************************************************************/\n/* lnk_msp430g2553.cmd - LINKER COMMAND FILE FOR LINKING MSP430G2553 PROGRAMS     */\n/*                                                                            */\n/*   Usage:  lnk430 <obj files...>    -o <out file> -m <map file> lnk.cmd     */\n/*           cl430  <src files...> -z -o <out file> -m <map file> lnk.cmd     */\n/*                                                                            */\n/*----------------------------------------------------------------------------*/\n/* These linker options are for command line linking only.  For IDE linking,  */\n/* you should set your linker options in Project Properties                   */\n/* -c                                               LINK USING C CONVENTIONS  */\n/* -stack  0x0100                                   SOFTWARE STACK SIZE       */\n/* -heap   0x0100                                   HEAP AREA SIZE            */\n/*                                                                            */\n/*----------------------------------------------------------------------------*/\n/* Version: 1.159                                                             */\n/*----------------------------------------------------------------------------*/\n\n/****************************************************************************/\n/* Specify the system memory map                                            */\n/****************************************************************************/\n\nMEMORY\n{\n    SFR                     : origin = 0x0000, length = 0x0010\n    PERIPHERALS_8BIT        : origin = 0x0010, length = 0x00F0\n    PERIPHERALS_16BIT       : origin = 0x0100, length = 0x0100\n    RAM                     : origin = 0x0200, length = 0x0200\n    INFOA                   : origin = 0x10C0, length = 0x0040\n    INFOB                   : origin = 0x1080, length = 0x0040\n    INFOC                   : origin = 0x1040, length = 0x0040\n    INFOD                   : origin = 0x1000, length = 0x0040\n    FLASH                   : origin = 0xC000, length = 0x3FE0\n    INT00                   : origin = 0xFFE0, length = 0x0002\n    INT01                   : origin = 0xFFE2, length = 0x0002\n    INT02                   : origin = 0xFFE4, length = 0x0002\n    INT03                   : origin = 0xFFE6, length = 0x0002\n    INT04                   : origin = 0xFFE8, length = 0x0002\n    INT05                   : origin = 0xFFEA, length = 0x0002\n    INT06                   : origin = 0xFFEC, length = 0x0002\n    INT07                   : origin = 0xFFEE, length = 0x0002\n    INT08                   : origin = 0xFFF0, length = 0x0002\n    INT09                   : origin = 0xFFF2, length = 0x0002\n    INT10                   : origin = 0xFFF4, length = 0x0002\n    INT11                   : origin = 0xFFF6, length = 0x0002\n    INT12                   : origin = 0xFFF8, length = 0x0002\n    INT13                   : origin = 0xFFFA, length = 0x0002\n    INT14                   : origin = 0xFFFC, length = 0x0002\n    RESET                   : origin = 0xFFFE, length = 0x0002\n}\n\n/****************************************************************************/\n/* Specify the sections allocation into memory                              */\n/****************************************************************************/\n\nSECTIONS\n{\n    .bss        : {} > RAM                  /* Global & static vars              */\n    .data       : {} > RAM                  /* Global & static vars              */\n    .TI.noinit  : {} > RAM                  /* For #pragma noinit                */\n    .sysmem     : {} > RAM                  /* Dynamic memory allocation area    */\n    .stack      : {} > RAM (HIGH)           /* Software system stack             */\n\n    .text       : {} > FLASH                /* Code                              */\n    .cinit      : {} > FLASH                /* Initialization tables             */\n    .const      : {} > FLASH                /* Constant data                     */\n    .cio        : {} > RAM                  /* C I/O Buffer                      */\n\n    .pinit      : {} > FLASH                /* C++ Constructor tables            */\n    .init_array : {} > FLASH                /* C++ Constructor tables            */\n    .mspabi.exidx : {} > FLASH              /* C++ Constructor tables            */\n    .mspabi.extab : {} > FLASH              /* C++ Constructor tables            */\n\n    .infoA     : {} > INFOA              /* MSP430 INFO FLASH Memory segments */\n    .infoB     : {} > INFOB\n    .infoC     : {} > INFOC\n    .infoD     : {} > INFOD\n\n    /* MSP430 Interrupt vectors          */\n    TRAPINT      : { * ( .int00 ) } > INT00 type = VECT_INIT\n    .int01       : {}               > INT01\n    PORT1        : { * ( .int02 ) } > INT02 type = VECT_INIT\n    PORT2        : { * ( .int03 ) } > INT03 type = VECT_INIT\n    .int04       : {}               > INT04\n    ADC10        : { * ( .int05 ) } > INT05 type = VECT_INIT\n    USCIAB0TX    : { * ( .int06 ) } > INT06 type = VECT_INIT\n    USCIAB0RX    : { * ( .int07 ) } > INT07 type = VECT_INIT\n    TIMER0_A1    : { * ( .int08 ) } > INT08 type = VECT_INIT\n    TIMER0_A0    : { * ( .int09 ) } > INT09 type = VECT_INIT\n    WDT          : { * ( .int10 ) } > INT10 type = VECT_INIT\n    COMPARATORA   : { * ( .int11 ) } > INT11 type = VECT_INIT\n    TIMER1_A1    : { * ( .int12 ) } > INT12 type = VECT_INIT\n    TIMER1_A0    : { * ( .int13 ) } > INT13 type = VECT_INIT\n    NMI          : { * ( .int14 ) } > INT14 type = VECT_INIT\n    .reset       : {}               > RESET  /* MSP430 Reset vector         */ \n}\n\n/****************************************************************************/\n/* Include peripherals memory map                                           */\n/****************************************************************************/\n\n-l msp430g2553.cmd\n\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430g2/qv/iar/blinky-qv.ewd",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<project>\n  <fileVersion>2</fileVersion>\n  <configuration>\n    <name>Debug</name>\n    <toolchain>\n      <name>MSP430</name>\n    </toolchain>\n    <debug>1</debug>\n    <settings>\n      <name>C-SPY</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>27</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GoToEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GoToName</name>\n          <state>main</state>\n        </option>\n        <option>\n          <name>DynDriver</name>\n          <state>430FET</state>\n        </option>\n        <option>\n          <name>dDllSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DdfFileSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>DdfOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DdfFileName</name>\n          <state>$TOOLKIT_DIR$\\config\\debugger\\msp430g2553.ddf</state>\n        </option>\n        <option>\n          <name>ProcTMS</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ProcMSP430X</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerDataModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IVBASE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CPUTAG</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>L092Mode</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCImagesOffset1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesUse1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ENERGYTRACE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>FETIPE</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>430FET</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>29</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CFetMandatory</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Erase</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EMUVerifyDownloadP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EraseOptionSlaveP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>derivativeP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ParallelPortP7</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>TargetVoltage</name>\n          <state>3.3</state>\n        </option>\n        <option>\n          <name>AllowLockedFlashAccessP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EMUAttach</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AttachOptionSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRadioProtocolType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRadioModuleTypeSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>EEMLevel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DiasbleMemoryCache</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NeedLockedFlashAccess</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UsbComPort</name>\n          <state>Automatic</state>\n        </option>\n        <option>\n          <name>FetConnection</name>\n          <version>4</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SoftwareBreakpointEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RadioSoftwareBreakpointType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TargetSettlingtime</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AllowAccessToBSL</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTargetVccTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCBetaDll</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GPassword</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DebugLPM5</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LPM5Slave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRadioAutoManualType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExternalCodeDownload</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCVCCDefault</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Retain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>jstatebit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioJtagSpeedType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>memoryTypeSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>fuseBlowDisabledSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>eraseTypeSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DataSampleBpReservation</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>cycleCounterLevel</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>SIM430</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>4</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>SimOddAddressCheckP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CSimMandatory</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>derivativeSim</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimEnablePSP</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimPspOverrideConfig</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimPspConfigFile</name>\n          <state>$TOOLKIT_DIR$\\CONFIG\\test.psp.config</state>\n        </option>\n      </data>\n    </settings>\n    <debuggerPlugins>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\lcd\\lcd.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\SymList\\SymList.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n    </debuggerPlugins>\n  </configuration>\n  <configuration>\n    <name>Release</name>\n    <toolchain>\n      <name>MSP430</name>\n    </toolchain>\n    <debug>0</debug>\n    <settings>\n      <name>C-SPY</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>27</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GoToEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GoToName</name>\n          <state>main</state>\n        </option>\n        <option>\n          <name>DynDriver</name>\n          <state>430FET</state>\n        </option>\n        <option>\n          <name>dDllSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DdfFileSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>DdfOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DdfFileName</name>\n          <state>$TOOLKIT_DIR$\\config\\debugger\\msp430g2553.ddf</state>\n        </option>\n        <option>\n          <name>ProcTMS</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ProcMSP430X</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerDataModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IVBASE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CPUTAG</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>L092Mode</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCImagesOffset1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesUse1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ENERGYTRACE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>FETIPE</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>430FET</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>29</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CFetMandatory</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Erase</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EMUVerifyDownloadP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EraseOptionSlaveP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>derivativeP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ParallelPortP7</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>TargetVoltage</name>\n          <state>3.3</state>\n        </option>\n        <option>\n          <name>AllowLockedFlashAccessP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EMUAttach</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AttachOptionSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRadioProtocolType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRadioModuleTypeSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>EEMLevel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DiasbleMemoryCache</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NeedLockedFlashAccess</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UsbComPort</name>\n          <state>Automatic</state>\n        </option>\n        <option>\n          <name>FetConnection</name>\n          <version>4</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SoftwareBreakpointEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioSoftwareBreakpointType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TargetSettlingtime</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AllowAccessToBSL</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTargetVccTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCBetaDll</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GPassword</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DebugLPM5</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LPM5Slave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRadioAutoManualType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExternalCodeDownload</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCVCCDefault</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Retain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>jstatebit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioJtagSpeedType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>memoryTypeSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>fuseBlowDisabledSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>eraseTypeSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DataSampleBpReservation</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>cycleCounterLevel</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>SIM430</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>4</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>SimOddAddressCheckP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CSimMandatory</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>derivativeSim</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimEnablePSP</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimPspOverrideConfig</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimPspConfigFile</name>\n          <state>$TOOLKIT_DIR$\\CONFIG\\test.psp.config</state>\n        </option>\n      </data>\n    </settings>\n    <debuggerPlugins>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\lcd\\lcd.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\SymList\\SymList.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n    </debuggerPlugins>\n  </configuration>\n</project>\n\n\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430g2/qv/iar/blinky-qv.ewp",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<project>\n  <fileVersion>2</fileVersion>\n  <configuration>\n    <name>Debug</name>\n    <toolchain>\n      <name>MSP430</name>\n    </toolchain>\n    <debug>1</debug>\n    <settings>\n      <name>General</name>\n      <archiveVersion>17</archiveVersion>\n      <data>\n        <version>33</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OGCore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExePath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>ObjPath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>ListPath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>Hardware Multiplier</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GOutputBinary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AssemblerOnly</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGDouble</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelect</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RTDescription</name>\n          <state>Use the normal configuration of the C/EC++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n        </option>\n        <option>\n          <name>RTConfigPath</name>\n          <state>$TOOLKIT_DIR$\\lib\\dlib\\dl430fn.h</state>\n        </option>\n        <option>\n          <name>RTLibraryPath</name>\n          <state>$TOOLKIT_DIR$\\lib\\dlib\\dl430fn.r43</state>\n        </option>\n        <option>\n          <name>Input variant</name>\n          <version>2</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>Input description</name>\n          <state>No specifier n, no float nor long long, no scan set, no assignment suppressing, without multibyte support.</state>\n        </option>\n        <option>\n          <name>Output variant</name>\n          <version>2</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>Output description</name>\n          <state>No specifier a or A, no specifier n, no float or long long, no flags.</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelectSlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GeneralEnableMisra</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVerbose</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGChipSelectMenu</name>\n          <state>MSP430G2553\tMSP430G2553</state>\n        </option>\n        <option>\n          <name>GStackHeapOverride</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GStackSize2</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>GHeapSize2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioDataModelType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GHeap20Size</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>RadioHeapSizeType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioHardwareMultiplierType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>RadioL092ModelType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Ropi</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NoRwDynamicInit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibThreads</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MathLib</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioCodeModelType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEnableMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GESupportMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GELockMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GENMIViolationMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEAssertMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEInfoReadMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEInfoWriteMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEInfoExecuteMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEInfoAssertMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEnableIpe</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GESupportIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GAssertIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GLockIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Math variant</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Math description</name>\n          <state>Default variants of cos, sin, tan, log, log10, pow, and exp.</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICC430</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>37</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CCDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCPreprocFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocComments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMnemonics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMessages</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagSuppress</name>\n          <state>Pa50</state>\n        </option>\n        <option>\n          <name>CCDiagRemark</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagWarning</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagError</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IObjPrefix2</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRequirePrototypes</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCAllowList</name>\n          <version>1</version>\n          <state>00000</state>\n        </option>\n        <option>\n          <name>CCObjUseModuleName</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCObjModuleName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDebugInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagWarnAreErr</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCharIs</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCExt</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMigrationPreprocExtentions</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCompilerRuntimeInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IDoubleSize</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.r43</state>\n        </option>\n        <option>\n          <name>CCLibConfigHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCR4Utilize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCR5Utilize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>PreInclude</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCOverrideModuleTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleTypeSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>newCCIncludePaths</name>\n          <state>$PROJ_DIR$\\.</state>\n          <state>$PROJ_DIR$\\..\\..</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\msp430\\qv\\iar</state>\n        </option>\n        <option>\n          <name>CCStdIncCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CompilerMisraOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OI430X</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ReduceStack</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Save20bit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CompilerDataModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptStrategy</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCOptLevelSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>IccLang</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>IccCDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccAllowVLA</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCppDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCPUTAG</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCCodeFunctions</name>\n          <state>CODE</state>\n        </option>\n        <option>\n          <name>CCData16</name>\n          <state>DATA16</state>\n        </option>\n        <option>\n          <name>CCData20</name>\n          <state>DATA20</state>\n        </option>\n        <option>\n          <name>CCIntvec</name>\n          <state>INTVEC</state>\n        </option>\n        <option>\n          <name>CCCstack</name>\n          <state>CSTACK</state>\n        </option>\n        <option>\n          <name>CCRamFuncCode</name>\n          <state>RAMFUNC_CODE</state>\n        </option>\n        <option>\n          <name>CCIsrCode</name>\n          <state>ISR_CODE</state>\n        </option>\n        <option>\n          <name>CCDifunct</name>\n          <state>DIFUNCT</state>\n        </option>\n        <option>\n          <name>IccCppInlineSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccStaticDestr</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccFloatSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CROPI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CNoRwDynamicInit</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptimizationNoSizeConstraints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCGuardCalls</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCGuardCallsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerCodeModel</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>A430</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>14</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>AObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ACaseSensitivity</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacroChars</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnWhat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnOne</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AListHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AListing</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Includes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacExps</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacExec</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OnlyAssed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MultiLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>TabSpacing</name>\n          <state>8</state>\n        </option>\n        <option>\n          <name>AXRef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDefines</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefInternal</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDual</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADebug</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ADebugType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrOn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrNum</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.r43</state>\n        </option>\n        <option>\n          <name>AMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OA1M</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AIgnoreStdInclude</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AStdIncludes</name>\n          <state>$TOOLKIT_DIR$\\INC\\</state>\n        </option>\n        <option>\n          <name>AUserIncludes</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ACPUTAG</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CUSTOM</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <extensions></extensions>\n        <cmdline></cmdline>\n        <hasPrio>0</hasPrio>\n      </data>\n    </settings>\n    <settings>\n      <name>BICOMP</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>BUILDACTION</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <prebuild></prebuild>\n        <postbuild></postbuild>\n      </data>\n    </settings>\n    <settings>\n      <name>XLINK</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>29</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>XOutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>blinky-qv.d43</state>\n        </option>\n        <option>\n          <name>OutputFormat</name>\n          <version>11</version>\n          <state>33</state>\n        </option>\n        <option>\n          <name>FormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>SecondaryOutputFile</name>\n          <state>(None for the selected format)</state>\n        </option>\n        <option>\n          <name>XDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AlwaysOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OverlapWarnings</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NoGlobalCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SegmentMap</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ListSymbols</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>XIncludes</name>\n          <state>$TOOLKIT_DIR$\\LIB\\</state>\n        </option>\n        <option>\n          <name>ModuleStatus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclFile</name>\n          <state>$TOOLKIT_DIR$\\config\\linker\\lnk430g2553.xcl</state>\n        </option>\n        <option>\n          <name>XclFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DoFill</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FillerByte</name>\n          <state>0xFF</state>\n        </option>\n        <option>\n          <name>DoCrc</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcSize</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcAlgo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcPoly</name>\n          <state>0x11021</state>\n        </option>\n        <option>\n          <name>CrcCompl</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RangeCheckAlternatives</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressAllWarn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressDiags</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsWarn</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsErr</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ModuleLocalSym</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcBitOrder</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XHardwareMul</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IncludeSuppressed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ModuleSummary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkStackSize</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkCodeModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabel</name>\n          <state>__program_start</state>\n        </option>\n        <option>\n          <name>DebugInformation</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RuntimeControl</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IoEmulation</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XcRTLibraryFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OXLibIOConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XLibraryHeap</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AllowExtraOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GenerateExtraOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExtraOutputFile</name>\n          <state>blinky-qv.a43</state>\n        </option>\n        <option>\n          <name>ExtraOutputFormat</name>\n          <version>11</version>\n          <state>23</state>\n        </option>\n        <option>\n          <name>ExtraFormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>xcOverrideProgramEntryLabel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabelSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ListOutputFormat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>BufferedTermOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OverlaySystemMap</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RawBinaryFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySymbol</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySegment</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinaryAlign</name>\n          <state></state>\n        </option>\n        <option>\n          <name>XLinkMisraHandler</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcAlign</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>CrcInitialValue</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>XLibraryHeap20</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcUnitSize</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LinkMathLib</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkThreadsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkMPU</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkIPE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkLogEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogInputFiles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogModuleSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogPrintfScanf</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogSegmentSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogStackDepth</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkStackUsageEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkControlFiles</name>\n          <state></state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileName</name>\n          <state>$LIST_DIR$\\$PROJ_FNAME$.call_graph.cgx</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>XAR</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>XAROutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XARInputs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ULP430</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CUTest</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>ULPRules</name>\n          <version>0</version>\n          <state>1111111111111111111</state>\n        </option>\n        <option>\n          <name>ULPEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ULPStatus</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>BILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n  </configuration>\n  <configuration>\n    <name>Release</name>\n    <toolchain>\n      <name>MSP430</name>\n    </toolchain>\n    <debug>0</debug>\n    <settings>\n      <name>General</name>\n      <archiveVersion>17</archiveVersion>\n      <data>\n        <version>33</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OGCore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExePath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>ObjPath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>ListPath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>Hardware Multiplier</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GOutputBinary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AssemblerOnly</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGDouble</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelect</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RTDescription</name>\n          <state>Use the normal configuration of the C/EC++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n        </option>\n        <option>\n          <name>RTConfigPath</name>\n          <state>$TOOLKIT_DIR$\\lib\\dlib\\dl430fn.h</state>\n        </option>\n        <option>\n          <name>RTLibraryPath</name>\n          <state>$TOOLKIT_DIR$\\lib\\dlib\\dl430fn.r43</state>\n        </option>\n        <option>\n          <name>Input variant</name>\n          <version>2</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>Input description</name>\n          <state>No specifier n, no float nor long long, no scan set, no assignment suppressing, without multibyte support.</state>\n        </option>\n        <option>\n          <name>Output variant</name>\n          <version>2</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>Output description</name>\n          <state>No specifier a or A, no specifier n, no float or long long, no flags.</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelectSlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GeneralEnableMisra</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVerbose</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGChipSelectMenu</name>\n          <state>MSP430G2553\tMSP430G2553</state>\n        </option>\n        <option>\n          <name>GStackHeapOverride</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GStackSize2</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>GHeapSize2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioDataModelType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GHeap20Size</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>RadioHeapSizeType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioHardwareMultiplierType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>RadioL092ModelType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Ropi</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NoRwDynamicInit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibThreads</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MathLib</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioCodeModelType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEnableMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GESupportMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GELockMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GENMIViolationMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEAssertMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEInfoReadMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEInfoWriteMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEInfoExecuteMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEInfoAssertMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEnableIpe</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GESupportIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GAssertIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GLockIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Math variant</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Math description</name>\n          <state>Default variants of cos, sin, tan, log, log10, pow, and exp.</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICC430</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>37</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CCDefines</name>\n          <state>NDEBUG</state>\n        </option>\n        <option>\n          <name>CCPreprocFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocComments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMnemonics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMessages</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagSuppress</name>\n          <state>Pa50</state>\n        </option>\n        <option>\n          <name>CCDiagRemark</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagWarning</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagError</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IObjPrefix2</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRequirePrototypes</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCAllowList</name>\n          <version>1</version>\n          <state>11111</state>\n        </option>\n        <option>\n          <name>CCObjUseModuleName</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCObjModuleName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDebugInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagWarnAreErr</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCharIs</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCExt</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMigrationPreprocExtentions</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCompilerRuntimeInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IDoubleSize</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.r43</state>\n        </option>\n        <option>\n          <name>CCLibConfigHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCR4Utilize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCR5Utilize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>PreInclude</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCOverrideModuleTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleTypeSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>newCCIncludePaths</name>\n          <state>$PROJ_DIR$\\.</state>\n          <state>$PROJ_DIR$\\..\\..</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\msp430\\qv\\iar</state>\n        </option>\n        <option>\n          <name>CCStdIncCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CompilerMisraOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OI430X</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ReduceStack</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Save20bit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CompilerDataModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevel</name>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CCOptStrategy</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevelSlave</name>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>IccLang</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>IccCDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccAllowVLA</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCppDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCPUTAG</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCCodeFunctions</name>\n          <state>CODE</state>\n        </option>\n        <option>\n          <name>CCData16</name>\n          <state>DATA16</state>\n        </option>\n        <option>\n          <name>CCData20</name>\n          <state>DATA20</state>\n        </option>\n        <option>\n          <name>CCIntvec</name>\n          <state>INTVEC</state>\n        </option>\n        <option>\n          <name>CCCstack</name>\n          <state>CSTACK</state>\n        </option>\n        <option>\n          <name>CCRamFuncCode</name>\n          <state>RAMFUNC_CODE</state>\n        </option>\n        <option>\n          <name>CCIsrCode</name>\n          <state>ISR_CODE</state>\n        </option>\n        <option>\n          <name>CCDifunct</name>\n          <state>DIFUNCT</state>\n        </option>\n        <option>\n          <name>IccCppInlineSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccStaticDestr</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccFloatSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CROPI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CNoRwDynamicInit</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptimizationNoSizeConstraints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCGuardCalls</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCGuardCallsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerCodeModel</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>A430</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>14</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>AObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ACaseSensitivity</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacroChars</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnWhat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnOne</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AListHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AListing</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Includes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacExps</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacExec</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OnlyAssed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MultiLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>TabSpacing</name>\n          <state>8</state>\n        </option>\n        <option>\n          <name>AXRef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDefines</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefInternal</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDual</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADebug</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ADebugType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrOn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrNum</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.r43</state>\n        </option>\n        <option>\n          <name>AMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OA1M</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AIgnoreStdInclude</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AStdIncludes</name>\n          <state>$TOOLKIT_DIR$\\INC\\</state>\n        </option>\n        <option>\n          <name>AUserIncludes</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ACPUTAG</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CUSTOM</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <extensions></extensions>\n        <cmdline></cmdline>\n        <hasPrio>0</hasPrio>\n      </data>\n    </settings>\n    <settings>\n      <name>BICOMP</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>BUILDACTION</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <prebuild></prebuild>\n        <postbuild></postbuild>\n      </data>\n    </settings>\n    <settings>\n      <name>XLINK</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>29</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>XOutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>blinky-qv.d43</state>\n        </option>\n        <option>\n          <name>OutputFormat</name>\n          <version>11</version>\n          <state>33</state>\n        </option>\n        <option>\n          <name>FormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>SecondaryOutputFile</name>\n          <state>(None for the selected format)</state>\n        </option>\n        <option>\n          <name>XDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AlwaysOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OverlapWarnings</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NoGlobalCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SegmentMap</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ListSymbols</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>XIncludes</name>\n          <state>$TOOLKIT_DIR$\\LIB\\</state>\n        </option>\n        <option>\n          <name>ModuleStatus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclFile</name>\n          <state>$TOOLKIT_DIR$\\config\\linker\\lnk430g2553.xcl</state>\n        </option>\n        <option>\n          <name>XclFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DoFill</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FillerByte</name>\n          <state>0xFF</state>\n        </option>\n        <option>\n          <name>DoCrc</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcSize</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcAlgo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcPoly</name>\n          <state>0x11021</state>\n        </option>\n        <option>\n          <name>CrcCompl</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RangeCheckAlternatives</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressAllWarn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressDiags</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsWarn</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsErr</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ModuleLocalSym</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcBitOrder</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XHardwareMul</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IncludeSuppressed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ModuleSummary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkStackSize</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkCodeModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabel</name>\n          <state>__program_start</state>\n        </option>\n        <option>\n          <name>DebugInformation</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RuntimeControl</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IoEmulation</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XcRTLibraryFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OXLibIOConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XLibraryHeap</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AllowExtraOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GenerateExtraOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExtraOutputFile</name>\n          <state>blinky-qv.a43</state>\n        </option>\n        <option>\n          <name>ExtraOutputFormat</name>\n          <version>11</version>\n          <state>23</state>\n        </option>\n        <option>\n          <name>ExtraFormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>xcOverrideProgramEntryLabel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabelSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ListOutputFormat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>BufferedTermOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OverlaySystemMap</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RawBinaryFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySymbol</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySegment</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinaryAlign</name>\n          <state></state>\n        </option>\n        <option>\n          <name>XLinkMisraHandler</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcAlign</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>CrcInitialValue</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>XLibraryHeap20</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcUnitSize</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LinkMathLib</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkThreadsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkMPU</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkIPE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkLogEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogInputFiles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogModuleSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogPrintfScanf</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogSegmentSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogStackDepth</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkStackUsageEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkControlFiles</name>\n          <state></state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileName</name>\n          <state>$LIST_DIR$\\$PROJ_FNAME$.call_graph.cgx</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>XAR</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>XAROutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XARInputs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ULP430</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CUTest</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>ULPRules</name>\n          <version>0</version>\n          <state>1111111111111111111</state>\n        </option>\n        <option>\n          <name>ULPEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ULPStatus</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>BILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n  </configuration>\n  <group>\n    <name>Application</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\blinky.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\blinky.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\bsp.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\bsp.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\main.c</name>\n    </file>\n  </group>\n  <group>\n    <name>QP</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qepn.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qfn.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qvn\\qvn.c</name>\n    </file>\n  </group>\n</project>\n\n\n"
  },
  {
    "path": "examples/msp430/blinky_msp-exp430g2/qv/iar/blinky-qv.eww",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<workspace>\n  <project>\n    <path>$WS_DIR$\\blinky-qv.ewp</path>\n  </project>\n  <batchBuild/>\n</workspace>\n\n\n"
  },
  {
    "path": "examples/msp430/dpp_msp-exp430g2/README.url",
    "content": "[InternetShortcut]\nURL=http://www.state-machine.com/qpn/msp430_dpp_msp-exp430g2.html\nIconFile=http://www.state-machine.com/qp.ico\n"
  },
  {
    "path": "examples/msp430/dpp_msp-exp430g2/bsp.h",
    "content": "/*****************************************************************************\n* Product: DPP example\n* Last Updated for Version: 5.4.0\n* Date of the Last Update:  2015-03-07\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* Web  : www.state-machine.com\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BSP_H\n#define BSP_H\n\n#define BSP_TICKS_PER_SEC    100U\n\nvoid BSP_init(void);\nvoid BSP_displayPaused(uint8_t paused);\nvoid BSP_displayPhilStat(uint8_t n, char_t const *stat);\nvoid BSP_terminate(int16_t result);\n\nvoid BSP_randomSeed(uint32_t seed);   /* random seed */\nuint32_t BSP_random(void);            /* pseudo-random generator */\n\n#endif /* BSP_H */\n"
  },
  {
    "path": "examples/msp430/dpp_msp-exp430g2/dpp.h",
    "content": "/*.$file${.::dpp.h} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: dpp.qm\n* File:  ${.::dpp.h}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::dpp.h} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#ifndef DPP_H\n#define DPP_H\n\nenum DPPSignals {\n    EAT_SIG = Q_USER_SIG, /* published by Table to let a philosopher eat */\n    DONE_SIG,             /* published by Philosopher when done eating */\n    PAUSE_SIG,            /* published by BSP to pause the application */\n    SERVE_SIG,            /* published by BSP to pause the application */\n    TERMINATE_SIG,        /* published by BSP to terminate the application */\n    HUNGRY_SIG,           /* posted direclty to Table from hungry Philo */\n    MAX_SIG               /* the last signal */\n};\n\n/* number of philosophers */\n#define N_PHILO ((uint8_t)5)\n#define PHILO_0_PRIO 1\n\n/*.$declare${AOs::AO_Philo0} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo0;\n/*.$enddecl${AOs::AO_Philo0} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo1} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo1;\n/*.$enddecl${AOs::AO_Philo1} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo2} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo2;\n/*.$enddecl${AOs::AO_Philo2} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo3} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo3;\n/*.$enddecl${AOs::AO_Philo3} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo4} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo4;\n/*.$enddecl${AOs::AO_Philo4} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Table AO_Table;\n/*.$enddecl${AOs::AO_Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/*.$declare${AOs::Philo_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo_ctor} ......................................................*/\nvoid Philo_ctor(void);\n/*.$enddecl${AOs::Philo_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::Table_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table_ctor} ......................................................*/\nvoid Table_ctor(void);\n/*.$enddecl${AOs::Table_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n#endif /* DPP_H */\n"
  },
  {
    "path": "examples/msp430/dpp_msp-exp430g2/dpp.qm",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<model version=\"4.6.0\" links=\"1\">\n <documentation>Dining Philosopher Problem example with QActive</documentation>\n <!--${qpn}-->\n <framework name=\"qpn\"/>\n <!--${AOs}-->\n <package name=\"AOs\" stereotype=\"0x02\">\n  <!--${AOs::Philo}-->\n  <class name=\"Philo\" superclass=\"qpn::QActive\">\n   <!--${AOs::Philo::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${AOs::Philo::SM::initial}-->\n    <initial target=\"../1\">\n     <initial_glyph conn=\"2,3,5,1,20,5,-3\">\n      <action box=\"0,-2,6,2\"/>\n     </initial_glyph>\n    </initial>\n    <!--${AOs::Philo::SM::thinking}-->\n    <state name=\"thinking\">\n     <entry>QActive_armX(&amp;me-&gt;super, 0U, THINK_TIME, 0U);</entry>\n     <exit>QActive_disarmX(&amp;me-&gt;super, 0U);</exit>\n     <!--${AOs::Philo::SM::thinking::Q_TIMEOUT}-->\n     <tran trig=\"Q_TIMEOUT\" target=\"../../2\">\n      <tran_glyph conn=\"2,12,3,1,20,13,-3\">\n       <action box=\"0,-2,6,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Philo::SM::thinking::EAT, DONE}-->\n     <tran trig=\"EAT, DONE\">\n      <action>Q_ERROR(); /* these events should never arrive in this state */</action>\n      <tran_glyph conn=\"2,17,3,-1,13\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,5,17,16\">\n      <entry box=\"1,2,5,2\"/>\n      <exit box=\"1,4,6,2\"/>\n     </state_glyph>\n    </state>\n    <!--${AOs::Philo::SM::hungry}-->\n    <state name=\"hungry\">\n     <entry>QACTIVE_POST(&amp;AO_Table, HUNGRY_SIG, me-&gt;super.prio);</entry>\n     <!--${AOs::Philo::SM::hungry::EAT}-->\n     <tran trig=\"EAT\" target=\"../../3\">\n      <tran_glyph conn=\"2,30,3,1,20,13,-3\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Philo::SM::hungry::DONE}-->\n     <tran trig=\"DONE\">\n      <action>Q_ERROR(); /* this event should never arrive in this state */</action>\n      <tran_glyph conn=\"2,36,3,-1,14\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,23,17,16\">\n      <entry box=\"1,2,5,2\"/>\n     </state_glyph>\n    </state>\n    <!--${AOs::Philo::SM::eating}-->\n    <state name=\"eating\">\n     <entry>QActive_armX(&amp;me-&gt;super, 0U, EAT_TIME, 0U);</entry>\n     <exit>QActive_disarmX(&amp;me-&gt;super, 0U);\nQACTIVE_POST(QF_ACTIVE_CAST(&amp;AO_Table), DONE_SIG, me-&gt;super.prio);</exit>\n     <!--${AOs::Philo::SM::eating::Q_TIMEOUT}-->\n     <tran trig=\"Q_TIMEOUT\" target=\"../../1\">\n      <tran_glyph conn=\"2,51,3,1,22,-41,-5\">\n       <action box=\"0,-2,6,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Philo::SM::eating::EAT, DONE}-->\n     <tran trig=\"EAT, DONE\">\n      <action>Q_ERROR(); /* these events should never arrive in this state */</action>\n      <tran_glyph conn=\"2,55,3,-1,13\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,41,17,18\">\n      <entry box=\"1,2,5,2\"/>\n      <exit box=\"1,4,5,2\"/>\n     </state_glyph>\n    </state>\n    <state_diagram size=\"37,61\"/>\n   </statechart>\n  </class>\n  <!--${AOs::Table}-->\n  <class name=\"Table\" superclass=\"qpn::QActive\">\n   <!--${AOs::Table::fork[N_PHILO]}-->\n   <attribute name=\"fork[N_PHILO]\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Table::isHungry[N_PHILO]}-->\n   <attribute name=\"isHungry[N_PHILO]\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Table::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${AOs::Table::SM::initial}-->\n    <initial target=\"../1/2\">\n     <action>uint8_t n;\nfor (n = 0U; n &lt; N_PHILO; ++n) {\n    me-&gt;fork[n] = FREE;\n    me-&gt;isHungry[n] = 0U;\n    BSP_displayPhilStat(n, &quot;thinking&quot;);\n}</action>\n     <initial_glyph conn=\"3,3,5,1,44,18,-9\">\n      <action box=\"0,-2,6,2\"/>\n     </initial_glyph>\n    </initial>\n    <!--${AOs::Table::SM::active}-->\n    <state name=\"active\">\n     <!--${AOs::Table::SM::active::TERMINATE}-->\n     <tran trig=\"TERMINATE\">\n      <action>BSP_terminate(0);</action>\n      <tran_glyph conn=\"2,11,3,-1,14\">\n       <action box=\"0,-2,11,4\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Table::SM::active::EAT}-->\n     <tran trig=\"EAT\">\n      <action>Q_ERROR();</action>\n      <tran_glyph conn=\"2,15,3,-1,14\">\n       <action box=\"0,-2,10,4\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Table::SM::active::serving}-->\n     <state name=\"serving\">\n      <entry brief=\"give pending permitions to eat\">uint8_t n;\nfor (n = 0U; n &lt; N_PHILO; ++n) { /* give permissions to eat... */\n    if ((me-&gt;isHungry[n] != 0U)\n        &amp;&amp; (me-&gt;fork[LEFT(n)] == FREE)\n        &amp;&amp; (me-&gt;fork[n] == FREE))\n    {\n        QActive *philo;\n\n        me-&gt;fork[LEFT(n)] = USED;\n        me-&gt;fork[n] = USED;\n        philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\n        QACTIVE_POST(philo, EAT_SIG, n);\n        me-&gt;isHungry[n] = 0U;\n        BSP_displayPhilStat(n, &quot;eating  &quot;);\n    }\n}</entry>\n      <!--${AOs::Table::SM::active::serving::HUNGRY}-->\n      <tran trig=\"HUNGRY\">\n       <action>uint8_t n, m;\nQActive *philo;\n\nn = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* phil ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\n\nBSP_displayPhilStat(n, &quot;hungry  &quot;);\nm = LEFT(n);</action>\n       <!--${AOs::Table::SM::active::serving::HUNGRY::[bothfree]}-->\n       <choice>\n        <guard brief=\"both free\">(me-&gt;fork[m] == FREE) &amp;&amp; (me-&gt;fork[n] == FREE)</guard>\n        <action>me-&gt;fork[m] = USED;\nme-&gt;fork[n] = USED;\nphilo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\nQACTIVE_POST(philo, EAT_SIG, n);\nBSP_displayPhilStat(n, &quot;eating  &quot;);</action>\n        <choice_glyph conn=\"19,26,5,-1,10\">\n         <action box=\"1,0,10,2\"/>\n        </choice_glyph>\n       </choice>\n       <!--${AOs::Table::SM::active::serving::HUNGRY::[else]}-->\n       <choice>\n        <guard>else</guard>\n        <action>me-&gt;isHungry[n] = 1U;</action>\n        <choice_glyph conn=\"19,26,4,-1,5,10\">\n         <action box=\"1,5,6,2\"/>\n        </choice_glyph>\n       </choice>\n       <tran_glyph conn=\"4,26,3,-1,15\">\n        <action box=\"0,-2,8,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::serving::DONE}-->\n      <tran trig=\"DONE\">\n       <action>uint8_t n, m;\nQActive *philo;\n\nn = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* phil ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\n\nBSP_displayPhilStat(n, &quot;thinking&quot;);\nm = LEFT(n);\n/* both forks of Phil[n] must be used */\nQ_ASSERT((me-&gt;fork[n] == USED) &amp;&amp; (me-&gt;fork[m] == USED));\n\nme-&gt;fork[m] = FREE;\nme-&gt;fork[n] = FREE;\nm = RIGHT(n); /* check the right neighbor */\n\nif ((me-&gt;isHungry[m] != 0U) &amp;&amp; (me-&gt;fork[m] == FREE)) {\n    me-&gt;fork[n] = USED;\n    me-&gt;fork[m] = USED;\n    me-&gt;isHungry[m] = 0U;\n    philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n    QACTIVE_POST(philo, EAT_SIG, m);\n    BSP_displayPhilStat(m, &quot;eating  &quot;);\n}\nm = LEFT(n); /* check the left neighbor */\nn = LEFT(m); /* left fork of the left neighbor */\nif ((me-&gt;isHungry[m] != 0U) &amp;&amp; (me-&gt;fork[n] == FREE)) {\n    me-&gt;fork[m] = USED;\n    me-&gt;fork[n] = USED;\n    me-&gt;isHungry[m] = 0U;\n    philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n    QACTIVE_POST(philo, EAT_SIG, m);\n    BSP_displayPhilStat(m, &quot;eating  &quot;);\n}</action>\n       <tran_glyph conn=\"4,34,3,-1,15\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::serving::EAT}-->\n      <tran trig=\"EAT\">\n       <action>Q_ERROR();</action>\n       <tran_glyph conn=\"4,37,3,-1,15\">\n        <action box=\"0,-2,12,4\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::serving::PAUSE}-->\n      <tran trig=\"PAUSE\" target=\"../../3\">\n       <tran_glyph conn=\"4,41,3,1,37,6,-3\">\n        <action box=\"0,-2,7,2\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"4,19,34,24\">\n       <entry box=\"1,2,27,2\"/>\n      </state_glyph>\n     </state>\n     <!--${AOs::Table::SM::active::paused}-->\n     <state name=\"paused\">\n      <entry>BSP_displayPaused(1U);</entry>\n      <exit>BSP_displayPaused(0U);</exit>\n      <!--${AOs::Table::SM::active::paused::SERVE}-->\n      <tran trig=\"SERVE\" target=\"../../2\">\n       <tran_glyph conn=\"4,57,3,1,39,-20,-5\">\n        <action box=\"0,-2,7,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::paused::HUNGRY}-->\n      <tran trig=\"HUNGRY\">\n       <action>uint8_t n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* philo ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\nme-&gt;isHungry[n] = 1U;\nBSP_displayPhilStat(n, &quot;hungry  &quot;);</action>\n       <tran_glyph conn=\"4,60,3,-1,15\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::paused::DONE}-->\n      <tran trig=\"DONE\">\n       <action>uint8_t n, m;\n\nn = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* phil ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\n\nBSP_displayPhilStat(n, &quot;thinking&quot;);\nm = LEFT(n);\n/* both forks of Phil[n] must be used */\nQ_ASSERT((me-&gt;fork[n] == USED) &amp;&amp; (me-&gt;fork[m] == USED));\n\nme-&gt;fork[m] = FREE;\nme-&gt;fork[n] = FREE;</action>\n       <tran_glyph conn=\"4,63,3,-1,15\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"4,45,34,20\">\n       <entry box=\"1,2,18,4\"/>\n       <exit box=\"1,6,18,4\"/>\n      </state_glyph>\n     </state>\n     <state_glyph node=\"2,5,43,62\"/>\n    </state>\n    <state_diagram size=\"49,69\"/>\n   </statechart>\n  </class>\n  <!--${AOs::AO_Philo0}-->\n  <attribute name=\"AO_Philo0\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo1}-->\n  <attribute name=\"AO_Philo1\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo2}-->\n  <attribute name=\"AO_Philo2\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo3}-->\n  <attribute name=\"AO_Philo3\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo4}-->\n  <attribute name=\"AO_Philo4\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Table}-->\n  <attribute name=\"AO_Table\" type=\"struct Table\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::Philo_ctor}-->\n  <operation name=\"Philo_ctor\" type=\"void\" visibility=\"0x00\" properties=\"0x00\">\n   <code>QActive_ctor(&amp;AO_Philo0.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo1.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo2.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo3.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo4.super, Q_STATE_CAST(&amp;Philo_initial));\nBSP_randomSeed(123U);</code>\n  </operation>\n  <!--${AOs::Table_ctor}-->\n  <operation name=\"Table_ctor\" type=\"void\" visibility=\"0x00\" properties=\"0x00\">\n   <code>uint8_t n;\nTable *me = &amp;AO_Table;\n\nQActive_ctor(&amp;me-&gt;super, Q_STATE_CAST(&amp;Table_initial));\nfor (n = 0U; n &lt; N_PHILO; ++n) {\n    me-&gt;fork[n] = FREE;\n    me-&gt;isHungry[n] = 0U;\n}</code>\n  </operation>\n </package>\n <!--${.}-->\n <directory name=\".\">\n  <!--${.::dpp.h}-->\n  <file name=\"dpp.h\">\n   <text>#ifndef DPP_H\n#define DPP_H\n\nenum DPPSignals {\n    EAT_SIG = Q_USER_SIG, /* published by Table to let a philosopher eat */\n    DONE_SIG,             /* published by Philosopher when done eating */\n    PAUSE_SIG,            /* published by BSP to pause the application */\n    SERVE_SIG,            /* published by BSP to pause the application */\n    TERMINATE_SIG,        /* published by BSP to terminate the application */\n    HUNGRY_SIG,           /* posted direclty to Table from hungry Philo */\n    MAX_SIG               /* the last signal */\n};\n\n/* number of philosophers */\n#define N_PHILO ((uint8_t)5)\n#define PHILO_0_PRIO 1\n\n$declare${AOs::AO_Philo0}\n$declare${AOs::AO_Philo1}\n$declare${AOs::AO_Philo2}\n$declare${AOs::AO_Philo3}\n$declare${AOs::AO_Philo4}\n$declare${AOs::AO_Table}\n\n$declare${AOs::Philo_ctor}\n$declare${AOs::Table_ctor}\n\n#endif /* DPP_H */\n</text>\n  </file>\n  <!--${.::philo.c}-->\n  <file name=\"philo.c\">\n   <text>#include &quot;qpn.h&quot;  /* QP-nano port */\n#include &quot;bsp.h&quot;  /* Board Support Package */\n#include &quot;dpp.h&quot;  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(&quot;philo&quot;)\n\n/* Active object class -----------------------------------------------------*/\n$declare${AOs::Philo}\n\n/* Global objects ----------------------------------------------------------*/\n$define${AOs::AO_Philo0}\n$define${AOs::AO_Philo1}\n$define${AOs::AO_Philo2}\n$define${AOs::AO_Philo3}\n$define${AOs::AO_Philo4}\n\n/* Local objects -----------------------------------------------------------*/\n#define THINK_TIME  \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + (BSP_TICKS_PER_SEC/2U))\n#define EAT_TIME    \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + BSP_TICKS_PER_SEC)\n\n/* Philo definition --------------------------------------------------------*/\n$define${AOs::Philo_ctor}\n$define${AOs::Philo}</text>\n  </file>\n  <!--${.::table.c}-->\n  <file name=\"table.c\">\n   <text>#include &quot;qpn.h&quot;  /* QP-nano port */\n#include &quot;bsp.h&quot;  /* Board Support Package */\n#include &quot;dpp.h&quot;  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(&quot;table&quot;)\n\n/* Active object class -----------------------------------------------------*/\n$declare${AOs::Table}\n\n/* Global objects ----------------------------------------------------------*/\n$define${AOs::AO_Table}\n\n#define RIGHT(n_) ((uint8_t)(((n_) + (N_PHILO - 1U)) % N_PHILO))\n#define LEFT(n_)  ((uint8_t)(((n_) + 1U) % N_PHILO))\n#define FREE      ((uint8_t)0)\n#define USED      ((uint8_t)1)\n\n/*..........................................................................*/\n$define${AOs::Table_ctor}\n$define${AOs::Table}</text>\n  </file>\n </directory>\n</model>\n"
  },
  {
    "path": "examples/msp430/dpp_msp-exp430g2/main.c",
    "content": "/*****************************************************************************\n* Product: DPP example\n* Last Updated for Version: 5.8.0\n* Date of the Last Update:  2016-11-06\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"  /* QP-nano */\n#include \"bsp.h\"  /* Board Support Package */\n#include \"dpp.h\"  /* Application interface */\n\n/*..........................................................................*/\nstatic QEvt l_philoQueue[N_PHILO][N_PHILO];\nstatic QEvt l_tableQueue[2];\n\n/* QF_active[] array defines all active object control blocks --------------*/\nQActiveCB const Q_ROM QF_active[] = {\n    { (QActive *)0,           (QEvt *)0,        0U                      },\n    { (QActive *)&AO_Philo0,  l_philoQueue[0],  Q_DIM(l_philoQueue[0])  },\n    { (QActive *)&AO_Philo1,  l_philoQueue[1],  Q_DIM(l_philoQueue[1])  },\n    { (QActive *)&AO_Philo2,  l_philoQueue[2],  Q_DIM(l_philoQueue[2])  },\n    { (QActive *)&AO_Philo3,  l_philoQueue[3],  Q_DIM(l_philoQueue[3])  },\n    { (QActive *)&AO_Philo4,  l_philoQueue[4],  Q_DIM(l_philoQueue[4])  },\n    { (QActive *)&AO_Table,   l_tableQueue,     Q_DIM(l_tableQueue)     }\n};\n\n/*..........................................................................*/\nint_t main() {\n    Philo_ctor();    /* instantiate all Philo AOs */\n    Table_ctor();    /* instantiate the Table AO */\n\n    QF_init(Q_DIM(QF_active)); /* initialize the QF-nano framework */\n    BSP_init();      /* initialize the Board Support Package */\n\n    return QF_run(); /* transfer control to QF-nano */\n}\n"
  },
  {
    "path": "examples/msp430/dpp_msp-exp430g2/philo.c",
    "content": "/*.$file${.::philo.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: dpp.qm\n* File:  ${.::philo.c}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::philo.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"  /* QP-nano port */\n#include \"bsp.h\"  /* Board Support Package */\n#include \"dpp.h\"  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(\"philo\")\n\n/* Active object class -----------------------------------------------------*/\n/*.$declare${AOs::Philo} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo} ...........................................................*/\ntypedef struct Philo {\n/* protected: */\n    QActive super;\n} Philo;\n\n/* protected: */\nstatic QState Philo_initial(Philo * const me);\nstatic QState Philo_thinking(Philo * const me);\nstatic QState Philo_hungry(Philo * const me);\nstatic QState Philo_eating(Philo * const me);\n/*.$enddecl${AOs::Philo} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Global objects ----------------------------------------------------------*/\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 650U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.5.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo0} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo0} .......................................................*/\nstruct Philo AO_Philo0;\n/*.$enddef${AOs::AO_Philo0} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo1} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo1} .......................................................*/\nstruct Philo AO_Philo1;\n/*.$enddef${AOs::AO_Philo1} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo2} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo2} .......................................................*/\nstruct Philo AO_Philo2;\n/*.$enddef${AOs::AO_Philo2} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo3} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo3} .......................................................*/\nstruct Philo AO_Philo3;\n/*.$enddef${AOs::AO_Philo3} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo4} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo4} .......................................................*/\nstruct Philo AO_Philo4;\n/*.$enddef${AOs::AO_Philo4} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Local objects -----------------------------------------------------------*/\n#define THINK_TIME  \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + (BSP_TICKS_PER_SEC/2U))\n#define EAT_TIME    \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + BSP_TICKS_PER_SEC)\n\n/* Philo definition --------------------------------------------------------*/\n/*.$define${AOs::Philo_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo_ctor} ......................................................*/\nvoid Philo_ctor(void) {\n    QActive_ctor(&AO_Philo0.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo1.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo2.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo3.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo4.super, Q_STATE_CAST(&Philo_initial));\n    BSP_randomSeed(123U);\n}\n/*.$enddef${AOs::Philo_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Philo} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo} ...........................................................*/\n/*.${AOs::Philo::SM} .......................................................*/\nstatic QState Philo_initial(Philo * const me) {\n    /*.${AOs::Philo::SM::initial} */\n    return Q_TRAN(&Philo_thinking);\n}\n/*.${AOs::Philo::SM::thinking} .............................................*/\nstatic QState Philo_thinking(Philo * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Philo::SM::thinking} */\n        case Q_ENTRY_SIG: {\n            QActive_armX(&me->super, 0U, THINK_TIME, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::thinking} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::thinking::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Philo_hungry);\n            break;\n        }\n        /*.${AOs::Philo::SM::thinking::EAT, DONE} */\n        case EAT_SIG: /* intentionally fall through */\n        case DONE_SIG: {\n            Q_ERROR(); /* these events should never arrive in this state */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Philo::SM::hungry} ...............................................*/\nstatic QState Philo_hungry(Philo * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Philo::SM::hungry} */\n        case Q_ENTRY_SIG: {\n            QACTIVE_POST(&AO_Table, HUNGRY_SIG, me->super.prio);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::hungry::EAT} */\n        case EAT_SIG: {\n            status_ = Q_TRAN(&Philo_eating);\n            break;\n        }\n        /*.${AOs::Philo::SM::hungry::DONE} */\n        case DONE_SIG: {\n            Q_ERROR(); /* this event should never arrive in this state */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Philo::SM::eating} ...............................................*/\nstatic QState Philo_eating(Philo * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Philo::SM::eating} */\n        case Q_ENTRY_SIG: {\n            QActive_armX(&me->super, 0U, EAT_TIME, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::eating} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            QACTIVE_POST(QF_ACTIVE_CAST(&AO_Table), DONE_SIG, me->super.prio);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::eating::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Philo_thinking);\n            break;\n        }\n        /*.${AOs::Philo::SM::eating::EAT, DONE} */\n        case EAT_SIG: /* intentionally fall through */\n        case DONE_SIG: {\n            Q_ERROR(); /* these events should never arrive in this state */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${AOs::Philo} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/msp430/dpp_msp-exp430g2/qk/bsp.c",
    "content": "/*****************************************************************************\n* Product: DPP on MSP-EXP430G2 board, preemptive QK-nano kernel\n* Last Updated for Version: 5.8.0\n* Date of the Last Update:  2016-11-07\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"dpp.h\"\n#include \"bsp.h\"\n\n#include <msp430g2553.h>  /* MSP430 variant used */\n/* add other drivers if necessary... */\n\n//Q_DEFINE_THIS_FILE\n\n/* Local-scope objects -----------------------------------------------------*/\n/* 8MHz clock setting, see BSP_init() */\n#define BSP_MCK     8000000U\n#define BSP_SMCLK   8000000U\n\n/* LEDs on the MSP-EXP430G2 board */\n#define LED1        (1U << 0)\n#define LED2        (1U << 6)\n\n/* Buttons on the MSP-EXP430G2 board */\n#define BTN1        (1U << 3)\n\n/* random seed */\nstatic uint32_t l_rnd;\n\n/* ISRs used in this project ===============================================*/\n#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)\n    __interrupt void TIMER0_A0_ISR(void); /* prototype */\n    #pragma vector=TIMER0_A0_VECTOR\n    __interrupt void TIMER0_A0_ISR(void)\n#elif defined(__GNUC__)\n    void __attribute__ ((interrupt(TIMER0_A0_VECTOR)))\n    TIMER0_A0_ISR(void)\n#else\n    #error MSP430 compiler not supported!\n#endif\n{\n    /* state of the button debouncing, see below */\n    static struct ButtonsDebouncing {\n        uint8_t depressed;\n        uint8_t previous;\n    } buttons = { (uint8_t)~0U, (uint8_t)~0U };\n    uint8_t current;\n    uint8_t tmp;\n\n    QK_ISR_ENTRY();    /* inform QK about entering the ISR */\n\n    TACTL &= ~TAIFG;   /* clear the interrupt pending flag */\n\n    QF_tickXISR(0U);   /* process time events for rate 0 */\n\n    /* Perform the debouncing of buttons. The algorithm for debouncing\n    * adapted from the book \"Embedded Systems Dictionary\" by Jack Ganssle\n    * and Michael Barr, page 71.\n    */\n    current = ~P1IN; /* read P1 port with the state of BTN1 */\n    tmp = buttons.depressed; /* save the debounced depressed buttons */\n    buttons.depressed |= (buttons.previous & current); /* set depressed */\n    buttons.depressed &= (buttons.previous | current); /* clear released */\n    buttons.previous   = current; /* update the history */\n    tmp ^= buttons.depressed;     /* changed debounced depressed */\n    if ((tmp & BTN1) != 0U) {     /* debounced BTN1 state changed? */\n        if ((buttons.depressed & BTN1) != 0U) { /* is BTN1 depressed? */\n            QACTIVE_POST_ISR((QActive *)&AO_Table, PAUSE_SIG, 0U);\n        }\n        else {            /* the button is released */\n            QACTIVE_POST_ISR((QActive *)&AO_Table, SERVE_SIG, 0U);\n        }\n    }\n\n    QK_ISR_EXIT();     /* inform QK about exiting the ISR */\n}\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    WDTCTL = WDTPW | WDTHOLD; /* stop watchdog timer */\n\n    /* configure the Basic Clock Module */\n    DCOCTL = 0;             /* Select lowest DCOx and MODx settings */\n    BCSCTL1 = CALBC1_8MHZ;  /* Set DCO */\n    DCOCTL = CALDCO_8MHZ;\n\n    /* configure pins for LEDs */\n    P1DIR |= (LED1 | LED2); /* set LED1 and LED2 pins to output */\n\n    /* configure pin for Button */\n    P1DIR &= ~BTN1;   /* set BTN1 pin as input */\n    P1OUT |= BTN1;    /* drive output to hi */\n    P1REN |= BTN1;    /* enable internal pull up register */\n}\n/*..........................................................................*/\nvoid BSP_displayPhilStat(uint8_t n, char const *stat) {\n    if (stat[0] == 'h') { /* is Philo hungry? */\n        P1OUT |=  LED1;  /* turn LED1 on */\n    }\n    else {\n        P1OUT &= ~LED1;  /* turn LED1 off */\n    }\n}\n/*..........................................................................*/\nvoid BSP_displayPaused(uint8_t paused) {\n    /* not enouhg LEDs to implement this feature */\n    if (paused != 0U) {\n        //P1OUT |=  LED1;\n    }\n    else {\n        //P1OUT &= ~LED1;\n    }\n}\n/*..........................................................................*/\nuint32_t BSP_random(void) { /* a very cheap pseudo-random-number generator */\n    /* \"Super-Duper\" Linear Congruential Generator (LCG)\n    * LCG(2^32, 3*7*11*13*23, 0, seed)\n    */\n    l_rnd = l_rnd * ((uint32_t)3U*7U*11U*13U*23U);\n\n    return l_rnd >> 8;\n}\n/*..........................................................................*/\nvoid BSP_randomSeed(uint32_t seed) {\n    l_rnd = seed;\n}\n/*..........................................................................*/\nvoid BSP_terminate(int16_t result) {\n    (void)result;\n}\n\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    TACTL  = (ID_3 | TASSEL_2 | MC_1);  /* SMCLK, /8 divider, upmode */\n    TACCR0 = (((BSP_SMCLK / 8U) + BSP_TICKS_PER_SEC/2U) / BSP_TICKS_PER_SEC);\n    CCTL0 = CCIE;  /* CCR0 interrupt enabled */\n}\n/*..........................................................................*/\nvoid QK_onIdle(void) {\n    /* toggle LED2 on and then off, see NOTE1 */\n    QF_INT_DISABLE();\n    P1OUT |=  LED2;  /* turn LED2 on */\n    P1OUT &= ~LED2;  /* turn LED2 off */\n    QF_INT_ENABLE();\n\n#ifdef NDEBUG\n    /* Put the CPU and peripherals to the low-power mode.\n    * you might need to customize the clock management for your application,\n    * see the datasheet for your particular MSP430 MCU.\n    */\n    __low_power_mode_1(); /* Enter LPM1; also ENABLES interrupts */\n#endif\n}\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const file, int line) {\n    /* implement the error-handling policy for your application!!! */\n    QF_INT_DISABLE(); /* disable all interrupts */\n\n    /* cause the reset of the CPU... */\n    WDTCTL = WDTPW | WDTHOLD;\n    __asm(\"    push &0xFFFE\");\n    /* return from function does the reset */\n}\n\n/*****************************************************************************\n* NOTE1:\n* One of the LEDs is used to visualize the idle loop activity. The brightness\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n\n"
  },
  {
    "path": "examples/msp430/dpp_msp-exp430g2/qk/ccs/.ccsproject",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<?ccsproject version=\"1.0\"?>\n<projectOptions>\n\t<deviceVariant value=\"MSP430G2553\"/>\n\t<deviceFamily value=\"MSP430\"/>\n\t<codegenToolVersion value=\"4.4.4\"/>\n\t<isElfFormat value=\"true\"/>\n\t<connection value=\"common/targetdb/connections/TIMSP430-USB.xml\"/>\n\t<linkerCommandFile value=\"lnk_msp430g2553.cmd\"/>\n\t<rts value=\"libc.a\"/>\n\t<createSlaveProjects value=\"\"/>\n\t<templateProperties value=\"id=com.ti.common.project.core.emptyProjectWithMainTemplate_msp430,\"/>\n\t<isTargetManual value=\"false\"/>\n</projectOptions>\n"
  },
  {
    "path": "examples/msp430/dpp_msp-exp430g2/qk/ccs/.cproject",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<?fileVersion 4.0.0?><cproject storage_type_id=\"org.eclipse.cdt.core.XmlProjectDescriptionStorage\">\n\t<storageModule configRelations=\"2\" moduleId=\"org.eclipse.cdt.core.settings\">\n\t\t<cconfiguration id=\"com.ti.ccstudio.buildDefinitions.MSP430.Debug.1074438841\">\n\t\t\t<storageModule buildSystemId=\"org.eclipse.cdt.managedbuilder.core.configurationDataProvider\" id=\"com.ti.ccstudio.buildDefinitions.MSP430.Debug.1074438841\" moduleId=\"org.eclipse.cdt.core.settings\" name=\"Debug\">\n\t\t\t\t<externalSettings/>\n\t\t\t\t<extensions>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.binaryparser.CoffParser\" point=\"org.eclipse.cdt.core.BinaryParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.CoffErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.LinkErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.AsmErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GmakeErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t</extensions>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t\t\t<configuration artifactExtension=\"out\" artifactName=\"${ProjName}\" buildProperties=\"\" cleanCommand=\"${CG_CLEAN_CMD}\" description=\"\" id=\"com.ti.ccstudio.buildDefinitions.MSP430.Debug.1074438841\" name=\"Debug\" parent=\"com.ti.ccstudio.buildDefinitions.MSP430.Debug\" postbuildStep=\"\" prebuildStep=\"\">\n\t\t\t\t\t<folderInfo id=\"com.ti.ccstudio.buildDefinitions.MSP430.Debug.1074438841.\" name=\"/\" resourcePath=\"\">\n\t\t\t\t\t\t<toolChain id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.DebugToolchain.1225386181\" name=\"TI Build Tools\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.DebugToolchain\" targetTool=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerDebug.1587110988\">\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1116715693\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_CONFIGURATION_ID=MSP430G2553\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_ENDIANNESS=little\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_FORMAT=ELF\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"LINKER_COMMAND_FILE=lnk_msp430g2553.cmd\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"RUNTIME_SUPPORT_LIBRARY=libc.a\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"CCS_MBS_VERSION=6.1.3\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_TYPE=executable\"/>\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.435396392\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION\" value=\"16.9.6.LTS\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<targetPlatform id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.targetPlatformDebug.1440182157\" name=\"Platform\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.targetPlatformDebug\"/>\n\t\t\t\t\t\t\t<builder buildPath=\"${BuildDirectory}\" id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.builderDebug.399657964\" name=\"GNU Make.Debug\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.builderDebug\"/>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.compilerDebug.1041109559\" name=\"MSP430 Compiler\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.compilerDebug\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEFINE.1423701955\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEFINE\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"__MSP430G2553__\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY.1744730271\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY.none\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION.1381140040\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION.msp\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT.1329768106\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT.minimal\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.INCLUDE_PATH.868338916\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.INCLUDE_PATH\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CCS_BASE_ROOT}/msp430/include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CCS_BASE_ROOT}/msp430/include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}\\.&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}\\..\\..&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}\\..\\..\\..\\..\\..\\include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}\\..\\..\\..\\..\\..\\ports\\msp430\\qk\\ccs&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CG_TOOL_ROOT}/include&quot;\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.1078490498\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WARNING.540922731\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WARNING\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"225\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP.2078974598\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP.off\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DISPLAY_ERROR_NUMBER.1133260678\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DISPLAY_ERROR_NUMBER\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI.217182789\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI.eabi\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__C_SRCS.507825680\" name=\"C Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__C_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__CPP_SRCS.1221871904\" name=\"C++ Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__CPP_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM_SRCS.596383603\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM2_SRCS.1968592979\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM2_SRCS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerDebug.1587110988\" name=\"MSP430 Linker\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerDebug\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY.220232025\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY.none\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.HEAP_SIZE.1603095450\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.HEAP_SIZE\" value=\"0\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.STACK_SIZE.678911840\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.STACK_SIZE\" value=\"80\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.MAP_FILE.455326892\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.MAP_FILE\" value=\"&quot;${ProjName}.map&quot;\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.OUTPUT_FILE.2121513441\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.OUTPUT_FILE\" value=\"${ProjName}.out\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.LIBRARY.1863992754\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.LIBRARY\" valueType=\"libs\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"libc.a\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.SEARCH_PATH.518691660\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.SEARCH_PATH\" valueType=\"libPaths\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CCS_BASE_ROOT}/msp430/include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CCS_BASE_ROOT}/msp430/include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CG_TOOL_ROOT}/lib&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CG_TOOL_ROOT}/include&quot;\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP.1347488332\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP.off\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DISPLAY_ERROR_NUMBER.108473506\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DISPLAY_ERROR_NUMBER\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.XML_LINK_INFO.1619318683\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.XML_LINK_INFO\" value=\"&quot;${ProjName}_linkInfo.xml&quot;\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD_SRCS.1865835195\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD2_SRCS.772220744\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD2_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__GEN_CMDS.325620004\" name=\"Generated Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__GEN_CMDS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.103490941\" name=\"MSP430 Hex Utility\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.ROMWIDTH.875843389\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.ROMWIDTH\" value=\"8\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.MEMWIDTH.742390758\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.MEMWIDTH\" value=\"8\" valueType=\"string\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t</toolChain>\n\t\t\t\t\t</folderInfo>\n\t\t\t\t\t<sourceEntries>\n\t\t\t\t\t\t<entry excluding=\"QP/qs_fp.c|QP/qs_64bit.c|QP/qfn_init.c|QP/qs.c|QP/qv.c\" flags=\"VALUE_WORKSPACE_PATH|RESOLVED\" kind=\"sourcePath\" name=\"\"/>\n\t\t\t\t\t</sourceEntries>\n\t\t\t\t</configuration>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"org.eclipse.cdt.core.externalSettings\"/>\n\t\t</cconfiguration>\n\t\t<cconfiguration id=\"com.ti.ccstudio.buildDefinitions.MSP430.Release.1769173060\">\n\t\t\t<storageModule buildSystemId=\"org.eclipse.cdt.managedbuilder.core.configurationDataProvider\" id=\"com.ti.ccstudio.buildDefinitions.MSP430.Release.1769173060\" moduleId=\"org.eclipse.cdt.core.settings\" name=\"Release\">\n\t\t\t\t<externalSettings/>\n\t\t\t\t<extensions>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.binaryparser.CoffParser\" point=\"org.eclipse.cdt.core.BinaryParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.CoffErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.LinkErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.AsmErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GmakeErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t</extensions>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t\t\t<configuration artifactExtension=\"out\" artifactName=\"${ProjName}\" buildProperties=\"\" cleanCommand=\"${CG_CLEAN_CMD}\" description=\"\" id=\"com.ti.ccstudio.buildDefinitions.MSP430.Release.1769173060\" name=\"Release\" parent=\"com.ti.ccstudio.buildDefinitions.MSP430.Release\" postbuildStep=\"\" prebuildStep=\"\">\n\t\t\t\t\t<folderInfo id=\"com.ti.ccstudio.buildDefinitions.MSP430.Release.1769173060.\" name=\"/\" resourcePath=\"\">\n\t\t\t\t\t\t<toolChain id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.ReleaseToolchain.1934823552\" name=\"TI Build Tools\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.ReleaseToolchain\" targetTool=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerRelease.182186740\">\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1156301819\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_CONFIGURATION_ID=MSP430G2553\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_ENDIANNESS=little\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_FORMAT=ELF\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"LINKER_COMMAND_FILE=lnk_msp430g2553.cmd\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"RUNTIME_SUPPORT_LIBRARY=libc.a\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"CCS_MBS_VERSION=6.1.3\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_TYPE=executable\"/>\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1799855622\" name=\"Compiler version\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION\" value=\"16.9.6.LTS\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<targetPlatform id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.targetPlatformRelease.144458170\" name=\"Platform\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.targetPlatformRelease\"/>\n\t\t\t\t\t\t\t<builder buildPath=\"${BuildDirectory}\" id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.builderRelease.2105848532\" keepEnvironmentInBuildfile=\"false\" name=\"GNU Make\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.builderRelease\"/>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.compilerRelease.1560481403\" name=\"MSP430 Compiler\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.compilerRelease\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEFINE.1462158661\" name=\"Pre-define NAME (--define, -D)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEFINE\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"NDEBUG\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"__MSP430G2553__\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY.724228626\" name=\"Inline hardware multiply version of RTS mpy routine (--use_hw_mpy)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY.none\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION.1050644285\" name=\"Silicon version (--silicon_version, -v)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION.msp\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT.619212215\" name=\"Level of printf/scanf support required (--printf_support)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT.minimal\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.INCLUDE_PATH.1829163664\" name=\"Add dir to #include search path (--include_path, -I)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.INCLUDE_PATH\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CCS_BASE_ROOT}/msp430/include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CCS_BASE_ROOT}/msp430/include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}\\.&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}\\..\\..&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}\\..\\..\\..\\..\\..\\include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}\\..\\..\\..\\..\\..\\ports\\msp430\\qk\\ccs&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CG_TOOL_ROOT}/include&quot;\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.UNDEFINE.142779287\" name=\"Undefine NAME (--undefine, -U)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.UNDEFINE\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"_INLINE\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.1900462416\" name=\"Debugging model\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.SYMDEBUG__NONE\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WARNING.1943170601\" name=\"Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WARNING\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"225\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP.113755064\" name=\"Wrap diagnostic messages (--diag_wrap)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP.off\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DISPLAY_ERROR_NUMBER.9099177\" name=\"Emit diagnostic identifier numbers (--display_error_number, -pden)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DISPLAY_ERROR_NUMBER\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI.399721661\" name=\"Application binary interface (--abi)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI.eabi\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__C_SRCS.2446686\" name=\"C Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__C_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__CPP_SRCS.878136775\" name=\"C++ Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__CPP_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM_SRCS.297524047\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM2_SRCS.1012907798\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM2_SRCS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerRelease.182186740\" name=\"MSP430 Linker\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerRelease\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY.2065098524\" name=\"Deprecated: Now a compiler option instead of linker option (--use_hw_mpy)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY.none\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.HEAP_SIZE.729623844\" name=\"Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.HEAP_SIZE\" value=\"0\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.STACK_SIZE.1924779313\" name=\"Set C system stack size (--stack_size, -stack)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.STACK_SIZE\" value=\"80\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.MAP_FILE.1309997662\" name=\"Link information (map) listed into &lt;file&gt; (--map_file, -m)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.MAP_FILE\" value=\"&quot;${ProjName}.map&quot;\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.OUTPUT_FILE.173537662\" name=\"Specify output file name (--output_file, -o)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.OUTPUT_FILE\" value=\"${ProjName}.out\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.LIBRARY.1383940841\" name=\"Include library file or command file as input (--library, -l)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.LIBRARY\" valueType=\"libs\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"libc.a\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.SEARCH_PATH.259872919\" name=\"Add &lt;dir&gt; to library search path (--search_path, -i)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.SEARCH_PATH\" valueType=\"libPaths\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CCS_BASE_ROOT}/msp430/include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CCS_BASE_ROOT}/msp430/include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CG_TOOL_ROOT}/lib&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CG_TOOL_ROOT}/include&quot;\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP.812515435\" name=\"Wrap diagnostic messages (--diag_wrap)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP.off\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DISPLAY_ERROR_NUMBER.1447640710\" name=\"Emit diagnostic identifier numbers (--display_error_number)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DISPLAY_ERROR_NUMBER\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.XML_LINK_INFO.562960542\" name=\"Detailed link information data-base into &lt;file&gt; (--xml_link_info, -xml_link_info)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.XML_LINK_INFO\" value=\"&quot;${ProjName}_linkInfo.xml&quot;\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD_SRCS.1116020936\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD2_SRCS.2054519834\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD2_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__GEN_CMDS.1701041889\" name=\"Generated Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__GEN_CMDS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.1681900503\" name=\"MSP430 Hex Utility\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.ROMWIDTH.1060844856\" name=\"Specify rom width (--romwidth, -romwidth=width)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.ROMWIDTH\" value=\"8\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.MEMWIDTH.1729979464\" name=\"Specify memory width (--memwidth, -memwidth=width)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.MEMWIDTH\" value=\"8\" valueType=\"string\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t</toolChain>\n\t\t\t\t\t</folderInfo>\n\t\t\t\t\t<sourceEntries>\n\t\t\t\t\t\t<entry excluding=\"QP/qs_fp.c|QP/qs_64bit.c|QP/qfn_init.c|QP/qs.c|QP/qv.c\" flags=\"VALUE_WORKSPACE_PATH|RESOLVED\" kind=\"sourcePath\" name=\"\"/>\n\t\t\t\t\t</sourceEntries>\n\t\t\t\t</configuration>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"org.eclipse.cdt.core.externalSettings\"/>\n\t\t</cconfiguration>\n\t</storageModule>\n\t<storageModule moduleId=\"org.eclipse.cdt.core.LanguageSettingsProviders\"/>\n\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t<project id=\"dpp-qk_msp-exp430g2.com.ti.ccstudio.buildDefinitions.MSP430.ProjectType.624399482\" name=\"MSP430\" projectType=\"com.ti.ccstudio.buildDefinitions.MSP430.ProjectType\"/>\n\t</storageModule>\n\t<storageModule moduleId=\"scannerConfiguration\"/>\n\t<storageModule moduleId=\"org.eclipse.cdt.core.language.mapping\">\n\t\t<project-mappings>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.asmSource\" language=\"com.ti.ccstudio.core.TIASMLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cHeader\" language=\"com.ti.ccstudio.core.TIGCCLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cSource\" language=\"com.ti.ccstudio.core.TIGCCLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cxxHeader\" language=\"com.ti.ccstudio.core.TIGPPLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cxxSource\" language=\"com.ti.ccstudio.core.TIGPPLanguage\"/>\n\t\t</project-mappings>\n\t</storageModule>\n\t<storageModule moduleId=\"null.endianPreference\"/>\n\t<storageModule moduleId=\"cpuFamily\"/>\n</cproject>\n"
  },
  {
    "path": "examples/msp430/dpp_msp-exp430g2/qk/ccs/.project",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<projectDescription>\n\t<name>dpp-qk_msp-exp430g2</name>\n\t<comment></comment>\n\t<projects>\n\t</projects>\n\t<buildSpec>\n\t\t<buildCommand>\n\t\t\t<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t\t<buildCommand>\n\t\t\t<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>\n\t\t\t<triggers>full,incremental,</triggers>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t</buildSpec>\n\t<natures>\n\t\t<nature>com.ti.ccstudio.core.ccsNature</nature>\n\t\t<nature>org.eclipse.cdt.core.cnature</nature>\n\t\t<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>\n\t\t<nature>org.eclipse.cdt.core.ccnature</nature>\n\t\t<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>\n\t</natures>\n\t<linkedResources>\n\t\t<link>\n\t\t\t<name>QKn</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/src/qkn</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>QP</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/src/qfn</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>QP_port</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/ports/msp430/qk/ccs</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>bsp.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-1-PROJECT_LOC/bsp.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>bsp.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/bsp.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>dpp.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/dpp.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>main.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/main.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>philo.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/philo.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>table.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/table.c</locationURI>\n\t\t</link>\n\t</linkedResources>\n</projectDescription>\n"
  },
  {
    "path": "examples/msp430/dpp_msp-exp430g2/qk/ccs/lnk_msp430g2553.cmd",
    "content": "/* ============================================================================ */\n/* Copyright (c) 2014, Texas Instruments Incorporated                           */\n/*  All rights reserved.                                                        */\n/*                                                                              */\n/*  Redistribution and use in source and binary forms, with or without          */\n/*  modification, are permitted provided that the following conditions          */\n/*  are met:                                                                    */\n/*                                                                              */\n/*  *  Redistributions of source code must retain the above copyright           */\n/*     notice, this list of conditions and the following disclaimer.            */\n/*                                                                              */\n/*  *  Redistributions in binary form must reproduce the above copyright        */\n/*     notice, this list of conditions and the following disclaimer in the      */\n/*     documentation and/or other materials provided with the distribution.     */\n/*                                                                              */\n/*  *  Neither the name of Texas Instruments Incorporated nor the names of      */\n/*     its contributors may be used to endorse or promote products derived      */\n/*     from this software without specific prior written permission.            */\n/*                                                                              */\n/*  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" */\n/*  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,       */\n/*  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR      */\n/*  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR            */\n/*  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,       */\n/*  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,         */\n/*  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; */\n/*  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,    */\n/*  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR     */\n/*  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,              */\n/*  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.                          */\n/* ============================================================================ */\n\n/******************************************************************************/\n/* lnk_msp430g2553.cmd - LINKER COMMAND FILE FOR LINKING MSP430G2553 PROGRAMS     */\n/*                                                                            */\n/*   Usage:  lnk430 <obj files...>    -o <out file> -m <map file> lnk.cmd     */\n/*           cl430  <src files...> -z -o <out file> -m <map file> lnk.cmd     */\n/*                                                                            */\n/*----------------------------------------------------------------------------*/\n/* These linker options are for command line linking only.  For IDE linking,  */\n/* you should set your linker options in Project Properties                   */\n/* -c                                               LINK USING C CONVENTIONS  */\n/* -stack  0x0100                                   SOFTWARE STACK SIZE       */\n/* -heap   0x0100                                   HEAP AREA SIZE            */\n/*                                                                            */\n/*----------------------------------------------------------------------------*/\n/* Version: 1.159                                                             */\n/*----------------------------------------------------------------------------*/\n\n/****************************************************************************/\n/* Specify the system memory map                                            */\n/****************************************************************************/\n\nMEMORY\n{\n    SFR                     : origin = 0x0000, length = 0x0010\n    PERIPHERALS_8BIT        : origin = 0x0010, length = 0x00F0\n    PERIPHERALS_16BIT       : origin = 0x0100, length = 0x0100\n    RAM                     : origin = 0x0200, length = 0x0200\n    INFOA                   : origin = 0x10C0, length = 0x0040\n    INFOB                   : origin = 0x1080, length = 0x0040\n    INFOC                   : origin = 0x1040, length = 0x0040\n    INFOD                   : origin = 0x1000, length = 0x0040\n    FLASH                   : origin = 0xC000, length = 0x3FE0\n    INT00                   : origin = 0xFFE0, length = 0x0002\n    INT01                   : origin = 0xFFE2, length = 0x0002\n    INT02                   : origin = 0xFFE4, length = 0x0002\n    INT03                   : origin = 0xFFE6, length = 0x0002\n    INT04                   : origin = 0xFFE8, length = 0x0002\n    INT05                   : origin = 0xFFEA, length = 0x0002\n    INT06                   : origin = 0xFFEC, length = 0x0002\n    INT07                   : origin = 0xFFEE, length = 0x0002\n    INT08                   : origin = 0xFFF0, length = 0x0002\n    INT09                   : origin = 0xFFF2, length = 0x0002\n    INT10                   : origin = 0xFFF4, length = 0x0002\n    INT11                   : origin = 0xFFF6, length = 0x0002\n    INT12                   : origin = 0xFFF8, length = 0x0002\n    INT13                   : origin = 0xFFFA, length = 0x0002\n    INT14                   : origin = 0xFFFC, length = 0x0002\n    RESET                   : origin = 0xFFFE, length = 0x0002\n}\n\n/****************************************************************************/\n/* Specify the sections allocation into memory                              */\n/****************************************************************************/\n\nSECTIONS\n{\n    .bss        : {} > RAM                  /* Global & static vars              */\n    .data       : {} > RAM                  /* Global & static vars              */\n    .TI.noinit  : {} > RAM                  /* For #pragma noinit                */\n    .sysmem     : {} > RAM                  /* Dynamic memory allocation area    */\n    .stack      : {} > RAM (HIGH)           /* Software system stack             */\n\n    .text       : {} > FLASH                /* Code                              */\n    .cinit      : {} > FLASH                /* Initialization tables             */\n    .const      : {} > FLASH                /* Constant data                     */\n    .cio        : {} > RAM                  /* C I/O Buffer                      */\n\n    .pinit      : {} > FLASH                /* C++ Constructor tables            */\n    .init_array : {} > FLASH                /* C++ Constructor tables            */\n    .mspabi.exidx : {} > FLASH              /* C++ Constructor tables            */\n    .mspabi.extab : {} > FLASH              /* C++ Constructor tables            */\n\n    .infoA     : {} > INFOA              /* MSP430 INFO FLASH Memory segments */\n    .infoB     : {} > INFOB\n    .infoC     : {} > INFOC\n    .infoD     : {} > INFOD\n\n    /* MSP430 Interrupt vectors          */\n    TRAPINT      : { * ( .int00 ) } > INT00 type = VECT_INIT\n    .int01       : {}               > INT01\n    PORT1        : { * ( .int02 ) } > INT02 type = VECT_INIT\n    PORT2        : { * ( .int03 ) } > INT03 type = VECT_INIT\n    .int04       : {}               > INT04\n    ADC10        : { * ( .int05 ) } > INT05 type = VECT_INIT\n    USCIAB0TX    : { * ( .int06 ) } > INT06 type = VECT_INIT\n    USCIAB0RX    : { * ( .int07 ) } > INT07 type = VECT_INIT\n    TIMER0_A1    : { * ( .int08 ) } > INT08 type = VECT_INIT\n    TIMER0_A0    : { * ( .int09 ) } > INT09 type = VECT_INIT\n    WDT          : { * ( .int10 ) } > INT10 type = VECT_INIT\n    COMPARATORA   : { * ( .int11 ) } > INT11 type = VECT_INIT\n    TIMER1_A1    : { * ( .int12 ) } > INT12 type = VECT_INIT\n    TIMER1_A0    : { * ( .int13 ) } > INT13 type = VECT_INIT\n    NMI          : { * ( .int14 ) } > INT14 type = VECT_INIT\n    .reset       : {}               > RESET  /* MSP430 Reset vector         */ \n}\n\n/****************************************************************************/\n/* Include peripherals memory map                                           */\n/****************************************************************************/\n\n-l msp430g2553.cmd\n\n"
  },
  {
    "path": "examples/msp430/dpp_msp-exp430g2/qk/iar/dpp-qk.ewd",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<project>\n  <fileVersion>2</fileVersion>\n  <configuration>\n    <name>Debug</name>\n    <toolchain>\n      <name>MSP430</name>\n    </toolchain>\n    <debug>1</debug>\n    <settings>\n      <name>C-SPY</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>27</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GoToEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GoToName</name>\n          <state>main</state>\n        </option>\n        <option>\n          <name>DynDriver</name>\n          <state>430FET</state>\n        </option>\n        <option>\n          <name>dDllSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DdfFileSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>DdfOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DdfFileName</name>\n          <state>$TOOLKIT_DIR$\\config\\debugger\\msp430g2553.ddf</state>\n        </option>\n        <option>\n          <name>ProcTMS</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ProcMSP430X</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerDataModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IVBASE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CPUTAG</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>L092Mode</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCImagesOffset1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesUse1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ENERGYTRACE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>FETIPE</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>430FET</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>29</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CFetMandatory</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Erase</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EMUVerifyDownloadP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EraseOptionSlaveP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>derivativeP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ParallelPortP7</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>TargetVoltage</name>\n          <state>3.3</state>\n        </option>\n        <option>\n          <name>AllowLockedFlashAccessP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EMUAttach</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AttachOptionSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRadioProtocolType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRadioModuleTypeSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>EEMLevel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DiasbleMemoryCache</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NeedLockedFlashAccess</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UsbComPort</name>\n          <state>Automatic</state>\n        </option>\n        <option>\n          <name>FetConnection</name>\n          <version>4</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SoftwareBreakpointEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RadioSoftwareBreakpointType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TargetSettlingtime</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AllowAccessToBSL</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTargetVccTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCBetaDll</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GPassword</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DebugLPM5</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LPM5Slave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRadioAutoManualType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExternalCodeDownload</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCVCCDefault</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Retain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>jstatebit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioJtagSpeedType</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>memoryTypeSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>fuseBlowDisabledSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>eraseTypeSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DataSampleBpReservation</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>cycleCounterLevel</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>SIM430</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>4</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>SimOddAddressCheckP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CSimMandatory</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>derivativeSim</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimEnablePSP</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimPspOverrideConfig</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimPspConfigFile</name>\n          <state>$TOOLKIT_DIR$\\CONFIG\\test.psp.config</state>\n        </option>\n      </data>\n    </settings>\n    <debuggerPlugins>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\lcd\\lcd.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\SymList\\SymList.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n    </debuggerPlugins>\n  </configuration>\n  <configuration>\n    <name>Release</name>\n    <toolchain>\n      <name>MSP430</name>\n    </toolchain>\n    <debug>0</debug>\n    <settings>\n      <name>C-SPY</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>27</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GoToEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GoToName</name>\n          <state>main</state>\n        </option>\n        <option>\n          <name>DynDriver</name>\n          <state>430FET</state>\n        </option>\n        <option>\n          <name>dDllSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DdfFileSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>DdfOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DdfFileName</name>\n          <state>$TOOLKIT_DIR$\\config\\debugger\\msp430g2553.ddf</state>\n        </option>\n        <option>\n          <name>ProcTMS</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ProcMSP430X</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerDataModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IVBASE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CPUTAG</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>L092Mode</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCImagesOffset1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesUse1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ENERGYTRACE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>FETIPE</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>430FET</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>29</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CFetMandatory</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Erase</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EMUVerifyDownloadP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EraseOptionSlaveP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>derivativeP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ParallelPortP7</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>TargetVoltage</name>\n          <state>3.3</state>\n        </option>\n        <option>\n          <name>AllowLockedFlashAccessP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EMUAttach</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AttachOptionSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRadioProtocolType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRadioModuleTypeSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>EEMLevel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DiasbleMemoryCache</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NeedLockedFlashAccess</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UsbComPort</name>\n          <state>Automatic</state>\n        </option>\n        <option>\n          <name>FetConnection</name>\n          <version>4</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SoftwareBreakpointEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioSoftwareBreakpointType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TargetSettlingtime</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AllowAccessToBSL</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTargetVccTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCBetaDll</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GPassword</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DebugLPM5</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LPM5Slave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRadioAutoManualType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExternalCodeDownload</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCVCCDefault</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Retain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>jstatebit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioJtagSpeedType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>memoryTypeSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>fuseBlowDisabledSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>eraseTypeSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DataSampleBpReservation</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>cycleCounterLevel</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>SIM430</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>4</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>SimOddAddressCheckP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CSimMandatory</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>derivativeSim</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimEnablePSP</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimPspOverrideConfig</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimPspConfigFile</name>\n          <state>$TOOLKIT_DIR$\\CONFIG\\test.psp.config</state>\n        </option>\n      </data>\n    </settings>\n    <debuggerPlugins>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\lcd\\lcd.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\SymList\\SymList.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n    </debuggerPlugins>\n  </configuration>\n</project>\n\n\n"
  },
  {
    "path": "examples/msp430/dpp_msp-exp430g2/qk/iar/dpp-qk.ewp",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<project>\n  <fileVersion>2</fileVersion>\n  <configuration>\n    <name>Debug</name>\n    <toolchain>\n      <name>MSP430</name>\n    </toolchain>\n    <debug>1</debug>\n    <settings>\n      <name>General</name>\n      <archiveVersion>17</archiveVersion>\n      <data>\n        <version>33</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OGCore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExePath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>ObjPath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>ListPath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>Hardware Multiplier</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GOutputBinary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AssemblerOnly</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGDouble</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelect</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RTDescription</name>\n          <state>Use the normal configuration of the C/EC++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n        </option>\n        <option>\n          <name>RTConfigPath</name>\n          <state>$TOOLKIT_DIR$\\lib\\dlib\\dl430fn.h</state>\n        </option>\n        <option>\n          <name>RTLibraryPath</name>\n          <state>$TOOLKIT_DIR$\\lib\\dlib\\dl430fn.r43</state>\n        </option>\n        <option>\n          <name>Input variant</name>\n          <version>2</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>Input description</name>\n          <state>No specifier n, no float nor long long, no scan set, no assignment suppressing, without multibyte support.</state>\n        </option>\n        <option>\n          <name>Output variant</name>\n          <version>2</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>Output description</name>\n          <state>No specifier a or A, no specifier n, no float or long long, no flags.</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelectSlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GeneralEnableMisra</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVerbose</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGChipSelectMenu</name>\n          <state>MSP430G2553\tMSP430G2553</state>\n        </option>\n        <option>\n          <name>GStackHeapOverride</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GStackSize2</name>\n          <state>128</state>\n        </option>\n        <option>\n          <name>GHeapSize2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioDataModelType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GHeap20Size</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>RadioHeapSizeType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioHardwareMultiplierType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>RadioL092ModelType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Ropi</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NoRwDynamicInit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibThreads</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MathLib</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioCodeModelType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEnableMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GESupportMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GELockMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GENMIViolationMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEAssertMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEInfoReadMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEInfoWriteMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEInfoExecuteMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEInfoAssertMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEnableIpe</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GESupportIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GAssertIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GLockIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Math variant</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Math description</name>\n          <state>Default variants of cos, sin, tan, log, log10, pow, and exp.</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICC430</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>37</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CCDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCPreprocFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocComments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMnemonics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMessages</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagSuppress</name>\n          <state>Pa50</state>\n        </option>\n        <option>\n          <name>CCDiagRemark</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagWarning</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagError</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IObjPrefix2</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRequirePrototypes</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCAllowList</name>\n          <version>1</version>\n          <state>00000</state>\n        </option>\n        <option>\n          <name>CCObjUseModuleName</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCObjModuleName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDebugInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagWarnAreErr</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCharIs</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCExt</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMigrationPreprocExtentions</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCompilerRuntimeInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IDoubleSize</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.r43</state>\n        </option>\n        <option>\n          <name>CCLibConfigHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCR4Utilize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCR5Utilize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>PreInclude</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCOverrideModuleTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleTypeSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>newCCIncludePaths</name>\n          <state>$PROJ_DIR$\\.</state>\n          <state>$PROJ_DIR$\\..\\..</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\msp430\\qk\\iar</state>\n        </option>\n        <option>\n          <name>CCStdIncCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CompilerMisraOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OI430X</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ReduceStack</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Save20bit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CompilerDataModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptStrategy</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevelSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>IccLang</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>IccCDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccAllowVLA</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCppDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCPUTAG</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCCodeFunctions</name>\n          <state>CODE</state>\n        </option>\n        <option>\n          <name>CCData16</name>\n          <state>DATA16</state>\n        </option>\n        <option>\n          <name>CCData20</name>\n          <state>DATA20</state>\n        </option>\n        <option>\n          <name>CCIntvec</name>\n          <state>INTVEC</state>\n        </option>\n        <option>\n          <name>CCCstack</name>\n          <state>CSTACK</state>\n        </option>\n        <option>\n          <name>CCRamFuncCode</name>\n          <state>RAMFUNC_CODE</state>\n        </option>\n        <option>\n          <name>CCIsrCode</name>\n          <state>ISR_CODE</state>\n        </option>\n        <option>\n          <name>CCDifunct</name>\n          <state>DIFUNCT</state>\n        </option>\n        <option>\n          <name>IccCppInlineSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccStaticDestr</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccFloatSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CROPI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CNoRwDynamicInit</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptimizationNoSizeConstraints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCGuardCalls</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCGuardCallsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerCodeModel</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>A430</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>14</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>AObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ACaseSensitivity</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacroChars</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnWhat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnOne</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AListHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AListing</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Includes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacExps</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacExec</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OnlyAssed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MultiLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>TabSpacing</name>\n          <state>8</state>\n        </option>\n        <option>\n          <name>AXRef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDefines</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefInternal</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDual</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADebug</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ADebugType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrOn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrNum</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.r43</state>\n        </option>\n        <option>\n          <name>AMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OA1M</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AIgnoreStdInclude</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AStdIncludes</name>\n          <state>$TOOLKIT_DIR$\\INC\\</state>\n        </option>\n        <option>\n          <name>AUserIncludes</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ACPUTAG</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CUSTOM</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <extensions></extensions>\n        <cmdline></cmdline>\n        <hasPrio>0</hasPrio>\n      </data>\n    </settings>\n    <settings>\n      <name>BICOMP</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>BUILDACTION</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <prebuild></prebuild>\n        <postbuild></postbuild>\n      </data>\n    </settings>\n    <settings>\n      <name>XLINK</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>29</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>XOutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>dpp-qk.d43</state>\n        </option>\n        <option>\n          <name>OutputFormat</name>\n          <version>11</version>\n          <state>33</state>\n        </option>\n        <option>\n          <name>FormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>SecondaryOutputFile</name>\n          <state>(None for the selected format)</state>\n        </option>\n        <option>\n          <name>XDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AlwaysOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OverlapWarnings</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NoGlobalCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SegmentMap</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ListSymbols</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>XIncludes</name>\n          <state>$TOOLKIT_DIR$\\LIB\\</state>\n        </option>\n        <option>\n          <name>ModuleStatus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclFile</name>\n          <state>$TOOLKIT_DIR$\\config\\linker\\lnk430g2553.xcl</state>\n        </option>\n        <option>\n          <name>XclFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DoFill</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FillerByte</name>\n          <state>0xFF</state>\n        </option>\n        <option>\n          <name>DoCrc</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcSize</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcAlgo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcPoly</name>\n          <state>0x11021</state>\n        </option>\n        <option>\n          <name>CrcCompl</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RangeCheckAlternatives</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressAllWarn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressDiags</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsWarn</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsErr</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ModuleLocalSym</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcBitOrder</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XHardwareMul</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IncludeSuppressed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ModuleSummary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkStackSize</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkCodeModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabel</name>\n          <state>__program_start</state>\n        </option>\n        <option>\n          <name>DebugInformation</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RuntimeControl</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IoEmulation</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XcRTLibraryFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OXLibIOConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XLibraryHeap</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AllowExtraOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GenerateExtraOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExtraOutputFile</name>\n          <state>dpp-qk.a43</state>\n        </option>\n        <option>\n          <name>ExtraOutputFormat</name>\n          <version>11</version>\n          <state>23</state>\n        </option>\n        <option>\n          <name>ExtraFormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>xcOverrideProgramEntryLabel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabelSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ListOutputFormat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>BufferedTermOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OverlaySystemMap</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RawBinaryFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySymbol</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySegment</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinaryAlign</name>\n          <state></state>\n        </option>\n        <option>\n          <name>XLinkMisraHandler</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcAlign</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>CrcInitialValue</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>XLibraryHeap20</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcUnitSize</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LinkMathLib</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkThreadsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkMPU</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkIPE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkLogEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogInputFiles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogModuleSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogPrintfScanf</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogSegmentSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogStackDepth</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkStackUsageEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkControlFiles</name>\n          <state></state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileName</name>\n          <state>$LIST_DIR$\\$PROJ_FNAME$.call_graph.cgx</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>XAR</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>XAROutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XARInputs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ULP430</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CUTest</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>ULPRules</name>\n          <version>0</version>\n          <state>1111111111111111111</state>\n        </option>\n        <option>\n          <name>ULPEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ULPStatus</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>BILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n  </configuration>\n  <configuration>\n    <name>Release</name>\n    <toolchain>\n      <name>MSP430</name>\n    </toolchain>\n    <debug>0</debug>\n    <settings>\n      <name>General</name>\n      <archiveVersion>17</archiveVersion>\n      <data>\n        <version>33</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OGCore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExePath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>ObjPath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>ListPath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>Hardware Multiplier</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GOutputBinary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AssemblerOnly</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGDouble</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelect</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RTDescription</name>\n          <state>Use the normal configuration of the C/EC++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n        </option>\n        <option>\n          <name>RTConfigPath</name>\n          <state>$TOOLKIT_DIR$\\lib\\dlib\\dl430fn.h</state>\n        </option>\n        <option>\n          <name>RTLibraryPath</name>\n          <state>$TOOLKIT_DIR$\\lib\\dlib\\dl430fn.r43</state>\n        </option>\n        <option>\n          <name>Input variant</name>\n          <version>2</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>Input description</name>\n          <state>No specifier n, no float nor long long, no scan set, no assignment suppressing, without multibyte support.</state>\n        </option>\n        <option>\n          <name>Output variant</name>\n          <version>2</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>Output description</name>\n          <state>No specifier a or A, no specifier n, no float or long long, no flags.</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelectSlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GeneralEnableMisra</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVerbose</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGChipSelectMenu</name>\n          <state>MSP430G2553\tMSP430G2553</state>\n        </option>\n        <option>\n          <name>GStackHeapOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GStackSize2</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>GHeapSize2</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>RadioDataModelType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GHeap20Size</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>RadioHeapSizeType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioHardwareMultiplierType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>RadioL092ModelType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Ropi</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NoRwDynamicInit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibThreads</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MathLib</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioCodeModelType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEnableMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GESupportMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GELockMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GENMIViolationMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEAssertMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEInfoReadMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEInfoWriteMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEInfoExecuteMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEInfoAssertMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEnableIpe</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GESupportIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GAssertIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GLockIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Math variant</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Math description</name>\n          <state>Default variants of cos, sin, tan, log, log10, pow, and exp.</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICC430</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>37</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CCDefines</name>\n          <state>NDEBUG</state>\n        </option>\n        <option>\n          <name>CCPreprocFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocComments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMnemonics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMessages</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagSuppress</name>\n          <state>Pa50</state>\n        </option>\n        <option>\n          <name>CCDiagRemark</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagWarning</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagError</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IObjPrefix2</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRequirePrototypes</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCAllowList</name>\n          <version>1</version>\n          <state>11111</state>\n        </option>\n        <option>\n          <name>CCObjUseModuleName</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCObjModuleName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDebugInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagWarnAreErr</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCharIs</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCExt</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMigrationPreprocExtentions</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCompilerRuntimeInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IDoubleSize</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.r43</state>\n        </option>\n        <option>\n          <name>CCLibConfigHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCR4Utilize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCR5Utilize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>PreInclude</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCOverrideModuleTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleTypeSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>newCCIncludePaths</name>\n          <state>$PROJ_DIR$\\.</state>\n          <state>$PROJ_DIR$\\..\\..</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\msp430\\qk\\iar</state>\n        </option>\n        <option>\n          <name>CCStdIncCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CompilerMisraOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OI430X</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ReduceStack</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Save20bit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CompilerDataModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevel</name>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CCOptStrategy</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevelSlave</name>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>IccLang</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccAllowVLA</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCppDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCPUTAG</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCCodeFunctions</name>\n          <state>CODE</state>\n        </option>\n        <option>\n          <name>CCData16</name>\n          <state>DATA16</state>\n        </option>\n        <option>\n          <name>CCData20</name>\n          <state>DATA20</state>\n        </option>\n        <option>\n          <name>CCIntvec</name>\n          <state>INTVEC</state>\n        </option>\n        <option>\n          <name>CCCstack</name>\n          <state>CSTACK</state>\n        </option>\n        <option>\n          <name>CCRamFuncCode</name>\n          <state>RAMFUNC_CODE</state>\n        </option>\n        <option>\n          <name>CCIsrCode</name>\n          <state>ISR_CODE</state>\n        </option>\n        <option>\n          <name>CCDifunct</name>\n          <state>DIFUNCT</state>\n        </option>\n        <option>\n          <name>IccCppInlineSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccStaticDestr</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccFloatSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CROPI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CNoRwDynamicInit</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptimizationNoSizeConstraints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCGuardCalls</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCGuardCallsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerCodeModel</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>A430</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>14</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>AObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ACaseSensitivity</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacroChars</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnWhat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnOne</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AListHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AListing</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Includes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacExps</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacExec</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OnlyAssed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MultiLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>TabSpacing</name>\n          <state>8</state>\n        </option>\n        <option>\n          <name>AXRef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDefines</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefInternal</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDual</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADebug</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ADebugType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrOn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrNum</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.r43</state>\n        </option>\n        <option>\n          <name>AMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OA1M</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AIgnoreStdInclude</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AStdIncludes</name>\n          <state>$TOOLKIT_DIR$\\INC\\</state>\n        </option>\n        <option>\n          <name>AUserIncludes</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ACPUTAG</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CUSTOM</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <extensions></extensions>\n        <cmdline></cmdline>\n        <hasPrio>0</hasPrio>\n      </data>\n    </settings>\n    <settings>\n      <name>BICOMP</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>BUILDACTION</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <prebuild></prebuild>\n        <postbuild></postbuild>\n      </data>\n    </settings>\n    <settings>\n      <name>XLINK</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>29</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>XOutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>dpp-qk.d43</state>\n        </option>\n        <option>\n          <name>OutputFormat</name>\n          <version>11</version>\n          <state>33</state>\n        </option>\n        <option>\n          <name>FormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>SecondaryOutputFile</name>\n          <state>(None for the selected format)</state>\n        </option>\n        <option>\n          <name>XDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AlwaysOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OverlapWarnings</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NoGlobalCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SegmentMap</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ListSymbols</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>XIncludes</name>\n          <state>$TOOLKIT_DIR$\\LIB\\</state>\n        </option>\n        <option>\n          <name>ModuleStatus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclFile</name>\n          <state>$TOOLKIT_DIR$\\config\\linker\\lnk430g2553.xcl</state>\n        </option>\n        <option>\n          <name>XclFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DoFill</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FillerByte</name>\n          <state>0xFF</state>\n        </option>\n        <option>\n          <name>DoCrc</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcSize</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcAlgo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcPoly</name>\n          <state>0x11021</state>\n        </option>\n        <option>\n          <name>CrcCompl</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RangeCheckAlternatives</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressAllWarn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressDiags</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsWarn</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsErr</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ModuleLocalSym</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcBitOrder</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XHardwareMul</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IncludeSuppressed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ModuleSummary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkStackSize</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkCodeModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabel</name>\n          <state>__program_start</state>\n        </option>\n        <option>\n          <name>DebugInformation</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RuntimeControl</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IoEmulation</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XcRTLibraryFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OXLibIOConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XLibraryHeap</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AllowExtraOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GenerateExtraOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExtraOutputFile</name>\n          <state>dpp-qk.a43</state>\n        </option>\n        <option>\n          <name>ExtraOutputFormat</name>\n          <version>11</version>\n          <state>23</state>\n        </option>\n        <option>\n          <name>ExtraFormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>xcOverrideProgramEntryLabel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabelSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ListOutputFormat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>BufferedTermOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OverlaySystemMap</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RawBinaryFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySymbol</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySegment</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinaryAlign</name>\n          <state></state>\n        </option>\n        <option>\n          <name>XLinkMisraHandler</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcAlign</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>CrcInitialValue</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>XLibraryHeap20</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcUnitSize</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LinkMathLib</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkThreadsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkMPU</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkIPE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkLogEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogInputFiles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogModuleSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogPrintfScanf</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogSegmentSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogStackDepth</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkStackUsageEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkControlFiles</name>\n          <state></state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileName</name>\n          <state>$LIST_DIR$\\$PROJ_FNAME$.call_graph.cgx</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>XAR</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>XAROutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XARInputs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ULP430</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CUTest</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>ULPRules</name>\n          <version>0</version>\n          <state>1111111111111111111</state>\n        </option>\n        <option>\n          <name>ULPEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ULPStatus</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>BILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n  </configuration>\n  <group>\n    <name>Application</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\bsp.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\bsp.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\dpp.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\main.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\philo.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\table.c</name>\n    </file>\n  </group>\n  <group>\n    <name>QP</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qepn.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qfn.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qkn\\qkn.c</name>\n    </file>\n  </group>\n</project>\n\n\n"
  },
  {
    "path": "examples/msp430/dpp_msp-exp430g2/qk/iar/dpp-qk.eww",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<workspace>\n  <project>\n    <path>$WS_DIR$\\dpp-qk.ewp</path>\n  </project>\n  <batchBuild/>\n</workspace>\n\n\n"
  },
  {
    "path": "examples/msp430/dpp_msp-exp430g2/qpn_conf.h",
    "content": "/*****************************************************************************\n* Product: QP-nano configuration for the Blinky example\n* Last Updated for Version: 5.6.2\n* Date of the Last Update:  2016-04-05\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef QPN_CONF_H\n#define QPN_CONF_H\n\n#define Q_PARAM_SIZE            4U\n#define QF_MAX_TICK_RATE        1U\n#define QF_TIMEEVT_CTR_SIZE     2U\n#define QF_TIMEEVT_PERIODIC\n\n#endif  /* QPN_CONF_H */\n"
  },
  {
    "path": "examples/msp430/dpp_msp-exp430g2/qv/bsp.c",
    "content": "/*****************************************************************************\n* Product: DPP on MSP-EXP430G2 board, cooperative QV-nano kernel\n* Last Updated for Version: 5.8.0\n* Date of the Last Update:  2016-11-06\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"dpp.h\"\n#include \"bsp.h\"\n\n#include <msp430g2553.h>  /* MSP430 variant used */\n/* add other drivers if necessary... */\n\n//Q_DEFINE_THIS_FILE\n\n/* Local-scope objects -----------------------------------------------------*/\n/* 8MHz clock setting, see BSP_init() */\n#define BSP_MCK     8000000U\n#define BSP_SMCLK   8000000U\n\n/* LEDs on the MSP-EXP430G2 board */\n#define LED1        (1U << 0)\n#define LED2        (1U << 6)\n\n/* Buttons on the MSP-EXP430G2 board */\n#define BTN1        (1U << 3)\n\n/* random seed */\nstatic uint32_t l_rnd;\n\n/* ISRs used in this project ===============================================*/\n#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)\n    __interrupt void TIMER0_A0_ISR(void); /* prototype */\n    #pragma vector=TIMER0_A0_VECTOR\n    __interrupt void TIMER0_A0_ISR(void)\n#elif defined(__GNUC__)\n    void __attribute__ ((interrupt(TIMER0_A0_VECTOR)))\n    TIMER0_A0_ISR(void)\n#else\n    #error MSP430 compiler not supported!\n#endif\n{\n    /* state of the button debouncing, see below */\n    static struct ButtonsDebouncing {\n        uint8_t depressed;\n        uint8_t previous;\n    } buttons = { (uint8_t)~0U, (uint8_t)~0U };\n    uint8_t current;\n    uint8_t tmp;\n\n#ifdef NDEBUG\n    __low_power_mode_off_on_exit(); /* see NOTE1 */\n#endif\n\n    TACTL &= ~TAIFG;   /* clear the interrupt pending flag */\n\n    QF_tickXISR(0U);   /* process time events for rate 0 */\n\n    /* Perform the debouncing of buttons. The algorithm for debouncing\n    * adapted from the book \"Embedded Systems Dictionary\" by Jack Ganssle\n    * and Michael Barr, page 71.\n    */\n    current = ~P1IN; /* read P1 port with the state of BTN1 */\n    tmp = buttons.depressed; /* save the debounced depressed buttons */\n    buttons.depressed |= (buttons.previous & current); /* set depressed */\n    buttons.depressed &= (buttons.previous | current); /* clear released */\n    buttons.previous   = current; /* update the history */\n    tmp ^= buttons.depressed;     /* changed debounced depressed */\n    if ((tmp & BTN1) != 0U) {     /* debounced BTN1 state changed? */\n        if ((buttons.depressed & BTN1) != 0U) { /* is BTN1 depressed? */\n            QACTIVE_POST_ISR((QActive *)&AO_Table, PAUSE_SIG, 0U);\n        }\n        else {            /* the button is released */\n            QACTIVE_POST_ISR((QActive *)&AO_Table, SERVE_SIG, 0U);\n        }\n    }\n}\n\n/* BSP functions ===========================================================*/\nvoid BSP_init(void) {\n    WDTCTL = WDTPW | WDTHOLD; /* stop watchdog timer */\n\n    /* configure the Basic Clock Module */\n    DCOCTL = 0;             /* Select lowest DCOx and MODx settings */\n    BCSCTL1 = CALBC1_8MHZ;  /* Set DCO */\n    DCOCTL = CALDCO_8MHZ;\n\n    /* configure pins for LEDs */\n    P1DIR |= (LED1 | LED2); /* set LED1 and LED2 pins to output */\n\n    /* configure pin for Button */\n    P1DIR &= ~BTN1;   /* set BTN1 pin as input */\n    P1OUT |= BTN1;    /* drive output to hi */\n    P1REN |= BTN1;    /* enable internal pull up register */\n}\n/*..........................................................................*/\nvoid BSP_displayPhilStat(uint8_t n, char const *stat) {\n    if (stat[0] == 'h') { /* is Philo hungry? */\n        P1OUT |=  LED1;  /* turn LED1 on */\n    }\n    else {\n        P1OUT &= ~LED1;  /* turn LED1 off */\n    }\n}\n/*..........................................................................*/\nvoid BSP_displayPaused(uint8_t paused) {\n    /* not enouhg LEDs to implement this feature */\n    if (paused != 0U) {\n        //P1OUT |=  LED1;\n    }\n    else {\n        //P1OUT &= ~LED1;\n    }\n}\n/*..........................................................................*/\nuint32_t BSP_random(void) { /* a very cheap pseudo-random-number generator */\n    /* \"Super-Duper\" Linear Congruential Generator (LCG)\n    * LCG(2^32, 3*7*11*13*23, 0, seed)\n    */\n    l_rnd = l_rnd * ((uint32_t)3U*7U*11U*13U*23U);\n\n    return l_rnd >> 8;\n}\n/*..........................................................................*/\nvoid BSP_randomSeed(uint32_t seed) {\n    l_rnd = seed;\n}\n/*..........................................................................*/\nvoid BSP_terminate(int16_t result) {\n    (void)result;\n}\n\n\n/* QF callbacks ============================================================*/\nvoid QF_onStartup(void) {\n    TACTL  = (ID_3 | TASSEL_2 | MC_1);  /* SMCLK, /8 divider, upmode */\n    TACCR0 = (((BSP_SMCLK / 8U) + BSP_TICKS_PER_SEC/2U) / BSP_TICKS_PER_SEC);\n    CCTL0 = CCIE;  /* CCR0 interrupt enabled */\n}\n/*..........................................................................*/\nvoid QV_onIdle(void) { /* NOTE: called with interrutps DISABLED, see NOTE1 */\n    /* toggle LED2 on and then off, see NOTE1 */\n\n    P1OUT |=  LED2;  /* turn LED2 on */\n    P1OUT &= ~LED2;  /* turn LED2 off */\n\n#ifdef NDEBUG\n    /* Put the CPU and peripherals to the low-power mode.\n    * you might need to customize the clock management for your application,\n    * see the datasheet for your particular MSP430 MCU.\n    */\n    __low_power_mode_1(); /* Enter LPM1; also ENABLES interrupts */\n#else\n    QF_INT_ENABLE(); /* just enable interrupts */\n#endif\n}\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const file, int line) {\n    /* implement the error-handling policy for your application!!! */\n    QF_INT_DISABLE(); /* disable all interrupts */\n\n    /* cause the reset of the CPU... */\n    WDTCTL = WDTPW | WDTHOLD;\n    __asm(\"    push &0xFFFE\");\n    /* return from function does the reset */\n}\n\n/*****************************************************************************\n* NOTE1:\n* One of the LEDs is used to visualize the idle loop activity. The brightness\n* of the LED is proportional to the frequency of invcations of the idle loop.\n* Please note that the LED is toggled with interrupts locked, so no interrupt\n* execution time contributes to the brightness of the User LED.\n*/\n\n"
  },
  {
    "path": "examples/msp430/dpp_msp-exp430g2/qv/ccs/.ccsproject",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<?ccsproject version=\"1.0\"?>\n<projectOptions>\n\t<deviceVariant value=\"MSP430G2553\"/>\n\t<deviceFamily value=\"MSP430\"/>\n\t<codegenToolVersion value=\"4.4.4\"/>\n\t<isElfFormat value=\"true\"/>\n\t<connection value=\"common/targetdb/connections/TIMSP430-USB.xml\"/>\n\t<linkerCommandFile value=\"lnk_msp430g2553.cmd\"/>\n\t<rts value=\"libc.a\"/>\n\t<createSlaveProjects value=\"\"/>\n\t<templateProperties value=\"id=com.ti.common.project.core.emptyProjectWithMainTemplate_msp430,\"/>\n\t<isTargetManual value=\"false\"/>\n</projectOptions>\n"
  },
  {
    "path": "examples/msp430/dpp_msp-exp430g2/qv/ccs/.cproject",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<?fileVersion 4.0.0?><cproject storage_type_id=\"org.eclipse.cdt.core.XmlProjectDescriptionStorage\">\n\t<storageModule configRelations=\"2\" moduleId=\"org.eclipse.cdt.core.settings\">\n\t\t<cconfiguration id=\"com.ti.ccstudio.buildDefinitions.MSP430.Debug.1074438841\">\n\t\t\t<storageModule buildSystemId=\"org.eclipse.cdt.managedbuilder.core.configurationDataProvider\" id=\"com.ti.ccstudio.buildDefinitions.MSP430.Debug.1074438841\" moduleId=\"org.eclipse.cdt.core.settings\" name=\"Debug\">\n\t\t\t\t<externalSettings/>\n\t\t\t\t<extensions>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.binaryparser.CoffParser\" point=\"org.eclipse.cdt.core.BinaryParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.CoffErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.LinkErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.AsmErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GmakeErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t</extensions>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t\t\t<configuration artifactExtension=\"out\" artifactName=\"${ProjName}\" buildProperties=\"\" cleanCommand=\"${CG_CLEAN_CMD}\" description=\"\" id=\"com.ti.ccstudio.buildDefinitions.MSP430.Debug.1074438841\" name=\"Debug\" parent=\"com.ti.ccstudio.buildDefinitions.MSP430.Debug\" postbuildStep=\"\" prebuildStep=\"\">\n\t\t\t\t\t<folderInfo id=\"com.ti.ccstudio.buildDefinitions.MSP430.Debug.1074438841.\" name=\"/\" resourcePath=\"\">\n\t\t\t\t\t\t<toolChain id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.DebugToolchain.1763887118\" name=\"TI Build Tools\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.DebugToolchain\" targetTool=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerDebug.1400936997\">\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.703673571\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_CONFIGURATION_ID=MSP430G2553\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_ENDIANNESS=little\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_FORMAT=ELF\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"LINKER_COMMAND_FILE=lnk_msp430g2553.cmd\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"RUNTIME_SUPPORT_LIBRARY=libc.a\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"CCS_MBS_VERSION=6.1.3\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_TYPE=executable\"/>\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.927444242\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION\" value=\"16.9.6.LTS\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<targetPlatform id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.targetPlatformDebug.215363162\" name=\"Platform\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.targetPlatformDebug\"/>\n\t\t\t\t\t\t\t<builder buildPath=\"${BuildDirectory}\" id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.builderDebug.1279748176\" name=\"GNU Make.Debug\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.builderDebug\"/>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.compilerDebug.2031001709\" name=\"MSP430 Compiler\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.compilerDebug\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEFINE.1503093767\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEFINE\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"__MSP430G2553__\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY.1552581658\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY.none\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION.1513994898\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION.msp\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT.1007367214\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT.minimal\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.INCLUDE_PATH.815866746\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.INCLUDE_PATH\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CCS_BASE_ROOT}/msp430/include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CCS_BASE_ROOT}/msp430/include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}\\.&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}\\..\\..&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}\\..\\..\\..\\..\\..\\include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}\\..\\..\\..\\..\\..\\ports\\msp430\\qv\\ccs&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CG_TOOL_ROOT}/include&quot;\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.531707173\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WARNING.1083191790\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WARNING\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"225\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP.829711048\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP.off\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DISPLAY_ERROR_NUMBER.1963869866\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DISPLAY_ERROR_NUMBER\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI.2058012857\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI.eabi\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__C_SRCS.723836757\" name=\"C Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__C_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__CPP_SRCS.489939673\" name=\"C++ Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__CPP_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM_SRCS.299373040\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM2_SRCS.1510124871\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM2_SRCS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerDebug.1400936997\" name=\"MSP430 Linker\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerDebug\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY.2000115980\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY.none\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.HEAP_SIZE.1110526250\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.HEAP_SIZE\" value=\"0\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.STACK_SIZE.776614241\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.STACK_SIZE\" value=\"80\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.MAP_FILE.723456112\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.MAP_FILE\" value=\"&quot;${ProjName}.map&quot;\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.OUTPUT_FILE.494627582\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.OUTPUT_FILE\" value=\"${ProjName}.out\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.LIBRARY.1220715146\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.LIBRARY\" valueType=\"libs\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"libc.a\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.SEARCH_PATH.786515011\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.SEARCH_PATH\" valueType=\"libPaths\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CCS_BASE_ROOT}/msp430/include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CCS_BASE_ROOT}/msp430/include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CG_TOOL_ROOT}/lib&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CG_TOOL_ROOT}/include&quot;\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP.1126210239\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP.off\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DISPLAY_ERROR_NUMBER.1215886457\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DISPLAY_ERROR_NUMBER\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.XML_LINK_INFO.1626076862\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.XML_LINK_INFO\" value=\"&quot;${ProjName}_linkInfo.xml&quot;\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD_SRCS.146179469\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD2_SRCS.2112848456\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD2_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__GEN_CMDS.1229190701\" name=\"Generated Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__GEN_CMDS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.1248847312\" name=\"MSP430 Hex Utility\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.ROMWIDTH.320460264\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.ROMWIDTH\" value=\"8\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.MEMWIDTH.988804290\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.MEMWIDTH\" value=\"8\" valueType=\"string\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t</toolChain>\n\t\t\t\t\t</folderInfo>\n\t\t\t\t\t<folderInfo id=\"com.ti.ccstudio.buildDefinitions.MSP430.Debug.1074438841.QP\" name=\"QP\" resourcePath=\"QP\">\n\t\t\t\t\t\t<toolChain id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.DebugToolchain.1603054005\" name=\"TI Build Tools\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.DebugToolchain\" unusedChildren=\"\">\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.703673571.1401885429\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.703673571\"/>\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.927444242.901585766\" name=\"Compiler version\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.927444242\"/>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.compilerDebug.169502947\" name=\"MSP430 Compiler\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.compilerDebug.2031001709\">\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__C_SRCS.856276130\" name=\"C Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__C_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__CPP_SRCS.637620998\" name=\"C++ Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__CPP_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM_SRCS.1231847857\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM2_SRCS.336018704\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM2_SRCS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerDebug.855268885\" name=\"MSP430 Linker\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerDebug.1400936997\"/>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.852125602\" name=\"MSP430 Hex Utility\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.1248847312\"/>\n\t\t\t\t\t\t</toolChain>\n\t\t\t\t\t</folderInfo>\n\t\t\t\t\t<sourceEntries>\n\t\t\t\t\t\t<entry excluding=\"QP/qfn_init.c|QP/qs.c|QP/qs_fp.c|QP/qs_64bit.c|QP/qk.c|QP/qk_mutex.c\" flags=\"VALUE_WORKSPACE_PATH|RESOLVED\" kind=\"sourcePath\" name=\"\"/>\n\t\t\t\t\t</sourceEntries>\n\t\t\t\t</configuration>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"org.eclipse.cdt.core.externalSettings\"/>\n\t\t</cconfiguration>\n\t\t<cconfiguration id=\"com.ti.ccstudio.buildDefinitions.MSP430.Release.1769173060\">\n\t\t\t<storageModule buildSystemId=\"org.eclipse.cdt.managedbuilder.core.configurationDataProvider\" id=\"com.ti.ccstudio.buildDefinitions.MSP430.Release.1769173060\" moduleId=\"org.eclipse.cdt.core.settings\" name=\"Release\">\n\t\t\t\t<externalSettings/>\n\t\t\t\t<extensions>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.binaryparser.CoffParser\" point=\"org.eclipse.cdt.core.BinaryParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.CoffErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.LinkErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"com.ti.ccstudio.errorparser.AsmErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t\t<extension id=\"org.eclipse.cdt.core.GmakeErrorParser\" point=\"org.eclipse.cdt.core.ErrorParser\"/>\n\t\t\t\t</extensions>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t\t\t<configuration artifactExtension=\"out\" artifactName=\"${ProjName}\" buildProperties=\"\" cleanCommand=\"${CG_CLEAN_CMD}\" description=\"\" id=\"com.ti.ccstudio.buildDefinitions.MSP430.Release.1769173060\" name=\"Release\" parent=\"com.ti.ccstudio.buildDefinitions.MSP430.Release\" postbuildStep=\"\" prebuildStep=\"\">\n\t\t\t\t\t<folderInfo id=\"com.ti.ccstudio.buildDefinitions.MSP430.Release.1769173060.\" name=\"/\" resourcePath=\"\">\n\t\t\t\t\t\t<toolChain id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.ReleaseToolchain.549048256\" name=\"TI Build Tools\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.ReleaseToolchain\" targetTool=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerRelease.1120919811\">\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.528713829\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_TAGS\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_CONFIGURATION_ID=MSP430G2553\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"DEVICE_ENDIANNESS=little\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_FORMAT=ELF\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"LINKER_COMMAND_FILE=lnk_msp430g2553.cmd\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"RUNTIME_SUPPORT_LIBRARY=libc.a\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"CCS_MBS_VERSION=6.1.3\"/>\n\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"OUTPUT_TYPE=executable\"/>\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1523459180\" name=\"Compiler version\" superClass=\"com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION\" value=\"16.9.6.LTS\" valueType=\"string\"/>\n\t\t\t\t\t\t\t<targetPlatform id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.targetPlatformRelease.127871802\" name=\"Platform\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.targetPlatformRelease\"/>\n\t\t\t\t\t\t\t<builder buildPath=\"${BuildDirectory}\" id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.builderRelease.1096357411\" keepEnvironmentInBuildfile=\"false\" name=\"GNU Make\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.builderRelease\"/>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.compilerRelease.1096543437\" name=\"MSP430 Compiler\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.compilerRelease\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEFINE.9640656\" name=\"Pre-define NAME (--define, -D)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEFINE\" valueType=\"definedSymbols\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"NDEBUG\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"__MSP430G2553__\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY.2123536840\" name=\"Inline hardware multiply version of RTS mpy routine (--use_hw_mpy)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY.none\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION.1650019148\" name=\"Silicon version (--silicon_version, -v)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION.msp\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT.634515588\" name=\"Level of printf/scanf support required (--printf_support)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT.minimal\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.INCLUDE_PATH.2099878162\" name=\"Add dir to #include search path (--include_path, -I)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.INCLUDE_PATH\" valueType=\"includePath\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CCS_BASE_ROOT}/msp430/include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CCS_BASE_ROOT}/msp430/include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}\\.&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}\\..\\..&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}\\..\\..\\..\\..\\..\\include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${PROJECT_LOC}\\..\\..\\..\\..\\..\\ports\\msp430\\qv\\ccs&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CG_TOOL_ROOT}/include&quot;\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.UNDEFINE.1273749996\" name=\"Undefine NAME (--undefine, -U)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.UNDEFINE\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"_INLINE\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.834098592\" name=\"Debugging model\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.SYMDEBUG__NONE\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WARNING.824602440\" name=\"Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WARNING\" valueType=\"stringList\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"225\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP.949543268\" name=\"Wrap diagnostic messages (--diag_wrap)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP.off\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DISPLAY_ERROR_NUMBER.1926821629\" name=\"Emit diagnostic identifier numbers (--display_error_number, -pden)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DISPLAY_ERROR_NUMBER\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI.485966579\" name=\"Application binary interface (--abi)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI.eabi\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__C_SRCS.1260152550\" name=\"C Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__C_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__CPP_SRCS.1129888168\" name=\"C++ Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__CPP_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM_SRCS.1630272193\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM2_SRCS.565970957\" name=\"Assembly Sources\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM2_SRCS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerRelease.1120919811\" name=\"MSP430 Linker\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerRelease\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY.1431554773\" name=\"Deprecated: Now a compiler option instead of linker option (--use_hw_mpy)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY.none\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.HEAP_SIZE.510697275\" name=\"Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.HEAP_SIZE\" value=\"0\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.STACK_SIZE.705840046\" name=\"Set C system stack size (--stack_size, -stack)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.STACK_SIZE\" value=\"80\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.MAP_FILE.197867773\" name=\"Link information (map) listed into &lt;file&gt; (--map_file, -m)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.MAP_FILE\" value=\"&quot;${ProjName}.map&quot;\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.OUTPUT_FILE.1350418972\" name=\"Specify output file name (--output_file, -o)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.OUTPUT_FILE\" value=\"${ProjName}.out\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.LIBRARY.1445568452\" name=\"Include library file or command file as input (--library, -l)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.LIBRARY\" valueType=\"libs\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"libc.a\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.SEARCH_PATH.2048076193\" name=\"Add &lt;dir&gt; to library search path (--search_path, -i)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.SEARCH_PATH\" valueType=\"libPaths\">\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"${CCS_BASE_ROOT}/msp430/include\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CCS_BASE_ROOT}/msp430/include&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CG_TOOL_ROOT}/lib&quot;\"/>\n\t\t\t\t\t\t\t\t\t<listOptionValue builtIn=\"false\" value=\"&quot;${CG_TOOL_ROOT}/include&quot;\"/>\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP.531446682\" name=\"Wrap diagnostic messages (--diag_wrap)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP\" value=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP.off\" valueType=\"enumerated\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DISPLAY_ERROR_NUMBER.372846049\" name=\"Emit diagnostic identifier numbers (--display_error_number)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DISPLAY_ERROR_NUMBER\" value=\"true\" valueType=\"boolean\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.XML_LINK_INFO.103262817\" name=\"Detailed link information data-base into &lt;file&gt; (--xml_link_info, -xml_link_info)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.XML_LINK_INFO\" value=\"&quot;${ProjName}_linkInfo.xml&quot;\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD_SRCS.2029588910\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD2_SRCS.218763971\" name=\"Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD2_SRCS\"/>\n\t\t\t\t\t\t\t\t<inputType id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__GEN_CMDS.1110726367\" name=\"Generated Linker Command Files\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__GEN_CMDS\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t\t<tool id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.2108895856\" name=\"MSP430 Hex Utility\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex\">\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.ROMWIDTH.1972371162\" name=\"Specify rom width (--romwidth, -romwidth=width)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.ROMWIDTH\" value=\"8\" valueType=\"string\"/>\n\t\t\t\t\t\t\t\t<option id=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.MEMWIDTH.1062988306\" name=\"Specify memory width (--memwidth, -memwidth=width)\" superClass=\"com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.MEMWIDTH\" value=\"8\" valueType=\"string\"/>\n\t\t\t\t\t\t\t</tool>\n\t\t\t\t\t\t</toolChain>\n\t\t\t\t\t</folderInfo>\n\t\t\t\t\t<sourceEntries>\n\t\t\t\t\t\t<entry excluding=\"QP/qfn_init.c|QP/qk_mutex.c|QP/qs.c|QP/qs_fp.c|QP/qs_64bit.c|QP/qk.c\" flags=\"VALUE_WORKSPACE_PATH|RESOLVED\" kind=\"sourcePath\" name=\"\"/>\n\t\t\t\t\t</sourceEntries>\n\t\t\t\t</configuration>\n\t\t\t</storageModule>\n\t\t\t<storageModule moduleId=\"org.eclipse.cdt.core.externalSettings\"/>\n\t\t</cconfiguration>\n\t</storageModule>\n\t<storageModule moduleId=\"org.eclipse.cdt.core.LanguageSettingsProviders\"/>\n\t<storageModule moduleId=\"cdtBuildSystem\" version=\"4.0.0\">\n\t\t<project id=\"dpp-qv_msp-exp430g2.com.ti.ccstudio.buildDefinitions.MSP430.ProjectType.624399482\" name=\"MSP430\" projectType=\"com.ti.ccstudio.buildDefinitions.MSP430.ProjectType\"/>\n\t</storageModule>\n\t<storageModule moduleId=\"scannerConfiguration\"/>\n\t<storageModule moduleId=\"org.eclipse.cdt.core.language.mapping\">\n\t\t<project-mappings>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.asmSource\" language=\"com.ti.ccstudio.core.TIASMLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cHeader\" language=\"com.ti.ccstudio.core.TIGCCLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cSource\" language=\"com.ti.ccstudio.core.TIGCCLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cxxHeader\" language=\"com.ti.ccstudio.core.TIGPPLanguage\"/>\n\t\t\t<content-type-mapping configuration=\"\" content-type=\"org.eclipse.cdt.core.cxxSource\" language=\"com.ti.ccstudio.core.TIGPPLanguage\"/>\n\t\t</project-mappings>\n\t</storageModule>\n\t<storageModule moduleId=\"null.endianPreference\"/>\n\t<storageModule moduleId=\"cpuFamily\"/>\n</cproject>\n"
  },
  {
    "path": "examples/msp430/dpp_msp-exp430g2/qv/ccs/.project",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<projectDescription>\n\t<name>dpp-qv_msp-exp430g2</name>\n\t<comment></comment>\n\t<projects>\n\t</projects>\n\t<buildSpec>\n\t\t<buildCommand>\n\t\t\t<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t\t<buildCommand>\n\t\t\t<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>\n\t\t\t<triggers>full,incremental,</triggers>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t</buildSpec>\n\t<natures>\n\t\t<nature>com.ti.ccstudio.core.ccsNature</nature>\n\t\t<nature>org.eclipse.cdt.core.cnature</nature>\n\t\t<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>\n\t\t<nature>org.eclipse.cdt.core.ccnature</nature>\n\t\t<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>\n\t</natures>\n\t<linkedResources>\n\t\t<link>\n\t\t\t<name>QP</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/src/qfn</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>QP_port</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/ports/msp430/qv/ccs</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>QVn</name>\n\t\t\t<type>2</type>\n\t\t\t<locationURI>PARENT-5-PROJECT_LOC/src/qvn</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>bsp.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-1-PROJECT_LOC/bsp.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>bsp.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/bsp.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>dpp.h</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/dpp.h</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>main.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/main.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>philo.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/philo.c</locationURI>\n\t\t</link>\n\t\t<link>\n\t\t\t<name>table.c</name>\n\t\t\t<type>1</type>\n\t\t\t<locationURI>PARENT-2-PROJECT_LOC/table.c</locationURI>\n\t\t</link>\n\t</linkedResources>\n</projectDescription>\n"
  },
  {
    "path": "examples/msp430/dpp_msp-exp430g2/qv/ccs/lnk_msp430g2553.cmd",
    "content": "/* ============================================================================ */\n/* Copyright (c) 2014, Texas Instruments Incorporated                           */\n/*  All rights reserved.                                                        */\n/*                                                                              */\n/*  Redistribution and use in source and binary forms, with or without          */\n/*  modification, are permitted provided that the following conditions          */\n/*  are met:                                                                    */\n/*                                                                              */\n/*  *  Redistributions of source code must retain the above copyright           */\n/*     notice, this list of conditions and the following disclaimer.            */\n/*                                                                              */\n/*  *  Redistributions in binary form must reproduce the above copyright        */\n/*     notice, this list of conditions and the following disclaimer in the      */\n/*     documentation and/or other materials provided with the distribution.     */\n/*                                                                              */\n/*  *  Neither the name of Texas Instruments Incorporated nor the names of      */\n/*     its contributors may be used to endorse or promote products derived      */\n/*     from this software without specific prior written permission.            */\n/*                                                                              */\n/*  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" */\n/*  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,       */\n/*  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR      */\n/*  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR            */\n/*  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,       */\n/*  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,         */\n/*  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; */\n/*  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,    */\n/*  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR     */\n/*  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,              */\n/*  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.                          */\n/* ============================================================================ */\n\n/******************************************************************************/\n/* lnk_msp430g2553.cmd - LINKER COMMAND FILE FOR LINKING MSP430G2553 PROGRAMS     */\n/*                                                                            */\n/*   Usage:  lnk430 <obj files...>    -o <out file> -m <map file> lnk.cmd     */\n/*           cl430  <src files...> -z -o <out file> -m <map file> lnk.cmd     */\n/*                                                                            */\n/*----------------------------------------------------------------------------*/\n/* These linker options are for command line linking only.  For IDE linking,  */\n/* you should set your linker options in Project Properties                   */\n/* -c                                               LINK USING C CONVENTIONS  */\n/* -stack  0x0100                                   SOFTWARE STACK SIZE       */\n/* -heap   0x0100                                   HEAP AREA SIZE            */\n/*                                                                            */\n/*----------------------------------------------------------------------------*/\n/* Version: 1.159                                                             */\n/*----------------------------------------------------------------------------*/\n\n/****************************************************************************/\n/* Specify the system memory map                                            */\n/****************************************************************************/\n\nMEMORY\n{\n    SFR                     : origin = 0x0000, length = 0x0010\n    PERIPHERALS_8BIT        : origin = 0x0010, length = 0x00F0\n    PERIPHERALS_16BIT       : origin = 0x0100, length = 0x0100\n    RAM                     : origin = 0x0200, length = 0x0200\n    INFOA                   : origin = 0x10C0, length = 0x0040\n    INFOB                   : origin = 0x1080, length = 0x0040\n    INFOC                   : origin = 0x1040, length = 0x0040\n    INFOD                   : origin = 0x1000, length = 0x0040\n    FLASH                   : origin = 0xC000, length = 0x3FE0\n    INT00                   : origin = 0xFFE0, length = 0x0002\n    INT01                   : origin = 0xFFE2, length = 0x0002\n    INT02                   : origin = 0xFFE4, length = 0x0002\n    INT03                   : origin = 0xFFE6, length = 0x0002\n    INT04                   : origin = 0xFFE8, length = 0x0002\n    INT05                   : origin = 0xFFEA, length = 0x0002\n    INT06                   : origin = 0xFFEC, length = 0x0002\n    INT07                   : origin = 0xFFEE, length = 0x0002\n    INT08                   : origin = 0xFFF0, length = 0x0002\n    INT09                   : origin = 0xFFF2, length = 0x0002\n    INT10                   : origin = 0xFFF4, length = 0x0002\n    INT11                   : origin = 0xFFF6, length = 0x0002\n    INT12                   : origin = 0xFFF8, length = 0x0002\n    INT13                   : origin = 0xFFFA, length = 0x0002\n    INT14                   : origin = 0xFFFC, length = 0x0002\n    RESET                   : origin = 0xFFFE, length = 0x0002\n}\n\n/****************************************************************************/\n/* Specify the sections allocation into memory                              */\n/****************************************************************************/\n\nSECTIONS\n{\n    .bss        : {} > RAM                  /* Global & static vars              */\n    .data       : {} > RAM                  /* Global & static vars              */\n    .TI.noinit  : {} > RAM                  /* For #pragma noinit                */\n    .sysmem     : {} > RAM                  /* Dynamic memory allocation area    */\n    .stack      : {} > RAM (HIGH)           /* Software system stack             */\n\n    .text       : {} > FLASH                /* Code                              */\n    .cinit      : {} > FLASH                /* Initialization tables             */\n    .const      : {} > FLASH                /* Constant data                     */\n    .cio        : {} > RAM                  /* C I/O Buffer                      */\n\n    .pinit      : {} > FLASH                /* C++ Constructor tables            */\n    .init_array : {} > FLASH                /* C++ Constructor tables            */\n    .mspabi.exidx : {} > FLASH              /* C++ Constructor tables            */\n    .mspabi.extab : {} > FLASH              /* C++ Constructor tables            */\n\n    .infoA     : {} > INFOA              /* MSP430 INFO FLASH Memory segments */\n    .infoB     : {} > INFOB\n    .infoC     : {} > INFOC\n    .infoD     : {} > INFOD\n\n    /* MSP430 Interrupt vectors          */\n    TRAPINT      : { * ( .int00 ) } > INT00 type = VECT_INIT\n    .int01       : {}               > INT01\n    PORT1        : { * ( .int02 ) } > INT02 type = VECT_INIT\n    PORT2        : { * ( .int03 ) } > INT03 type = VECT_INIT\n    .int04       : {}               > INT04\n    ADC10        : { * ( .int05 ) } > INT05 type = VECT_INIT\n    USCIAB0TX    : { * ( .int06 ) } > INT06 type = VECT_INIT\n    USCIAB0RX    : { * ( .int07 ) } > INT07 type = VECT_INIT\n    TIMER0_A1    : { * ( .int08 ) } > INT08 type = VECT_INIT\n    TIMER0_A0    : { * ( .int09 ) } > INT09 type = VECT_INIT\n    WDT          : { * ( .int10 ) } > INT10 type = VECT_INIT\n    COMPARATORA   : { * ( .int11 ) } > INT11 type = VECT_INIT\n    TIMER1_A1    : { * ( .int12 ) } > INT12 type = VECT_INIT\n    TIMER1_A0    : { * ( .int13 ) } > INT13 type = VECT_INIT\n    NMI          : { * ( .int14 ) } > INT14 type = VECT_INIT\n    .reset       : {}               > RESET  /* MSP430 Reset vector         */ \n}\n\n/****************************************************************************/\n/* Include peripherals memory map                                           */\n/****************************************************************************/\n\n-l msp430g2553.cmd\n\n"
  },
  {
    "path": "examples/msp430/dpp_msp-exp430g2/qv/iar/dpp-qv.ewd",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<project>\n  <fileVersion>2</fileVersion>\n  <configuration>\n    <name>Debug</name>\n    <toolchain>\n      <name>MSP430</name>\n    </toolchain>\n    <debug>1</debug>\n    <settings>\n      <name>C-SPY</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>27</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GoToEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GoToName</name>\n          <state>main</state>\n        </option>\n        <option>\n          <name>DynDriver</name>\n          <state>430FET</state>\n        </option>\n        <option>\n          <name>dDllSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DdfFileSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>DdfOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DdfFileName</name>\n          <state>$TOOLKIT_DIR$\\config\\debugger\\msp430g2553.ddf</state>\n        </option>\n        <option>\n          <name>ProcTMS</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ProcMSP430X</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerDataModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IVBASE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CPUTAG</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>L092Mode</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCImagesOffset1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesUse1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ENERGYTRACE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>FETIPE</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>430FET</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>29</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CFetMandatory</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Erase</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EMUVerifyDownloadP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EraseOptionSlaveP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>derivativeP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ParallelPortP7</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>TargetVoltage</name>\n          <state>3.3</state>\n        </option>\n        <option>\n          <name>AllowLockedFlashAccessP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EMUAttach</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AttachOptionSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRadioProtocolType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRadioModuleTypeSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>EEMLevel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DiasbleMemoryCache</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NeedLockedFlashAccess</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UsbComPort</name>\n          <state>Automatic</state>\n        </option>\n        <option>\n          <name>FetConnection</name>\n          <version>4</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SoftwareBreakpointEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RadioSoftwareBreakpointType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TargetSettlingtime</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AllowAccessToBSL</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTargetVccTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCBetaDll</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GPassword</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DebugLPM5</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LPM5Slave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRadioAutoManualType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExternalCodeDownload</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCVCCDefault</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Retain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>jstatebit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioJtagSpeedType</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>memoryTypeSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>fuseBlowDisabledSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>eraseTypeSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DataSampleBpReservation</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>cycleCounterLevel</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>SIM430</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>4</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>SimOddAddressCheckP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CSimMandatory</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>derivativeSim</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimEnablePSP</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimPspOverrideConfig</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimPspConfigFile</name>\n          <state>$TOOLKIT_DIR$\\CONFIG\\test.psp.config</state>\n        </option>\n      </data>\n    </settings>\n    <debuggerPlugins>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\lcd\\lcd.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\SymList\\SymList.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n    </debuggerPlugins>\n  </configuration>\n  <configuration>\n    <name>Release</name>\n    <toolchain>\n      <name>MSP430</name>\n    </toolchain>\n    <debug>0</debug>\n    <settings>\n      <name>C-SPY</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>27</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GoToEnable</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GoToName</name>\n          <state>main</state>\n        </option>\n        <option>\n          <name>DynDriver</name>\n          <state>430FET</state>\n        </option>\n        <option>\n          <name>dDllSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DdfFileSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>DdfOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DdfFileName</name>\n          <state>$TOOLKIT_DIR$\\config\\debugger\\msp430g2553.ddf</state>\n        </option>\n        <option>\n          <name>ProcTMS</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ProcMSP430X</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerDataModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IVBASE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesSuppressCheck3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesPath3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CPUTAG</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>L092Mode</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCImagesOffset1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesOffset3</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OCImagesUse1</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCImagesUse3</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ENERGYTRACE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>FETIPE</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>430FET</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>29</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CFetMandatory</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Erase</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EMUVerifyDownloadP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EraseOptionSlaveP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExitBreakpointP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PutcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GetcharBreakpointP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>derivativeP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ParallelPortP7</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>TargetVoltage</name>\n          <state>3.3</state>\n        </option>\n        <option>\n          <name>AllowLockedFlashAccessP7</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>EMUAttach</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AttachOptionSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRadioProtocolType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRadioModuleTypeSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>EEMLevel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DiasbleMemoryCache</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NeedLockedFlashAccess</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>UsbComPort</name>\n          <state>Automatic</state>\n        </option>\n        <option>\n          <name>FetConnection</name>\n          <version>4</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SoftwareBreakpointEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioSoftwareBreakpointType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>TargetSettlingtime</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AllowAccessToBSL</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OTargetVccTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCBetaDll</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GPassword</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DebugLPM5</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LPM5Slave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CRadioAutoManualType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExternalCodeDownload</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCVCCDefault</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Retain</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>jstatebit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioJtagSpeedType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>memoryTypeSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>fuseBlowDisabledSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>eraseTypeSlave</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>DataSampleBpReservation</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>cycleCounterLevel</name>\n          <state>0</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>SIM430</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>4</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>SimOddAddressCheckP7</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CSimMandatory</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>derivativeSim</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimEnablePSP</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimPspOverrideConfig</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SimPspConfigFile</name>\n          <state>$TOOLKIT_DIR$\\CONFIG\\test.psp.config</state>\n        </option>\n      </data>\n    </settings>\n    <debuggerPlugins>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\lcd\\lcd.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\CMX\\CmxTinyPlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\embOS\\embOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\OpenRTOS\\OpenRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\SafeRTOS\\SafeRTOSPlugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\TI-RTOS\\tirtosplugin.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-286-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-II\\uCOS-II-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$TOOLKIT_DIR$\\plugins\\rtos\\uCOS-III\\uCOS-III-KA-CSpy.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\CodeCoverage\\CodeCoverage.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\Orti\\Orti.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\SymList\\SymList.ENU.ewplugin</file>\n        <loadFlag>1</loadFlag>\n      </plugin>\n      <plugin>\n        <file>$EW_DIR$\\common\\plugins\\uCProbe\\uCProbePlugin.ENU.ewplugin</file>\n        <loadFlag>0</loadFlag>\n      </plugin>\n    </debuggerPlugins>\n  </configuration>\n</project>\n\n\n"
  },
  {
    "path": "examples/msp430/dpp_msp-exp430g2/qv/iar/dpp-qv.ewp",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<project>\n  <fileVersion>2</fileVersion>\n  <configuration>\n    <name>Debug</name>\n    <toolchain>\n      <name>MSP430</name>\n    </toolchain>\n    <debug>1</debug>\n    <settings>\n      <name>General</name>\n      <archiveVersion>17</archiveVersion>\n      <data>\n        <version>33</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>OGCore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExePath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>ObjPath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>ListPath</name>\n          <state>dbg</state>\n        </option>\n        <option>\n          <name>Hardware Multiplier</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GOutputBinary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AssemblerOnly</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGDouble</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelect</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RTDescription</name>\n          <state>Use the normal configuration of the C/EC++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n        </option>\n        <option>\n          <name>RTConfigPath</name>\n          <state>$TOOLKIT_DIR$\\lib\\dlib\\dl430fn.h</state>\n        </option>\n        <option>\n          <name>RTLibraryPath</name>\n          <state>$TOOLKIT_DIR$\\lib\\dlib\\dl430fn.r43</state>\n        </option>\n        <option>\n          <name>Input variant</name>\n          <version>2</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>Input description</name>\n          <state>No specifier n, no float nor long long, no scan set, no assignment suppressing, without multibyte support.</state>\n        </option>\n        <option>\n          <name>Output variant</name>\n          <version>2</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>Output description</name>\n          <state>No specifier a or A, no specifier n, no float or long long, no flags.</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelectSlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GeneralEnableMisra</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVerbose</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGChipSelectMenu</name>\n          <state>MSP430G2553\tMSP430G2553</state>\n        </option>\n        <option>\n          <name>GStackHeapOverride</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GStackSize2</name>\n          <state>128</state>\n        </option>\n        <option>\n          <name>GHeapSize2</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioDataModelType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GHeap20Size</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>RadioHeapSizeType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioHardwareMultiplierType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>RadioL092ModelType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Ropi</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NoRwDynamicInit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibThreads</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MathLib</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioCodeModelType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEnableMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GESupportMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GELockMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GENMIViolationMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEAssertMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEInfoReadMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEInfoWriteMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEInfoExecuteMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEInfoAssertMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEnableIpe</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GESupportIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GAssertIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GLockIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Math variant</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Math description</name>\n          <state>Default variants of cos, sin, tan, log, log10, pow, and exp.</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICC430</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>37</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CCDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCPreprocFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocComments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMnemonics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMessages</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagSuppress</name>\n          <state>Pa50</state>\n        </option>\n        <option>\n          <name>CCDiagRemark</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagWarning</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagError</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IObjPrefix2</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRequirePrototypes</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCAllowList</name>\n          <version>1</version>\n          <state>00000</state>\n        </option>\n        <option>\n          <name>CCObjUseModuleName</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCObjModuleName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDebugInfo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagWarnAreErr</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCharIs</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCExt</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMigrationPreprocExtentions</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCompilerRuntimeInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IDoubleSize</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.r43</state>\n        </option>\n        <option>\n          <name>CCLibConfigHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCR4Utilize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCR5Utilize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>PreInclude</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCOverrideModuleTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleTypeSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>newCCIncludePaths</name>\n          <state>$PROJ_DIR$\\.</state>\n          <state>$PROJ_DIR$\\..\\..</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\msp430\\qv\\iar</state>\n        </option>\n        <option>\n          <name>CCStdIncCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CompilerMisraOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OI430X</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ReduceStack</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Save20bit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CompilerDataModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptStrategy</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevelSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>IccLang</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>IccCDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccAllowVLA</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCppDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCPUTAG</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCCodeFunctions</name>\n          <state>CODE</state>\n        </option>\n        <option>\n          <name>CCData16</name>\n          <state>DATA16</state>\n        </option>\n        <option>\n          <name>CCData20</name>\n          <state>DATA20</state>\n        </option>\n        <option>\n          <name>CCIntvec</name>\n          <state>INTVEC</state>\n        </option>\n        <option>\n          <name>CCCstack</name>\n          <state>CSTACK</state>\n        </option>\n        <option>\n          <name>CCRamFuncCode</name>\n          <state>RAMFUNC_CODE</state>\n        </option>\n        <option>\n          <name>CCIsrCode</name>\n          <state>ISR_CODE</state>\n        </option>\n        <option>\n          <name>CCDifunct</name>\n          <state>DIFUNCT</state>\n        </option>\n        <option>\n          <name>IccCppInlineSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccStaticDestr</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccFloatSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CROPI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CNoRwDynamicInit</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptimizationNoSizeConstraints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCGuardCalls</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCGuardCallsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerCodeModel</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>A430</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>14</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>AObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ACaseSensitivity</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacroChars</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnWhat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnOne</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AListHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AListing</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Includes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacExps</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacExec</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OnlyAssed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MultiLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>TabSpacing</name>\n          <state>8</state>\n        </option>\n        <option>\n          <name>AXRef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDefines</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefInternal</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDual</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADebug</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ADebugType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrOn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrNum</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.r43</state>\n        </option>\n        <option>\n          <name>AMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OA1M</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AIgnoreStdInclude</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AStdIncludes</name>\n          <state>$TOOLKIT_DIR$\\INC\\</state>\n        </option>\n        <option>\n          <name>AUserIncludes</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ACPUTAG</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CUSTOM</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <extensions></extensions>\n        <cmdline></cmdline>\n        <hasPrio>0</hasPrio>\n      </data>\n    </settings>\n    <settings>\n      <name>BICOMP</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>BUILDACTION</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <prebuild></prebuild>\n        <postbuild></postbuild>\n      </data>\n    </settings>\n    <settings>\n      <name>XLINK</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>29</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>XOutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>dpp-qv.d43</state>\n        </option>\n        <option>\n          <name>OutputFormat</name>\n          <version>11</version>\n          <state>33</state>\n        </option>\n        <option>\n          <name>FormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>SecondaryOutputFile</name>\n          <state>(None for the selected format)</state>\n        </option>\n        <option>\n          <name>XDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AlwaysOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OverlapWarnings</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NoGlobalCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SegmentMap</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ListSymbols</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>XIncludes</name>\n          <state>$TOOLKIT_DIR$\\LIB\\</state>\n        </option>\n        <option>\n          <name>ModuleStatus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclFile</name>\n          <state>$TOOLKIT_DIR$\\config\\linker\\lnk430g2553.xcl</state>\n        </option>\n        <option>\n          <name>XclFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DoFill</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FillerByte</name>\n          <state>0xFF</state>\n        </option>\n        <option>\n          <name>DoCrc</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcSize</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcAlgo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcPoly</name>\n          <state>0x11021</state>\n        </option>\n        <option>\n          <name>CrcCompl</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RangeCheckAlternatives</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressAllWarn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressDiags</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsWarn</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsErr</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ModuleLocalSym</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcBitOrder</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XHardwareMul</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IncludeSuppressed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ModuleSummary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkStackSize</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkCodeModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabel</name>\n          <state>__program_start</state>\n        </option>\n        <option>\n          <name>DebugInformation</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RuntimeControl</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IoEmulation</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XcRTLibraryFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OXLibIOConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XLibraryHeap</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AllowExtraOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GenerateExtraOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExtraOutputFile</name>\n          <state>dpp-qv.a43</state>\n        </option>\n        <option>\n          <name>ExtraOutputFormat</name>\n          <version>11</version>\n          <state>23</state>\n        </option>\n        <option>\n          <name>ExtraFormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>xcOverrideProgramEntryLabel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabelSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ListOutputFormat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>BufferedTermOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OverlaySystemMap</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RawBinaryFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySymbol</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySegment</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinaryAlign</name>\n          <state></state>\n        </option>\n        <option>\n          <name>XLinkMisraHandler</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcAlign</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>CrcInitialValue</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>XLibraryHeap20</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcUnitSize</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LinkMathLib</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkThreadsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkMPU</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkIPE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkLogEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogInputFiles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogModuleSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogPrintfScanf</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogSegmentSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogStackDepth</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkStackUsageEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkControlFiles</name>\n          <state></state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileName</name>\n          <state>$LIST_DIR$\\$PROJ_FNAME$.call_graph.cgx</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>XAR</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>XAROutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XARInputs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ULP430</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>1</debug>\n        <option>\n          <name>CUTest</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>ULPRules</name>\n          <version>0</version>\n          <state>1111111111111111111</state>\n        </option>\n        <option>\n          <name>ULPEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ULPStatus</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>BILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n  </configuration>\n  <configuration>\n    <name>Release</name>\n    <toolchain>\n      <name>MSP430</name>\n    </toolchain>\n    <debug>0</debug>\n    <settings>\n      <name>General</name>\n      <archiveVersion>17</archiveVersion>\n      <data>\n        <version>33</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>OGCore</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExePath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>ObjPath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>ListPath</name>\n          <state>rel</state>\n        </option>\n        <option>\n          <name>Hardware Multiplier</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GOutputBinary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AssemblerOnly</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGDouble</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelect</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>RTDescription</name>\n          <state>Use the normal configuration of the C/EC++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>\n        </option>\n        <option>\n          <name>RTConfigPath</name>\n          <state>$TOOLKIT_DIR$\\lib\\dlib\\dl430fn.h</state>\n        </option>\n        <option>\n          <name>RTLibraryPath</name>\n          <state>$TOOLKIT_DIR$\\lib\\dlib\\dl430fn.r43</state>\n        </option>\n        <option>\n          <name>Input variant</name>\n          <version>2</version>\n          <state>7</state>\n        </option>\n        <option>\n          <name>Input description</name>\n          <state>No specifier n, no float nor long long, no scan set, no assignment suppressing, without multibyte support.</state>\n        </option>\n        <option>\n          <name>Output variant</name>\n          <version>2</version>\n          <state>8</state>\n        </option>\n        <option>\n          <name>Output description</name>\n          <state>No specifier a or A, no specifier n, no float or long long, no flags.</state>\n        </option>\n        <option>\n          <name>GRuntimeLibSelectSlave</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GeneralEnableMisra</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVerbose</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OGChipSelectMenu</name>\n          <state>MSP430G2553\tMSP430G2553</state>\n        </option>\n        <option>\n          <name>GStackHeapOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GStackSize2</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>GHeapSize2</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>RadioDataModelType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GHeap20Size</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>RadioHeapSizeType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioHardwareMultiplierType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraVer</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GeneralMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>RadioL092ModelType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Ropi</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NoRwDynamicInit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GRuntimeLibThreads</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MathLib</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RadioCodeModelType</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEnableMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GESupportMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GELockMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GENMIViolationMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEAssertMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEInfoReadMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEInfoWriteMpu</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GEInfoExecuteMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEInfoAssertMpu</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GEnableIpe</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>GESupportIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GAssertIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GLockIpe</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Math variant</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Math description</name>\n          <state>Default variants of cos, sin, tan, log, log10, pow, and exp.</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ICC430</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>37</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CCDefines</name>\n          <state>NDEBUG</state>\n        </option>\n        <option>\n          <name>CCPreprocFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocComments</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCPreprocLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMnemonics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListCMessages</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssFile</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCListAssSource</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCEnableRemarks</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagSuppress</name>\n          <state>Pa50</state>\n        </option>\n        <option>\n          <name>CCDiagRemark</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagWarning</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDiagError</name>\n          <state></state>\n        </option>\n        <option>\n          <name>IObjPrefix2</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCRequirePrototypes</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCAllowList</name>\n          <version>1</version>\n          <state>11111</state>\n        </option>\n        <option>\n          <name>CCObjUseModuleName</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCObjModuleName</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCDebugInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCDiagWarnAreErr</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCharIs</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCExt</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCMigrationPreprocExtentions</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCCompilerRuntimeInfo</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IDoubleSize</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.r43</state>\n        </option>\n        <option>\n          <name>CCLibConfigHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OCCR4Utilize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCCR5Utilize</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>PreInclude</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCOverrideModuleTypeDefault</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CCRadioModuleTypeSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>newCCIncludePaths</name>\n          <state>$PROJ_DIR$\\.</state>\n          <state>$PROJ_DIR$\\..\\..</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\include</state>\n          <state>$PROJ_DIR$\\..\\..\\..\\..\\..\\ports\\msp430\\qv\\iar</state>\n        </option>\n        <option>\n          <name>CCStdIncCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CompilerMisraOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OI430X</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ReduceStack</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>Save20bit</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CompilerDataModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevel</name>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CCOptStrategy</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptLevelSlave</name>\n          <state>3</state>\n        </option>\n        <option>\n          <name>CInput</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules98</name>\n          <version>0</version>\n          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\n        </option>\n        <option>\n          <name>CompilerMisraRules04</name>\n          <version>0</version>\n          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\n        </option>\n        <option>\n          <name>IccLang</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>IccCDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IccAllowVLA</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccCppDialect</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCPUTAG</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCCodeFunctions</name>\n          <state>CODE</state>\n        </option>\n        <option>\n          <name>CCData16</name>\n          <state>DATA16</state>\n        </option>\n        <option>\n          <name>CCData20</name>\n          <state>DATA20</state>\n        </option>\n        <option>\n          <name>CCIntvec</name>\n          <state>INTVEC</state>\n        </option>\n        <option>\n          <name>CCCstack</name>\n          <state>CSTACK</state>\n        </option>\n        <option>\n          <name>CCRamFuncCode</name>\n          <state>RAMFUNC_CODE</state>\n        </option>\n        <option>\n          <name>CCIsrCode</name>\n          <state>ISR_CODE</state>\n        </option>\n        <option>\n          <name>CCDifunct</name>\n          <state>DIFUNCT</state>\n        </option>\n        <option>\n          <name>IccCppInlineSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccStaticDestr</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IccFloatSemantics</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CROPI</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CNoRwDynamicInit</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CCOptimizationNoSizeConstraints</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>CCGuardCalls</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OCGuardCallsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CompilerCodeModel</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>A430</name>\n      <archiveVersion>5</archiveVersion>\n      <data>\n        <version>14</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>AObjPrefix</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ACaseSensitivity</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacroChars</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnWhat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AWarnOne</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange1</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AWarnRange2</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ADefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AListHeader</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AListing</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>Includes</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacDefs</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MacExps</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>MacExec</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OnlyAssed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>MultiLine</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>TabSpacing</name>\n          <state>8</state>\n        </option>\n        <option>\n          <name>AXRef</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDefines</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefInternal</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AXRefDual</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ADebug</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ADebugType</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>IProcessor</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrOn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AMaxErrNum</name>\n          <state>100</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>$FILE_BNAME$.r43</state>\n        </option>\n        <option>\n          <name>AMultibyteSupport</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OA1M</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AIgnoreStdInclude</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>AStdIncludes</name>\n          <state>$TOOLKIT_DIR$\\INC\\</state>\n        </option>\n        <option>\n          <name>AUserIncludes</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ACPUTAG</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>CUSTOM</name>\n      <archiveVersion>3</archiveVersion>\n      <data>\n        <extensions></extensions>\n        <cmdline></cmdline>\n        <hasPrio>0</hasPrio>\n      </data>\n    </settings>\n    <settings>\n      <name>BICOMP</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n    <settings>\n      <name>BUILDACTION</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <prebuild></prebuild>\n        <postbuild></postbuild>\n      </data>\n    </settings>\n    <settings>\n      <name>XLINK</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>29</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>XOutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state>dpp-qv.d43</state>\n        </option>\n        <option>\n          <name>OutputFormat</name>\n          <version>11</version>\n          <state>33</state>\n        </option>\n        <option>\n          <name>FormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>SecondaryOutputFile</name>\n          <state>(None for the selected format)</state>\n        </option>\n        <option>\n          <name>XDefines</name>\n          <state></state>\n        </option>\n        <option>\n          <name>AlwaysOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OverlapWarnings</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>NoGlobalCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XList</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SegmentMap</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>ListSymbols</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>PageLengthCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>PageLength</name>\n          <state>80</state>\n        </option>\n        <option>\n          <name>XIncludes</name>\n          <state>$TOOLKIT_DIR$\\LIB\\</state>\n        </option>\n        <option>\n          <name>ModuleStatus</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XclFile</name>\n          <state>$TOOLKIT_DIR$\\config\\linker\\lnk430g2553.xcl</state>\n        </option>\n        <option>\n          <name>XclFileSlave</name>\n          <state></state>\n        </option>\n        <option>\n          <name>DoFill</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>FillerByte</name>\n          <state>0xFF</state>\n        </option>\n        <option>\n          <name>DoCrc</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcSize</name>\n          <version>0</version>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcAlgo</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcPoly</name>\n          <state>0x11021</state>\n        </option>\n        <option>\n          <name>CrcCompl</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RangeCheckAlternatives</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressAllWarn</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>SuppressDiags</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsWarn</name>\n          <state></state>\n        </option>\n        <option>\n          <name>TreatAsErr</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ModuleLocalSym</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcBitOrder</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XHardwareMul</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IncludeSuppressed</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ModuleSummary</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkStackSize</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkCodeModel</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabel</name>\n          <state>__program_start</state>\n        </option>\n        <option>\n          <name>DebugInformation</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RuntimeControl</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IoEmulation</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XcRTLibraryFile</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>OXLibIOConfig</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XLibraryHeap</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>AllowExtraOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>GenerateExtraOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ExtraOutputFile</name>\n          <state>dpp-qv.a43</state>\n        </option>\n        <option>\n          <name>ExtraOutputFormat</name>\n          <version>11</version>\n          <state>23</state>\n        </option>\n        <option>\n          <name>ExtraFormatVariant</name>\n          <version>8</version>\n          <state>2</state>\n        </option>\n        <option>\n          <name>xcOverrideProgramEntryLabel</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>xcProgramEntryLabelSelect</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>ListOutputFormat</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>BufferedTermOutput</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOptionsCheck</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XExtraOptions</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OverlaySystemMap</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>RawBinaryFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySymbol</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinarySegment</name>\n          <state></state>\n        </option>\n        <option>\n          <name>RawBinaryAlign</name>\n          <state></state>\n        </option>\n        <option>\n          <name>XLinkMisraHandler</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>CrcAlign</name>\n          <state>2</state>\n        </option>\n        <option>\n          <name>CrcInitialValue</name>\n          <state>0x0</state>\n        </option>\n        <option>\n          <name>XLibraryHeap20</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>CrcUnitSize</name>\n          <version>0</version>\n          <state>0</state>\n        </option>\n        <option>\n          <name>LinkMathLib</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>IlinkThreadsSlave</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkMPU</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkIPE</name>\n          <state>1</state>\n        </option>\n        <option>\n          <name>XlinkLogEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogInputFiles</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogModuleSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogPrintfScanf</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogSegmentSelection</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkLogStackDepth</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkStackUsageEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkControlFiles</name>\n          <state></state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XlinkCallGraphFileName</name>\n          <state>$LIST_DIR$\\$PROJ_FNAME$.call_graph.cgx</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>XAR</name>\n      <archiveVersion>4</archiveVersion>\n      <data>\n        <version>0</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>XAROutOverride</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>XARInputs</name>\n          <state></state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state></state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>ULP430</name>\n      <archiveVersion>1</archiveVersion>\n      <data>\n        <version>1</version>\n        <wantNonLocal>1</wantNonLocal>\n        <debug>0</debug>\n        <option>\n          <name>CUTest</name>\n          <state>###Uninitialized###</state>\n        </option>\n        <option>\n          <name>ULPRules</name>\n          <version>0</version>\n          <state>1111111111111111111</state>\n        </option>\n        <option>\n          <name>ULPEnable</name>\n          <state>0</state>\n        </option>\n        <option>\n          <name>OutputFile</name>\n          <state></state>\n        </option>\n        <option>\n          <name>ULPStatus</name>\n          <state>1</state>\n        </option>\n      </data>\n    </settings>\n    <settings>\n      <name>BILINK</name>\n      <archiveVersion>0</archiveVersion>\n      <data/>\n    </settings>\n  </configuration>\n  <group>\n    <name>Application</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\bsp.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\bsp.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\dpp.h</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\main.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\philo.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\table.c</name>\n    </file>\n  </group>\n  <group>\n    <name>QP</name>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qepn.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qfn\\qfn.c</name>\n    </file>\n    <file>\n      <name>$PROJ_DIR$\\..\\..\\..\\..\\..\\src\\qvn\\qvn.c</name>\n    </file>\n  </group>\n</project>\n\n\n"
  },
  {
    "path": "examples/msp430/dpp_msp-exp430g2/qv/iar/dpp-qv.eww",
    "content": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n\n<workspace>\n  <project>\n    <path>$WS_DIR$\\dpp-qv.ewp</path>\n  </project>\n  <batchBuild/>\n</workspace>\n\n\n"
  },
  {
    "path": "examples/msp430/dpp_msp-exp430g2/table.c",
    "content": "/*.$file${.::table.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: dpp.qm\n* File:  ${.::table.c}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::table.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"  /* QP-nano port */\n#include \"bsp.h\"  /* Board Support Package */\n#include \"dpp.h\"  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(\"table\")\n\n/* Active object class -----------------------------------------------------*/\n/*.$declare${AOs::Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table} ...........................................................*/\ntypedef struct Table {\n/* protected: */\n    QActive super;\n\n/* private: */\n    uint8_t fork[N_PHILO];\n    uint8_t isHungry[N_PHILO];\n} Table;\n\n/* protected: */\nstatic QState Table_initial(Table * const me);\nstatic QState Table_active(Table * const me);\nstatic QState Table_serving(Table * const me);\nstatic QState Table_paused(Table * const me);\n/*.$enddecl${AOs::Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Global objects ----------------------------------------------------------*/\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 650U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.5.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Table} ........................................................*/\nstruct Table AO_Table;\n/*.$enddef${AOs::AO_Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n#define RIGHT(n_) ((uint8_t)(((n_) + (N_PHILO - 1U)) % N_PHILO))\n#define LEFT(n_)  ((uint8_t)(((n_) + 1U) % N_PHILO))\n#define FREE      ((uint8_t)0)\n#define USED      ((uint8_t)1)\n\n/*..........................................................................*/\n/*.$define${AOs::Table_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table_ctor} ......................................................*/\nvoid Table_ctor(void) {\n    uint8_t n;\n    Table *me = &AO_Table;\n\n    QActive_ctor(&me->super, Q_STATE_CAST(&Table_initial));\n    for (n = 0U; n < N_PHILO; ++n) {\n        me->fork[n] = FREE;\n        me->isHungry[n] = 0U;\n    }\n}\n/*.$enddef${AOs::Table_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table} ...........................................................*/\n/*.${AOs::Table::SM} .......................................................*/\nstatic QState Table_initial(Table * const me) {\n    /*.${AOs::Table::SM::initial} */\n    uint8_t n;\n    for (n = 0U; n < N_PHILO; ++n) {\n        me->fork[n] = FREE;\n        me->isHungry[n] = 0U;\n        BSP_displayPhilStat(n, \"thinking\");\n    }\n    return Q_TRAN(&Table_serving);\n}\n/*.${AOs::Table::SM::active} ...............................................*/\nstatic QState Table_active(Table * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Table::SM::active::TERMINATE} */\n        case TERMINATE_SIG: {\n            BSP_terminate(0);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::EAT} */\n        case EAT_SIG: {\n            Q_ERROR();\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Table::SM::active::serving} ......................................*/\nstatic QState Table_serving(Table * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Table::SM::active::serving} */\n        case Q_ENTRY_SIG: {\n            uint8_t n;\n            for (n = 0U; n < N_PHILO; ++n) { /* give permissions to eat... */\n                if ((me->isHungry[n] != 0U)\n                    && (me->fork[LEFT(n)] == FREE)\n                    && (me->fork[n] == FREE))\n                {\n                    QActive *philo;\n\n                    me->fork[LEFT(n)] = USED;\n                    me->fork[n] = USED;\n                    philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\n                    QACTIVE_POST(philo, EAT_SIG, n);\n                    me->isHungry[n] = 0U;\n                    BSP_displayPhilStat(n, \"eating  \");\n                }\n            }\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::HUNGRY} */\n        case HUNGRY_SIG: {\n            uint8_t n, m;\n            QActive *philo;\n\n            n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* phil ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n\n            BSP_displayPhilStat(n, \"hungry  \");\n            m = LEFT(n);\n            /*.${AOs::Table::SM::active::serving::HUNGRY::[bothfree]} */\n            if ((me->fork[m] == FREE) && (me->fork[n] == FREE)) {\n                me->fork[m] = USED;\n                me->fork[n] = USED;\n                philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\n                QACTIVE_POST(philo, EAT_SIG, n);\n                BSP_displayPhilStat(n, \"eating  \");\n                status_ = Q_HANDLED();\n            }\n            /*.${AOs::Table::SM::active::serving::HUNGRY::[else]} */\n            else {\n                me->isHungry[n] = 1U;\n                status_ = Q_HANDLED();\n            }\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::DONE} */\n        case DONE_SIG: {\n            uint8_t n, m;\n            QActive *philo;\n\n            n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* phil ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n\n            BSP_displayPhilStat(n, \"thinking\");\n            m = LEFT(n);\n            /* both forks of Phil[n] must be used */\n            Q_ASSERT((me->fork[n] == USED) && (me->fork[m] == USED));\n\n            me->fork[m] = FREE;\n            me->fork[n] = FREE;\n            m = RIGHT(n); /* check the right neighbor */\n\n            if ((me->isHungry[m] != 0U) && (me->fork[m] == FREE)) {\n                me->fork[n] = USED;\n                me->fork[m] = USED;\n                me->isHungry[m] = 0U;\n                philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n                QACTIVE_POST(philo, EAT_SIG, m);\n                BSP_displayPhilStat(m, \"eating  \");\n            }\n            m = LEFT(n); /* check the left neighbor */\n            n = LEFT(m); /* left fork of the left neighbor */\n            if ((me->isHungry[m] != 0U) && (me->fork[n] == FREE)) {\n                me->fork[m] = USED;\n                me->fork[n] = USED;\n                me->isHungry[m] = 0U;\n                philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n                QACTIVE_POST(philo, EAT_SIG, m);\n                BSP_displayPhilStat(m, \"eating  \");\n            }\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::EAT} */\n        case EAT_SIG: {\n            Q_ERROR();\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::PAUSE} */\n        case PAUSE_SIG: {\n            status_ = Q_TRAN(&Table_paused);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Table_active);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Table::SM::active::paused} .......................................*/\nstatic QState Table_paused(Table * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Table::SM::active::paused} */\n        case Q_ENTRY_SIG: {\n            BSP_displayPaused(1U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused} */\n        case Q_EXIT_SIG: {\n            BSP_displayPaused(0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused::SERVE} */\n        case SERVE_SIG: {\n            status_ = Q_TRAN(&Table_serving);\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused::HUNGRY} */\n        case HUNGRY_SIG: {\n            uint8_t n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* philo ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n            me->isHungry[n] = 1U;\n            BSP_displayPhilStat(n, \"hungry  \");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused::DONE} */\n        case DONE_SIG: {\n            uint8_t n, m;\n\n            n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* phil ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n\n            BSP_displayPhilStat(n, \"thinking\");\n            m = LEFT(n);\n            /* both forks of Phil[n] must be used */\n            Q_ASSERT((me->fork[n] == USED) && (me->fork[m] == USED));\n\n            me->fork[m] = FREE;\n            me->fork[n] = FREE;\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Table_active);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${AOs::Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/blinky.c",
    "content": "/*****************************************************************************\n* Product: Simple Blinky example\n* Last updated for version 5.4.0\n* Last updated on  2015-05-18\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, www.state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"blinky.h\"\n#include \"bsp.h\"\n\n//Q_DEFINE_THIS_FILE\n\n/*..........................................................................*/\ntypedef struct BlinkyTag {  /* the Blinky active object */\n    QActive super;          /* inherit QActive */\n} Blinky;\n\n/* hierarchical state machine ... */\nstatic QState Blinky_initial(Blinky * const me);\nstatic QState Blinky_off    (Blinky * const me);\nstatic QState Blinky_on     (Blinky * const me);\n\n/* Global objects ----------------------------------------------------------*/\nBlinky AO_Blinky;   /* the single instance of the Blinky AO */\n\n/*..........................................................................*/\nvoid Blinky_ctor(void) {\n    Blinky * const me = &AO_Blinky;\n    QActive_ctor(&me->super, Q_STATE_CAST(&Blinky_initial));\n}\n\n/* HSM definition ----------------------------------------------------------*/\nQState Blinky_initial(Blinky * const me) {\n    QActive_armX((QActive *)me, 0U,\n                 BSP_TICKS_PER_SEC/2U, BSP_TICKS_PER_SEC/2U);\n    return Q_TRAN(&Blinky_off);\n}\n/*..........................................................................*/\nQState Blinky_off(Blinky * const me) {\n    QState status;\n    switch (Q_SIG(me)) {\n        case Q_ENTRY_SIG: {\n            BSP_ledOff();\n            status = Q_HANDLED();\n            break;\n        }\n        case Q_TIMEOUT_SIG: {\n            status = Q_TRAN(&Blinky_on);\n            break;\n        }\n        default: {\n            status = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status;\n}\n/*..........................................................................*/\nQState Blinky_on(Blinky * const me) {\n    QState status;\n    switch (Q_SIG(me)) {\n        case Q_ENTRY_SIG: {\n            BSP_ledOn();\n            status = Q_HANDLED();\n            break;\n        }\n        case Q_TIMEOUT_SIG: {\n            status = Q_TRAN(&Blinky_off);\n            break;\n        }\n        default: {\n            status = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status;\n}\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/blinky.h",
    "content": "/*****************************************************************************\n* Product: simple \"Blinky\" example\n* Last updated for version 5.4.0\n* Last updated on  2015-05-18\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, www.state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BLINKY_H\n#define BLINKY_H\n\nenum BlinkySignals {\n    DUMMY_SIG = Q_USER_SIG,\n    MAX_PUB_SIG,          /* the last published signal */\n\n    TIMEOUT_SIG,\n    MAX_SIG               /* the last signal */\n};\n\nvoid Blinky_ctor(void);\n\nextern struct BlinkyTag AO_Blinky;\n\n#endif /* BLINKY_H */\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/bsp.h",
    "content": "/*****************************************************************************\n* Product: Simple Blinky example\n* Last updated for version 5.4.0\n* Last updated on  2015-05-18\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, www.state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BSP_H\n#define BSP_H\n\n#define BSP_TICKS_PER_SEC    100U\n\nvoid BSP_init(void);\nvoid BSP_ledOff(void);\nvoid BSP_ledOn(void);\n\n#endif /* BSP_H */\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/main.c",
    "content": "/*****************************************************************************\n* Product: \"Blinky\" example\n* Last Updated for Version: 5.8.0\n* Date of the Last Update:  2016-11-06\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"     /* QP-nano API */\n#include \"bsp.h\"     /* Board Support Package */\n#include \"blinky.h\"  /* Application interface */\n\n/* Local-scope objects -----------------------------------------------------*/\nstatic QEvt l_blinkyQSto[10]; /* Event queue storage for Blinky */\n\n/* QF_active[] array defines all active object control blocks --------------*/\nQActiveCB const Q_ROM QF_active[] = {\n    { (QActive *)0,           (QEvt *)0,        0U                      },\n    { (QActive *)&AO_Blinky,  l_blinkyQSto,     Q_DIM(l_blinkyQSto)     }\n};\n\n/*..........................................................................*/\nint main(void) {\n    Blinky_ctor(); /* instantiate all Blinky AO */\n\n    QF_init(Q_DIM(QF_active)); /* initialize the QF-nano framework */\n    BSP_init();      /* initialize the Board Support Package */\n\n    return QF_run(); /* transfer control to QF-nano */\n}\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qk/xc16/Makefile",
    "content": "#\n#  There exist several targets which are by default empty and which can be\n#  used for execution of your targets. These targets are usually executed\n#  before and after some main targets. They are:\n#\n#     .build-pre:              called before 'build' target\n#     .build-post:             called after 'build' target\n#     .clean-pre:              called before 'clean' target\n#     .clean-post:             called after 'clean' target\n#     .clobber-pre:            called before 'clobber' target\n#     .clobber-post:           called after 'clobber' target\n#     .all-pre:                called before 'all' target\n#     .all-post:               called after 'all' target\n#     .help-pre:               called before 'help' target\n#     .help-post:              called after 'help' target\n#\n#  Targets beginning with '.' are not intended to be called on their own.\n#\n#  Main targets can be executed directly, and they are:\n#\n#     build                    build a specific configuration\n#     clean                    remove built files from a configuration\n#     clobber                  remove all built files\n#     all                      build all configurations\n#     help                     print help mesage\n#\n#  Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and\n#  .help-impl are implemented in nbproject/makefile-impl.mk.\n#\n#  Available make variables:\n#\n#     CND_BASEDIR                base directory for relative paths\n#     CND_DISTDIR                default top distribution directory (build artifacts)\n#     CND_BUILDDIR               default top build directory (object files, ...)\n#     CONF                       name of current configuration\n#     CND_ARTIFACT_DIR_${CONF}   directory of build artifact (current configuration)\n#     CND_ARTIFACT_NAME_${CONF}  name of build artifact (current configuration)\n#     CND_ARTIFACT_PATH_${CONF}  path to build artifact (current configuration)\n#     CND_PACKAGE_DIR_${CONF}    directory of package (current configuration)\n#     CND_PACKAGE_NAME_${CONF}   name of package (current configuration)\n#     CND_PACKAGE_PATH_${CONF}   path to package (current configuration)\n#\n# NOCDDL\n\n\n# Environment\nMKDIR=mkdir\nCP=cp\nCCADMIN=CCadmin\nRANLIB=ranlib\n\n\n# build\nbuild: .build-post\n\n.build-pre:\n# Add your pre 'build' code here...\n\n.build-post: .build-impl\n# Add your post 'build' code here...\n\n\n# clean\nclean: .clean-post\n\n.clean-pre:\n# Add your pre 'clean' code here...\n\n.clean-post: .clean-impl\n# Add your post 'clean' code here...\n\n\n# clobber\nclobber: .clobber-post\n\n.clobber-pre:\n# Add your pre 'clobber' code here...\n\n.clobber-post: .clobber-impl\n# Add your post 'clobber' code here...\n\n\n# all\nall: .all-post\n\n.all-pre:\n# Add your pre 'all' code here...\n\n.all-post: .all-impl\n# Add your post 'all' code here...\n\n\n# help\nhelp: .help-post\n\n.help-pre:\n# Add your pre 'help' code here...\n\n.help-post: .help-impl\n# Add your post 'help' code here...\n\n\n\n# include project implementation makefile\ninclude nbproject/Makefile-impl.mk\n\n# include project make variables\ninclude nbproject/Makefile-variables.mk\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qk/xc16/bsp.c",
    "content": "/*****************************************************************************\n* BSP for Blinky example, Microstick II board, preemptive QK-nano kernel\n* Last updated for version 6.5.1\n* Last updated on  2019-06-10\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"bsp.h\"\n#include \"blinky.h\"\n\n#include \"p24FJ64GB002.h\"  /* header for PIC24F device in use */\n\nQ_DEFINE_THIS_FILE\n\n/* configure Fast RC Oscillator (FRC) */\n#pragma config FNOSC=FRC\n\n/* Local-scope objects -----------------------------------------------------*/\n\n/* frequency of the FRC oscillator ~ 8 MHz */\n#define FOSC_HZ                 8000000.0\n/* instruction cycle clock frequency */\n#define FCY_HZ                  (FOSC_HZ / 2.0)\n/* system clock tick period in CPU clocks / TMR2 prescaler */\n#define BSP_TMR2_PERIOD         ((uint16_t)(FCY_HZ / BSP_TICKS_PER_SEC))\n\n/* controlling the LED of Microstick II */\n#define LED_ON()                (LATA |= (1U << 0))\n#define LED_OFF()               (LATA &= ~(1U << 0))\n#define LED_TOGGLE()            (LATA ^= (1U << 0))\n\n\n/* ISRs --------------------------------------------------------------------*/\nQK_ISR(no_auto_psv) _T2Interrupt() {\n    _T2IF = 0; /* clear Timer 2 interrupt flag */\n\n    QF_tickXISR(0U);   /* process time events for rate 0 */\n\n    QK_ISR_EXIT(); /* inform QK about exiting the ISR */\n}\n/*..........................................................................*/\nQK_ISR(auto_psv) _INT0Interrupt() {\n    _INT0IF = 0;\n\n    QACTIVE_POST_ISR((QActive *)&AO_Blinky, TIMEOUT_SIG, 0U);\n\n    QK_ISR_EXIT(); /* inform QK about exiting the ISR */\n}\n\n/*--------------------------------------------------------------------------*/\nvoid BSP_init(void) {\n    RCONbits.SWDTEN = 0; /* disable Watchdog */\n\n    TRISA = 0x00; /* set LED pins as outputs */\n    PORTA = 0x00; /* set LED drive state low */\n\n}\n/*..........................................................................*/\nvoid BSP_terminate(int16_t result) {\n    (void)result;\n}\n/*..........................................................................*/\nvoid BSP_ledOff(void) {\n    LED_OFF();\n}\n/*..........................................................................*/\nvoid BSP_ledOn(void) {\n    LED_ON();\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const file, int line) {\n    (void)file;       /* unused parameter */\n    (void)line;       /* unused parameter */\n    QF_INT_DISABLE(); /* make sure that interrupts are disabled */\n    for (;;) {\n    }\n}\n\n/*..........................................................................*/\nvoid QF_onStartup(void) { /* entered with interrupts locked */\n    T2CON = 0x0000U; /* Use Internal Osc (Fcy), 16 bit mode, prescaler = 1 */\n    TMR2  = 0x0000U; /* Start counting from 0 and clear the prescaler count */\n    PR2   = (uint16_t)(BSP_TMR2_PERIOD - 1U); /* Timer2 period */\n    _T2IF = 0;               /* clear the interrupt for Timer 2 */\n    _T2IE = 1;               /* enable interrupt for Timer 2 */\n    T2CONbits.TON = 1;       /* start Timer 2 */\n\n    INTCON2bits.INT0EP = 0;  /* INT0 interrupt on positive edge */\n    _INT0IF = 0;             /* clear the interrupt for INT0 */\n    _INT0IE = 1;             /* enable INT0 interrupt */\n\n    /* explicitly assign priorities to all interrutps... */\n    _T2IP   = 4; /* Timer 2 interrupt priority (kernel aware) */\n    _INT0IP = 6; /* INT0 interrupt priority (kernel aware) */\n}\n/*..........................................................................*/\nvoid QF_onCleanup(void) {\n}\n/*..........................................................................*/\nvoid QF_stop(void) {\n}\n/*..........................................................................*/\nvoid QK_onIdle(void) {\n\n    /* NOTE: not enough LEDs on the Microstick II board to implement\n    *  the idle loop activity indicator ...\n    */\n    //LED_ON (); /* blink the IDLE LED, see NOTE01 */\n    //LED_OFF();\n#ifdef NDEBUG\n    Idle(); /* transition to Idle mode */\n#endif\n}\n\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qk/xc16/nbproject/Makefile-default.mk",
    "content": "#\n# Generated Makefile - do not edit!\n#\n# Edit the Makefile in the project folder instead (../Makefile). Each target\n# has a -pre and a -post target defined where you can add customized code.\n#\n# This makefile implements configuration specific macros and targets.\n\n\n# Include project Makefile\nifeq \"${IGNORE_LOCAL}\" \"TRUE\"\n# do not include local makefile. User is passing all local related variables already\nelse\ninclude Makefile\n# Include makefile containing local settings\nifeq \"$(wildcard nbproject/Makefile-local-default.mk)\" \"nbproject/Makefile-local-default.mk\"\ninclude nbproject/Makefile-local-default.mk\nendif\nendif\n\n# Environment\nMKDIR=gnumkdir -p\nRM=rm -f \nMV=mv \nCP=cp \n\n# Macros\nCND_CONF=default\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nIMAGE_TYPE=debug\nOUTPUT_SUFFIX=elf\nDEBUGGABLE_SUFFIX=elf\nFINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nelse\nIMAGE_TYPE=production\nOUTPUT_SUFFIX=hex\nDEBUGGABLE_SUFFIX=elf\nFINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nendif\n\nifeq ($(COMPARE_BUILD), true)\nCOMPARISON_BUILD=-mafrlcsj\nelse\nCOMPARISON_BUILD=\nendif\n\nifdef SUB_IMAGE_ADDRESS\nSUB_IMAGE_ADDRESS_COMMAND=--image-address $(SUB_IMAGE_ADDRESS)\nelse\nSUB_IMAGE_ADDRESS_COMMAND=\nendif\n\n# Object Directory\nOBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE}\n\n# Distribution Directory\nDISTDIR=dist/${CND_CONF}/${IMAGE_TYPE}\n\n# Source Files Quoted if spaced\nSOURCEFILES_QUOTED_IF_SPACED=../../../../../src/qfn/qepn.c ../../../../../src/qfn/qfn.c ../../../../../src/qkn/qkn.c ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c bsp.c ../../../../../include/qstamp.c ../../main.c ../../blinky.c\n\n# Object Files Quoted if spaced\nOBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/_ext/329161665/qepn.o ${OBJECTDIR}/_ext/329161665/qfn.o ${OBJECTDIR}/_ext/329161510/qkn.o ${OBJECTDIR}/_ext/1875001806/qkn_port.o ${OBJECTDIR}/bsp.o ${OBJECTDIR}/_ext/726959463/qstamp.o ${OBJECTDIR}/_ext/43898991/main.o ${OBJECTDIR}/_ext/43898991/blinky.o\nPOSSIBLE_DEPFILES=${OBJECTDIR}/_ext/329161665/qepn.o.d ${OBJECTDIR}/_ext/329161665/qfn.o.d ${OBJECTDIR}/_ext/329161510/qkn.o.d ${OBJECTDIR}/_ext/1875001806/qkn_port.o.d ${OBJECTDIR}/bsp.o.d ${OBJECTDIR}/_ext/726959463/qstamp.o.d ${OBJECTDIR}/_ext/43898991/main.o.d ${OBJECTDIR}/_ext/43898991/blinky.o.d\n\n# Object Files\nOBJECTFILES=${OBJECTDIR}/_ext/329161665/qepn.o ${OBJECTDIR}/_ext/329161665/qfn.o ${OBJECTDIR}/_ext/329161510/qkn.o ${OBJECTDIR}/_ext/1875001806/qkn_port.o ${OBJECTDIR}/bsp.o ${OBJECTDIR}/_ext/726959463/qstamp.o ${OBJECTDIR}/_ext/43898991/main.o ${OBJECTDIR}/_ext/43898991/blinky.o\n\n# Source Files\nSOURCEFILES=../../../../../src/qfn/qepn.c ../../../../../src/qfn/qfn.c ../../../../../src/qkn/qkn.c ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c bsp.c ../../../../../include/qstamp.c ../../main.c ../../blinky.c\n\n\nCFLAGS=\nASFLAGS=\nLDLIBSOPTIONS=\n\n############# Tool locations ##########################################\n# If you copy a project from one host to another, the path where the  #\n# compiler is installed may be different.                             #\n# If you open this project with MPLAB X in the new host, this         #\n# makefile will be regenerated and the paths will be corrected.       #\n#######################################################################\n# fixDeps replaces a bunch of sed/cat/printf statements that slow down the build\nFIXDEPS=fixDeps\n\n.build-conf:  ${BUILD_SUBPROJECTS}\nifneq ($(INFORMATION_MESSAGE), )\n\t@echo $(INFORMATION_MESSAGE)\nendif\n\t${MAKE}  -f nbproject/Makefile-default.mk dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\n\nMP_PROCESSOR_OPTION=24FJ64GB002\nMP_LINKER_FILE_OPTION=,--script=p24FJ64GB002.gld\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: compile\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\n${OBJECTDIR}/_ext/329161665/qepn.o: ../../../../../src/qfn/qepn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qepn.c  -o ${OBJECTDIR}/_ext/329161665/qepn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qepn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qepn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161665/qfn.o: ../../../../../src/qfn/qfn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qfn.c  -o ${OBJECTDIR}/_ext/329161665/qfn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qfn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qfn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161510/qkn.o: ../../../../../src/qkn/qkn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161510\" \n\t@${RM} ${OBJECTDIR}/_ext/329161510/qkn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161510/qkn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qkn/qkn.c  -o ${OBJECTDIR}/_ext/329161510/qkn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161510/qkn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161510/qkn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/1875001806/qkn_port.o: ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/1875001806\" \n\t@${RM} ${OBJECTDIR}/_ext/1875001806/qkn_port.o.d \n\t@${RM} ${OBJECTDIR}/_ext/1875001806/qkn_port.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c  -o ${OBJECTDIR}/_ext/1875001806/qkn_port.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/1875001806/qkn_port.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/1875001806/qkn_port.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/bsp.o: bsp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}\" \n\t@${RM} ${OBJECTDIR}/bsp.o.d \n\t@${RM} ${OBJECTDIR}/bsp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  bsp.c  -o ${OBJECTDIR}/bsp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/bsp.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/bsp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/726959463/qstamp.o: ../../../../../include/qstamp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/726959463\" \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o.d \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../include/qstamp.c  -o ${OBJECTDIR}/_ext/726959463/qstamp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/main.o: ../../main.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../main.c  -o ${OBJECTDIR}/_ext/43898991/main.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/main.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/main.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/blinky.o: ../../blinky.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/blinky.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/blinky.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../blinky.c  -o ${OBJECTDIR}/_ext/43898991/blinky.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/blinky.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/blinky.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\nelse\n${OBJECTDIR}/_ext/329161665/qepn.o: ../../../../../src/qfn/qepn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qepn.c  -o ${OBJECTDIR}/_ext/329161665/qepn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qepn.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qepn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161665/qfn.o: ../../../../../src/qfn/qfn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qfn.c  -o ${OBJECTDIR}/_ext/329161665/qfn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qfn.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qfn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161510/qkn.o: ../../../../../src/qkn/qkn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161510\" \n\t@${RM} ${OBJECTDIR}/_ext/329161510/qkn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161510/qkn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qkn/qkn.c  -o ${OBJECTDIR}/_ext/329161510/qkn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161510/qkn.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161510/qkn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/1875001806/qkn_port.o: ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/1875001806\" \n\t@${RM} ${OBJECTDIR}/_ext/1875001806/qkn_port.o.d \n\t@${RM} ${OBJECTDIR}/_ext/1875001806/qkn_port.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c  -o ${OBJECTDIR}/_ext/1875001806/qkn_port.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/1875001806/qkn_port.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/1875001806/qkn_port.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/bsp.o: bsp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}\" \n\t@${RM} ${OBJECTDIR}/bsp.o.d \n\t@${RM} ${OBJECTDIR}/bsp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  bsp.c  -o ${OBJECTDIR}/bsp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/bsp.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/bsp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/726959463/qstamp.o: ../../../../../include/qstamp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/726959463\" \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o.d \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../include/qstamp.c  -o ${OBJECTDIR}/_ext/726959463/qstamp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/main.o: ../../main.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../main.c  -o ${OBJECTDIR}/_ext/43898991/main.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/main.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/main.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/blinky.o: ../../blinky.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/blinky.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/blinky.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../blinky.c  -o ${OBJECTDIR}/_ext/43898991/blinky.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/blinky.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/blinky.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: assemble\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nelse\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: assemblePreproc\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nelse\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: link\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\ndist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES}  nbproject/Makefile-${CND_CONF}.mk    \n\t@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} \n\t${MP_CC} $(MP_EXTRA_LD_PRE)  -o dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}      -mcpu=$(MP_PROCESSOR_OPTION)        -D__DEBUG=__DEBUG -D__MPLAB_DEBUGGER_PK3=1  -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)   -mreserve=data@0x800:0x81F -mreserve=data@0x820:0x821 -mreserve=data@0x822:0x823 -mreserve=data@0x824:0x825 -mreserve=data@0x826:0x84F   -Wl,,,--defsym=__MPLAB_BUILD=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,-D__DEBUG=__DEBUG,--defsym=__MPLAB_DEBUGGER_PK3=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,--report-mem,--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml$(MP_EXTRA_LD_POST) \n\t\nelse\ndist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES}  nbproject/Makefile-${CND_CONF}.mk   \n\t@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} \n\t${MP_CC} $(MP_EXTRA_LD_PRE)  -o dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}      -mcpu=$(MP_PROCESSOR_OPTION)        -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -Wl,,,--defsym=__MPLAB_BUILD=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,--report-mem,--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml$(MP_EXTRA_LD_POST) \n\t${MP_CC_DIR}\\\\xc16-bin2hex dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -a  -omf=elf  \n\t\nendif\n\n\n# Subprojects\n.build-subprojects:\n\n\n# Subprojects\n.clean-subprojects:\n\n# Clean Targets\n.clean-conf: ${CLEAN_SUBPROJECTS}\n\t${RM} -r build/default\n\t${RM} -r dist/default\n\n# Enable dependency checking\n.dep.inc: .depcheck-impl\n\nDEPFILES=$(shell mplabwildcard ${POSSIBLE_DEPFILES})\nifneq (${DEPFILES},)\ninclude ${DEPFILES}\nendif\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qk/xc16/nbproject/Makefile-genesis.properties",
    "content": "#\n#Tue Jun 11 15:29:01 EDT 2019\ndefault.languagetoolchain.version=1.36\nrelease.languagetoolchain.dir=C\\:\\\\tools\\\\Microchip\\\\xc16\\\\bin\ndefault.com-microchip-mplab-nbide-toolchainXC16-XC16LanguageToolchain.md5=a53e8c22b31e6f5bcc1968d7c72d01dd\nconf.ids=default,release\ndefault.languagetoolchain.dir=C\\:\\\\tools\\\\Microchip\\\\xc16\\\\bin\nconfigurations-xml=18f6378f44eecca920a9a2899c83284a\ncom-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=37eccb08230908d044ad3fe14e24ea9a\nrelease.com-microchip-mplab-nbide-toolchainXC16-XC16LanguageToolchain.md5=a53e8c22b31e6f5bcc1968d7c72d01dd\nrelease.languagetoolchain.version=1.36\nhost.platform=windows\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qk/xc16/nbproject/Makefile-impl.mk",
    "content": "#\n# Generated Makefile - do not edit!\n#\n# Edit the Makefile in the project folder instead (../Makefile). Each target\n# has a pre- and a post- target defined where you can add customization code.\n#\n# This makefile implements macros and targets common to all configurations.\n#\n# NOCDDL\n\n\n# Building and Cleaning subprojects are done by default, but can be controlled with the SUB\n# macro. If SUB=no, subprojects will not be built or cleaned. The following macro\n# statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf\n# and .clean-reqprojects-conf unless SUB has the value 'no'\nSUB_no=NO\nSUBPROJECTS=${SUB_${SUB}}\nBUILD_SUBPROJECTS_=.build-subprojects\nBUILD_SUBPROJECTS_NO=\nBUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}}\nCLEAN_SUBPROJECTS_=.clean-subprojects\nCLEAN_SUBPROJECTS_NO=\nCLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}}\n\n\n# Project Name\nPROJECTNAME=xc16\n\n# Active Configuration\nDEFAULTCONF=default\nCONF=${DEFAULTCONF}\n\n# All Configurations\nALLCONFS=default release \n\n\n# build\n.build-impl: .build-pre\n\t${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-conf\n\n\n# clean\n.clean-impl: .clean-pre\n\t${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .clean-conf\n\n# clobber\n.clobber-impl: .clobber-pre .depcheck-impl\n\t    ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default clean\n\t    ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=release clean\n\n\n\n# all\n.all-impl: .all-pre .depcheck-impl\n\t    ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default build\n\t    ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=release build\n\n\n\n# dependency checking support\n.depcheck-impl:\n#\t@echo \"# This code depends on make tool being used\" >.dep.inc\n#\t@if [ -n \"${MAKE_VERSION}\" ]; then \\\n#\t    echo \"DEPFILES=\\$$(wildcard \\$$(addsuffix .d, \\$${OBJECTFILES}))\" >>.dep.inc; \\\n#\t    echo \"ifneq (\\$${DEPFILES},)\" >>.dep.inc; \\\n#\t    echo \"include \\$${DEPFILES}\" >>.dep.inc; \\\n#\t    echo \"endif\" >>.dep.inc; \\\n#\telse \\\n#\t    echo \".KEEP_STATE:\" >>.dep.inc; \\\n#\t    echo \".KEEP_STATE_FILE:.make.state.\\$${CONF}\" >>.dep.inc; \\\n#\tfi\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qk/xc16/nbproject/Makefile-local-default.mk",
    "content": "#\n# Generated Makefile - do not edit!\n#\n#\n# This file contains information about the location of compilers and other tools.\n# If you commmit this file into your revision control server, you will be able to \n# to checkout the project and build it from the command line with make. However,\n# if more than one person works on the same project, then this file might show\n# conflicts since different users are bound to have compilers in different places.\n# In that case you might choose to not commit this file and let MPLAB X recreate this file\n# for each user. The disadvantage of not commiting this file is that you must run MPLAB X at\n# least once so the file gets created and the project can be built. Finally, you can also\n# avoid using this file at all if you are only building from the command line with make.\n# You can invoke make with the values of the macros:\n# $ makeMP_CC=\"/opt/microchip/mplabc30/v3.30c/bin/pic30-gcc\" ...  \n#\nSHELL=cmd.exe\nPATH_TO_IDE_BIN=C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/\n# Adding MPLAB X bin directory to path.\nPATH:=C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/:$(PATH)\n# Path to java used to run MPLAB X when this makefile was created\nMP_JAVA_PATH=\"C:\\tools\\Microchip\\MPLABX\\sys\\java\\jre1.8.0_181/bin/\"\nOS_CURRENT=\"$(shell uname -s)\"\nMP_CC=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-gcc.exe\"\n# MP_CPPC is not defined\n# MP_BC is not defined\nMP_AS=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-as.exe\"\nMP_LD=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-ld.exe\"\nMP_AR=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-ar.exe\"\nDEP_GEN=${MP_JAVA_PATH}java -jar \"C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/extractobjectdependencies.jar\"\nMP_CC_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\n# MP_CPPC_DIR is not defined\n# MP_BC_DIR is not defined\nMP_AS_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\nMP_LD_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\nMP_AR_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\n# MP_BC_DIR is not defined\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qk/xc16/nbproject/Makefile-local-release.mk",
    "content": "#\n# Generated Makefile - do not edit!\n#\n#\n# This file contains information about the location of compilers and other tools.\n# If you commmit this file into your revision control server, you will be able to \n# to checkout the project and build it from the command line with make. However,\n# if more than one person works on the same project, then this file might show\n# conflicts since different users are bound to have compilers in different places.\n# In that case you might choose to not commit this file and let MPLAB X recreate this file\n# for each user. The disadvantage of not commiting this file is that you must run MPLAB X at\n# least once so the file gets created and the project can be built. Finally, you can also\n# avoid using this file at all if you are only building from the command line with make.\n# You can invoke make with the values of the macros:\n# $ makeMP_CC=\"/opt/microchip/mplabc30/v3.30c/bin/pic30-gcc\" ...  \n#\nSHELL=cmd.exe\nPATH_TO_IDE_BIN=C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/\n# Adding MPLAB X bin directory to path.\nPATH:=C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/:$(PATH)\n# Path to java used to run MPLAB X when this makefile was created\nMP_JAVA_PATH=\"C:\\tools\\Microchip\\MPLABX\\sys\\java\\jre1.8.0_181/bin/\"\nOS_CURRENT=\"$(shell uname -s)\"\nMP_CC=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-gcc.exe\"\n# MP_CPPC is not defined\n# MP_BC is not defined\nMP_AS=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-as.exe\"\nMP_LD=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-ld.exe\"\nMP_AR=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-ar.exe\"\nDEP_GEN=${MP_JAVA_PATH}java -jar \"C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/extractobjectdependencies.jar\"\nMP_CC_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\n# MP_CPPC_DIR is not defined\n# MP_BC_DIR is not defined\nMP_AS_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\nMP_LD_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\nMP_AR_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\n# MP_BC_DIR is not defined\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qk/xc16/nbproject/Makefile-release.mk",
    "content": "#\n# Generated Makefile - do not edit!\n#\n# Edit the Makefile in the project folder instead (../Makefile). Each target\n# has a -pre and a -post target defined where you can add customized code.\n#\n# This makefile implements configuration specific macros and targets.\n\n\n# Include project Makefile\nifeq \"${IGNORE_LOCAL}\" \"TRUE\"\n# do not include local makefile. User is passing all local related variables already\nelse\ninclude Makefile\n# Include makefile containing local settings\nifeq \"$(wildcard nbproject/Makefile-local-release.mk)\" \"nbproject/Makefile-local-release.mk\"\ninclude nbproject/Makefile-local-release.mk\nendif\nendif\n\n# Environment\nMKDIR=gnumkdir -p\nRM=rm -f \nMV=mv \nCP=cp \n\n# Macros\nCND_CONF=release\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nIMAGE_TYPE=debug\nOUTPUT_SUFFIX=elf\nDEBUGGABLE_SUFFIX=elf\nFINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nelse\nIMAGE_TYPE=production\nOUTPUT_SUFFIX=hex\nDEBUGGABLE_SUFFIX=elf\nFINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nendif\n\nifeq ($(COMPARE_BUILD), true)\nCOMPARISON_BUILD=-mafrlcsj\nelse\nCOMPARISON_BUILD=\nendif\n\nifdef SUB_IMAGE_ADDRESS\nSUB_IMAGE_ADDRESS_COMMAND=--image-address $(SUB_IMAGE_ADDRESS)\nelse\nSUB_IMAGE_ADDRESS_COMMAND=\nendif\n\n# Object Directory\nOBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE}\n\n# Distribution Directory\nDISTDIR=dist/${CND_CONF}/${IMAGE_TYPE}\n\n# Source Files Quoted if spaced\nSOURCEFILES_QUOTED_IF_SPACED=../../../../../src/qfn/qepn.c ../../../../../src/qfn/qfn.c ../../../../../src/qkn/qkn.c ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c bsp.c ../../../../../include/qstamp.c ../../main.c ../../pelican.c\n\n# Object Files Quoted if spaced\nOBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/_ext/329161665/qepn.o ${OBJECTDIR}/_ext/329161665/qfn.o ${OBJECTDIR}/_ext/329161510/qkn.o ${OBJECTDIR}/_ext/1875001806/qkn_port.o ${OBJECTDIR}/bsp.o ${OBJECTDIR}/_ext/726959463/qstamp.o ${OBJECTDIR}/_ext/43898991/main.o ${OBJECTDIR}/_ext/43898991/pelican.o\nPOSSIBLE_DEPFILES=${OBJECTDIR}/_ext/329161665/qepn.o.d ${OBJECTDIR}/_ext/329161665/qfn.o.d ${OBJECTDIR}/_ext/329161510/qkn.o.d ${OBJECTDIR}/_ext/1875001806/qkn_port.o.d ${OBJECTDIR}/bsp.o.d ${OBJECTDIR}/_ext/726959463/qstamp.o.d ${OBJECTDIR}/_ext/43898991/main.o.d ${OBJECTDIR}/_ext/43898991/pelican.o.d\n\n# Object Files\nOBJECTFILES=${OBJECTDIR}/_ext/329161665/qepn.o ${OBJECTDIR}/_ext/329161665/qfn.o ${OBJECTDIR}/_ext/329161510/qkn.o ${OBJECTDIR}/_ext/1875001806/qkn_port.o ${OBJECTDIR}/bsp.o ${OBJECTDIR}/_ext/726959463/qstamp.o ${OBJECTDIR}/_ext/43898991/main.o ${OBJECTDIR}/_ext/43898991/pelican.o\n\n# Source Files\nSOURCEFILES=../../../../../src/qfn/qepn.c ../../../../../src/qfn/qfn.c ../../../../../src/qkn/qkn.c ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c bsp.c ../../../../../include/qstamp.c ../../main.c ../../pelican.c\n\n\nCFLAGS=\nASFLAGS=\nLDLIBSOPTIONS=\n\n############# Tool locations ##########################################\n# If you copy a project from one host to another, the path where the  #\n# compiler is installed may be different.                             #\n# If you open this project with MPLAB X in the new host, this         #\n# makefile will be regenerated and the paths will be corrected.       #\n#######################################################################\n# fixDeps replaces a bunch of sed/cat/printf statements that slow down the build\nFIXDEPS=fixDeps\n\n.build-conf:  ${BUILD_SUBPROJECTS}\nifneq ($(INFORMATION_MESSAGE), )\n\t@echo $(INFORMATION_MESSAGE)\nendif\n\t${MAKE}  -f nbproject/Makefile-release.mk dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\n\nMP_PROCESSOR_OPTION=24FJ64GB002\nMP_LINKER_FILE_OPTION=,--script=p24FJ64GB002.gld\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: compile\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\n${OBJECTDIR}/_ext/329161665/qepn.o: ../../../../../src/qfn/qepn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qepn.c  -o ${OBJECTDIR}/_ext/329161665/qepn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qepn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qepn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161665/qfn.o: ../../../../../src/qfn/qfn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qfn.c  -o ${OBJECTDIR}/_ext/329161665/qfn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qfn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qfn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161510/qkn.o: ../../../../../src/qkn/qkn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161510\" \n\t@${RM} ${OBJECTDIR}/_ext/329161510/qkn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161510/qkn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qkn/qkn.c  -o ${OBJECTDIR}/_ext/329161510/qkn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161510/qkn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161510/qkn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/1875001806/qkn_port.o: ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/1875001806\" \n\t@${RM} ${OBJECTDIR}/_ext/1875001806/qkn_port.o.d \n\t@${RM} ${OBJECTDIR}/_ext/1875001806/qkn_port.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c  -o ${OBJECTDIR}/_ext/1875001806/qkn_port.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/1875001806/qkn_port.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/1875001806/qkn_port.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/bsp.o: bsp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}\" \n\t@${RM} ${OBJECTDIR}/bsp.o.d \n\t@${RM} ${OBJECTDIR}/bsp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  bsp.c  -o ${OBJECTDIR}/bsp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/bsp.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/bsp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/726959463/qstamp.o: ../../../../../include/qstamp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/726959463\" \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o.d \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../include/qstamp.c  -o ${OBJECTDIR}/_ext/726959463/qstamp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/main.o: ../../main.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../main.c  -o ${OBJECTDIR}/_ext/43898991/main.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/main.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/main.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/pelican.o: ../../pelican.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/pelican.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/pelican.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../pelican.c  -o ${OBJECTDIR}/_ext/43898991/pelican.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/pelican.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/pelican.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\nelse\n${OBJECTDIR}/_ext/329161665/qepn.o: ../../../../../src/qfn/qepn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qepn.c  -o ${OBJECTDIR}/_ext/329161665/qepn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qepn.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qepn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161665/qfn.o: ../../../../../src/qfn/qfn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qfn.c  -o ${OBJECTDIR}/_ext/329161665/qfn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qfn.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qfn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161510/qkn.o: ../../../../../src/qkn/qkn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161510\" \n\t@${RM} ${OBJECTDIR}/_ext/329161510/qkn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161510/qkn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qkn/qkn.c  -o ${OBJECTDIR}/_ext/329161510/qkn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161510/qkn.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161510/qkn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/1875001806/qkn_port.o: ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/1875001806\" \n\t@${RM} ${OBJECTDIR}/_ext/1875001806/qkn_port.o.d \n\t@${RM} ${OBJECTDIR}/_ext/1875001806/qkn_port.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c  -o ${OBJECTDIR}/_ext/1875001806/qkn_port.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/1875001806/qkn_port.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/1875001806/qkn_port.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/bsp.o: bsp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}\" \n\t@${RM} ${OBJECTDIR}/bsp.o.d \n\t@${RM} ${OBJECTDIR}/bsp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  bsp.c  -o ${OBJECTDIR}/bsp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/bsp.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/bsp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/726959463/qstamp.o: ../../../../../include/qstamp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/726959463\" \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o.d \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../include/qstamp.c  -o ${OBJECTDIR}/_ext/726959463/qstamp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/main.o: ../../main.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../main.c  -o ${OBJECTDIR}/_ext/43898991/main.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/main.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/main.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/pelican.o: ../../pelican.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/pelican.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/pelican.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../pelican.c  -o ${OBJECTDIR}/_ext/43898991/pelican.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/pelican.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/pelican.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: assemble\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nelse\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: assemblePreproc\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nelse\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: link\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\ndist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES}  nbproject/Makefile-${CND_CONF}.mk    \n\t@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} \n\t${MP_CC} $(MP_EXTRA_LD_PRE)  -o dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}      -mcpu=$(MP_PROCESSOR_OPTION)        -D__DEBUG=__DEBUG -D__MPLAB_DEBUGGER_PK3=1  -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)   -mreserve=data@0x800:0x81F -mreserve=data@0x820:0x821 -mreserve=data@0x822:0x823 -mreserve=data@0x824:0x825 -mreserve=data@0x826:0x84F   -Wl,,,--defsym=__MPLAB_BUILD=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,-D__DEBUG=__DEBUG,--defsym=__MPLAB_DEBUGGER_PK3=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,--report-mem,--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml$(MP_EXTRA_LD_POST) \n\t\nelse\ndist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES}  nbproject/Makefile-${CND_CONF}.mk   \n\t@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} \n\t${MP_CC} $(MP_EXTRA_LD_PRE)  -o dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}      -mcpu=$(MP_PROCESSOR_OPTION)        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Wl,,,--defsym=__MPLAB_BUILD=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,--report-mem,--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml$(MP_EXTRA_LD_POST) \n\t${MP_CC_DIR}\\\\xc16-bin2hex dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -a  -omf=elf  \n\t\nendif\n\n\n# Subprojects\n.build-subprojects:\n\n\n# Subprojects\n.clean-subprojects:\n\n# Clean Targets\n.clean-conf: ${CLEAN_SUBPROJECTS}\n\t${RM} -r build/release\n\t${RM} -r dist/release\n\n# Enable dependency checking\n.dep.inc: .depcheck-impl\n\nDEPFILES=$(shell mplabwildcard ${POSSIBLE_DEPFILES})\nifneq (${DEPFILES},)\ninclude ${DEPFILES}\nendif\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qk/xc16/nbproject/Makefile-variables.mk",
    "content": "#\n# Generated - do not edit!\n#\n# NOCDDL\n#\nCND_BASEDIR=`pwd`\n# default configuration\nCND_ARTIFACT_DIR_default=dist/default/production\nCND_ARTIFACT_NAME_default=xc16.production.hex\nCND_ARTIFACT_PATH_default=dist/default/production/xc16.production.hex\nCND_PACKAGE_DIR_default=${CND_DISTDIR}/default/package\nCND_PACKAGE_NAME_default=xc16.tar\nCND_PACKAGE_PATH_default=${CND_DISTDIR}/default/package/xc16.tar\n# release configuration\nCND_ARTIFACT_DIR_release=dist/release/production\nCND_ARTIFACT_NAME_release=xc16.production.hex\nCND_ARTIFACT_PATH_release=dist/release/production/xc16.production.hex\nCND_PACKAGE_DIR_release=${CND_DISTDIR}/release/package\nCND_PACKAGE_NAME_release=xc16.tar\nCND_PACKAGE_PATH_release=${CND_DISTDIR}/release/package/xc16.tar\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qk/xc16/nbproject/Package-default.bash",
    "content": "#!/bin/bash -x\n\n#\n# Generated - do not edit!\n#\n\n# Macros\nTOP=`pwd`\nCND_CONF=default\nCND_DISTDIR=dist\nTMPDIR=build/${CND_CONF}/${IMAGE_TYPE}/tmp-packaging\nTMPDIRNAME=tmp-packaging\nOUTPUT_PATH=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nOUTPUT_BASENAME=xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nPACKAGE_TOP_DIR=xc16/\n\n# Functions\nfunction checkReturnCode\n{\n    rc=$?\n    if [ $rc != 0 ]\n    then\n        exit $rc\n    fi\n}\nfunction makeDirectory\n# $1 directory path\n# $2 permission (optional)\n{\n    mkdir -p \"$1\"\n    checkReturnCode\n    if [ \"$2\" != \"\" ]\n    then\n      chmod $2 \"$1\"\n      checkReturnCode\n    fi\n}\nfunction copyFileToTmpDir\n# $1 from-file path\n# $2 to-file path\n# $3 permission\n{\n    cp \"$1\" \"$2\"\n    checkReturnCode\n    if [ \"$3\" != \"\" ]\n    then\n        chmod $3 \"$2\"\n        checkReturnCode\n    fi\n}\n\n# Setup\ncd \"${TOP}\"\nmkdir -p ${CND_DISTDIR}/${CND_CONF}/package\nrm -rf ${TMPDIR}\nmkdir -p ${TMPDIR}\n\n# Copy files and create directories and links\ncd \"${TOP}\"\nmakeDirectory ${TMPDIR}/xc16/bin\ncopyFileToTmpDir \"${OUTPUT_PATH}\" \"${TMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}\" 0755\n\n\n# Generate tar file\ncd \"${TOP}\"\nrm -f ${CND_DISTDIR}/${CND_CONF}/package/xc16.tar\ncd ${TMPDIR}\ntar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/package/xc16.tar *\ncheckReturnCode\n\n# Cleanup\ncd \"${TOP}\"\nrm -rf ${TMPDIR}\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qk/xc16/nbproject/Package-release.bash",
    "content": "#!/bin/bash -x\n\n#\n# Generated - do not edit!\n#\n\n# Macros\nTOP=`pwd`\nCND_CONF=release\nCND_DISTDIR=dist\nTMPDIR=build/${CND_CONF}/${IMAGE_TYPE}/tmp-packaging\nTMPDIRNAME=tmp-packaging\nOUTPUT_PATH=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nOUTPUT_BASENAME=xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nPACKAGE_TOP_DIR=xc16/\n\n# Functions\nfunction checkReturnCode\n{\n    rc=$?\n    if [ $rc != 0 ]\n    then\n        exit $rc\n    fi\n}\nfunction makeDirectory\n# $1 directory path\n# $2 permission (optional)\n{\n    mkdir -p \"$1\"\n    checkReturnCode\n    if [ \"$2\" != \"\" ]\n    then\n      chmod $2 \"$1\"\n      checkReturnCode\n    fi\n}\nfunction copyFileToTmpDir\n# $1 from-file path\n# $2 to-file path\n# $3 permission\n{\n    cp \"$1\" \"$2\"\n    checkReturnCode\n    if [ \"$3\" != \"\" ]\n    then\n        chmod $3 \"$2\"\n        checkReturnCode\n    fi\n}\n\n# Setup\ncd \"${TOP}\"\nmkdir -p ${CND_DISTDIR}/${CND_CONF}/package\nrm -rf ${TMPDIR}\nmkdir -p ${TMPDIR}\n\n# Copy files and create directories and links\ncd \"${TOP}\"\nmakeDirectory ${TMPDIR}/xc16/bin\ncopyFileToTmpDir \"${OUTPUT_PATH}\" \"${TMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}\" 0755\n\n\n# Generate tar file\ncd \"${TOP}\"\nrm -f ${CND_DISTDIR}/${CND_CONF}/package/xc16.tar\ncd ${TMPDIR}\ntar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/package/xc16.tar *\ncheckReturnCode\n\n# Cleanup\ncd \"${TOP}\"\nrm -rf ${TMPDIR}\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qk/xc16/nbproject/configurations.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<configurationDescriptor version=\"65\">\n  <logicalFolder name=\"root\" displayName=\"root\" projectFiles=\"true\">\n    <logicalFolder name=\"HeaderFiles\"\n                   displayName=\"Header Files\"\n                   projectFiles=\"true\">\n    </logicalFolder>\n    <logicalFolder name=\"LinkerScript\"\n                   displayName=\"Linker Files\"\n                   projectFiles=\"true\">\n    </logicalFolder>\n    <logicalFolder name=\"f1\" displayName=\"QP-nano\" projectFiles=\"true\">\n      <itemPath>../../../../../src/qfn/qepn.c</itemPath>\n      <itemPath>../../../../../src/qfn/qfn.c</itemPath>\n      <itemPath>../../../../../src/qkn/qkn.c</itemPath>\n      <itemPath>../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c</itemPath>\n    </logicalFolder>\n    <logicalFolder name=\"SourceFiles\"\n                   displayName=\"Source Files\"\n                   projectFiles=\"true\">\n      <itemPath>bsp.c</itemPath>\n      <itemPath>../../../../../include/qstamp.c</itemPath>\n      <itemPath>../../bsp.h</itemPath>\n      <itemPath>../../main.c</itemPath>\n      <itemPath>../../qpn_conf.h</itemPath>\n      <itemPath>../../blinky.c</itemPath>\n      <itemPath>../../blinky.h</itemPath>\n    </logicalFolder>\n    <logicalFolder name=\"ExternalFiles\"\n                   displayName=\"Important Files\"\n                   projectFiles=\"false\">\n      <itemPath>Makefile</itemPath>\n    </logicalFolder>\n  </logicalFolder>\n  <sourceRootList>\n    <Elem>../..</Elem>\n    <Elem>../../../../../include</Elem>\n    <Elem>../../../../../ports/pic24_dspic/qk/xc16</Elem>\n    <Elem>../../../../../src/qfn</Elem>\n    <Elem>../../../../../src/qkn</Elem>\n  </sourceRootList>\n  <projectmakefile>Makefile</projectmakefile>\n  <confs>\n    <conf name=\"default\" type=\"2\">\n      <toolsSet>\n        <developmentServer>localhost</developmentServer>\n        <targetDevice>PIC24FJ64GB002</targetDevice>\n        <targetHeader></targetHeader>\n        <targetPluginBoard></targetPluginBoard>\n        <platformTool>PKOBSKDEPlatformTool</platformTool>\n        <languageToolchain>XC16</languageToolchain>\n        <languageToolchainVersion>1.36</languageToolchainVersion>\n        <platform>3</platform>\n      </toolsSet>\n      <packs>\n        <pack name=\"PIC24F-GA-GB_DFP\" vendor=\"Microchip\" version=\"1.0.58\"/>\n      </packs>\n      <compileType>\n        <linkerTool>\n          <linkerLibItems>\n          </linkerLibItems>\n        </linkerTool>\n        <archiverTool>\n        </archiverTool>\n        <loading>\n          <useAlternateLoadableFile>false</useAlternateLoadableFile>\n          <parseOnProdLoad>false</parseOnProdLoad>\n          <alternateLoadableFile></alternateLoadableFile>\n        </loading>\n        <subordinates>\n        </subordinates>\n      </compileType>\n      <makeCustomizationType>\n        <makeCustomizationPreStepEnabled>false</makeCustomizationPreStepEnabled>\n        <makeCustomizationPreStep></makeCustomizationPreStep>\n        <makeCustomizationPostStepEnabled>false</makeCustomizationPostStepEnabled>\n        <makeCustomizationPostStep></makeCustomizationPostStep>\n        <makeCustomizationPutChecksumInUserID>false</makeCustomizationPutChecksumInUserID>\n        <makeCustomizationEnableLongLines>false</makeCustomizationEnableLongLines>\n        <makeCustomizationNormalizeHexFile>false</makeCustomizationNormalizeHexFile>\n      </makeCustomizationType>\n      <C30>\n        <property key=\"code-model\" value=\"default\"/>\n        <property key=\"const-model\" value=\"default\"/>\n        <property key=\"data-model\" value=\"default\"/>\n        <property key=\"disable-instruction-scheduling\" value=\"false\"/>\n        <property key=\"enable-all-warnings\" value=\"true\"/>\n        <property key=\"enable-ansi-std\" value=\"false\"/>\n        <property key=\"enable-ansi-warnings\" value=\"false\"/>\n        <property key=\"enable-fatal-warnings\" value=\"false\"/>\n        <property key=\"enable-large-arrays\" value=\"false\"/>\n        <property key=\"enable-omit-frame-pointer\" value=\"false\"/>\n        <property key=\"enable-procedural-abstraction\" value=\"false\"/>\n        <property key=\"enable-short-double\" value=\"false\"/>\n        <property key=\"enable-symbols\" value=\"true\"/>\n        <property key=\"enable-unroll-loops\" value=\"false\"/>\n        <property key=\"extra-include-directories\"\n                  value=\"..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\src;..\\..\\..\\..\\..\\ports\\pic24_dspic\\qk\\xc16\"/>\n        <property key=\"isolate-each-function\" value=\"false\"/>\n        <property key=\"keep-inline\" value=\"false\"/>\n        <property key=\"oXC16gcc-align-arr\" value=\"false\"/>\n        <property key=\"oXC16gcc-cnsts-mauxflash\" value=\"false\"/>\n        <property key=\"oXC16gcc-data-sects\" value=\"false\"/>\n        <property key=\"oXC16gcc-errata\" value=\"\"/>\n        <property key=\"oXC16gcc-fillupper\" value=\"\"/>\n        <property key=\"oXC16gcc-large-aggregate\" value=\"false\"/>\n        <property key=\"oXC16gcc-mauxflash\" value=\"false\"/>\n        <property key=\"oXC16gcc-mpa-lvl\" value=\"\"/>\n        <property key=\"oXC16gcc-name-text-sec\" value=\"\"/>\n        <property key=\"oXC16gcc-near-chars\" value=\"false\"/>\n        <property key=\"oXC16gcc-no-isr-warn\" value=\"false\"/>\n        <property key=\"oXC16gcc-sfr-warn\" value=\"false\"/>\n        <property key=\"oXC16gcc-smar-io-lvl\" value=\"1\"/>\n        <property key=\"oXC16gcc-smart-io-fmt\" value=\"\"/>\n        <property key=\"optimization-level\" value=\"0\"/>\n        <property key=\"post-instruction-scheduling\" value=\"default\"/>\n        <property key=\"pre-instruction-scheduling\" value=\"default\"/>\n        <property key=\"preprocessor-macros\" value=\"\"/>\n        <property key=\"scalar-model\" value=\"default\"/>\n        <property key=\"use-cci\" value=\"false\"/>\n        <property key=\"use-iar\" value=\"false\"/>\n      </C30>\n      <C30-AR>\n        <property key=\"additional-options-chop-files\" value=\"false\"/>\n      </C30-AR>\n      <C30-AS>\n        <property key=\"assembler-symbols\" value=\"\"/>\n        <property key=\"expand-macros\" value=\"false\"/>\n        <property key=\"extra-include-directories-for-assembler\" value=\"\"/>\n        <property key=\"extra-include-directories-for-preprocessor\" value=\"\"/>\n        <property key=\"false-conditionals\" value=\"false\"/>\n        <property key=\"keep-locals\" value=\"false\"/>\n        <property key=\"list-assembly\" value=\"false\"/>\n        <property key=\"list-section-info\" value=\"false\"/>\n        <property key=\"list-source\" value=\"false\"/>\n        <property key=\"list-symbols\" value=\"false\"/>\n        <property key=\"oXC16asm-extra-opts\" value=\"\"/>\n        <property key=\"oXC16asm-list-to-file\" value=\"false\"/>\n        <property key=\"omit-debug-dirs\" value=\"false\"/>\n        <property key=\"omit-forms\" value=\"false\"/>\n        <property key=\"preprocessor-macros\" value=\"\"/>\n        <property key=\"relax\" value=\"false\"/>\n        <property key=\"warning-level\" value=\"emit-warnings\"/>\n      </C30-AS>\n      <C30-LD>\n        <property key=\"additional-options-use-response-files\" value=\"false\"/>\n        <property key=\"boot-eeprom\" value=\"no_eeprom\"/>\n        <property key=\"boot-flash\" value=\"no_flash\"/>\n        <property key=\"boot-ram\" value=\"no_ram\"/>\n        <property key=\"boot-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"enable-check-sections\" value=\"false\"/>\n        <property key=\"enable-data-init\" value=\"true\"/>\n        <property key=\"enable-default-isr\" value=\"true\"/>\n        <property key=\"enable-handles\" value=\"true\"/>\n        <property key=\"enable-pack-data\" value=\"true\"/>\n        <property key=\"extra-lib-directories\" value=\"\"/>\n        <property key=\"fill-flash-options-addr\" value=\"\"/>\n        <property key=\"fill-flash-options-const\" value=\"\"/>\n        <property key=\"fill-flash-options-how\" value=\"0\"/>\n        <property key=\"fill-flash-options-inc-const\" value=\"1\"/>\n        <property key=\"fill-flash-options-increment\" value=\"\"/>\n        <property key=\"fill-flash-options-seq\" value=\"\"/>\n        <property key=\"fill-flash-options-what\" value=\"0\"/>\n        <property key=\"general-code-protect\" value=\"no_code_protect\"/>\n        <property key=\"general-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"generate-cross-reference-file\" value=\"false\"/>\n        <property key=\"heap-size\" value=\"\"/>\n        <property key=\"input-libraries\" value=\"\"/>\n        <property key=\"linker-stack\" value=\"true\"/>\n        <property key=\"linker-symbols\" value=\"\"/>\n        <property key=\"map-file\" value=\"\"/>\n        <property key=\"no-ivt\" value=\"false\"/>\n        <property key=\"oXC16ld-extra-opts\" value=\"\"/>\n        <property key=\"oXC16ld-fill-upper\" value=\"0\"/>\n        <property key=\"oXC16ld-force-link\" value=\"false\"/>\n        <property key=\"oXC16ld-no-smart-io\" value=\"false\"/>\n        <property key=\"oXC16ld-nostdlib\" value=\"false\"/>\n        <property key=\"oXC16ld-stackguard\" value=\"16\"/>\n        <property key=\"preprocessor-macros\" value=\"\"/>\n        <property key=\"remove-unused-sections\" value=\"false\"/>\n        <property key=\"report-memory-usage\" value=\"true\"/>\n        <property key=\"secure-eeprom\" value=\"no_eeprom\"/>\n        <property key=\"secure-flash\" value=\"no_flash\"/>\n        <property key=\"secure-ram\" value=\"no_ram\"/>\n        <property key=\"secure-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"stack-size\" value=\"16\"/>\n        <property key=\"symbol-stripping\" value=\"\"/>\n        <property key=\"trace-symbols\" value=\"\"/>\n        <property key=\"warn-section-align\" value=\"false\"/>\n      </C30-LD>\n      <C30Global>\n        <property key=\"common-include-directories\" value=\"\"/>\n        <property key=\"dual-boot-partition\" value=\"0\"/>\n        <property key=\"fast-math\" value=\"false\"/>\n        <property key=\"generic-16-bit\" value=\"false\"/>\n        <property key=\"legacy-libc\" value=\"true\"/>\n        <property key=\"mpreserve-all\" value=\"false\"/>\n        <property key=\"oXC16glb-macros\" value=\"\"/>\n        <property key=\"output-file-format\" value=\"elf\"/>\n        <property key=\"preserve-all\" value=\"false\"/>\n        <property key=\"preserve-file\" value=\"\"/>\n        <property key=\"relaxed-math\" value=\"false\"/>\n        <property key=\"save-temps\" value=\"false\"/>\n      </C30Global>\n      <PKOBSKDEPlatformTool>\n        <property key=\"AutoSelectMemRanges\" value=\"auto\"/>\n        <property key=\"SecureSegment.SegmentProgramming\" value=\"FullChipProgramming\"/>\n        <property key=\"ToolFirmwareFilePath\"\n                  value=\"Press to browse for a specific firmware version\"/>\n        <property key=\"ToolFirmwareOption.UseLatestFirmware\" value=\"true\"/>\n        <property key=\"firmware.download.all\" value=\"false\"/>\n        <property key=\"memories.configurationmemory\" value=\"true\"/>\n        <property key=\"memories.dataflash\" value=\"true\"/>\n        <property key=\"memories.eeprom\" value=\"true\"/>\n        <property key=\"memories.id\" value=\"true\"/>\n        <property key=\"memories.programmemory\" value=\"true\"/>\n        <property key=\"memories.programmemory.ranges\" value=\"0-abf7\"/>\n        <property key=\"memories.userotp\" value=\"true\"/>\n        <property key=\"programoptions.donoteraseauxmem\" value=\"false\"/>\n        <property key=\"programoptions.eraseb4program\" value=\"true\"/>\n        <property key=\"programoptions.preservedataflash\" value=\"false\"/>\n        <property key=\"programoptions.preservedataflash.ranges\" value=\"\"/>\n        <property key=\"programoptions.preserveeeprom\" value=\"false\"/>\n        <property key=\"programoptions.preserveeeprom.ranges\"\n                  value=\"${memories.eedata.default}\"/>\n        <property key=\"programoptions.preserveprogram.ranges\" value=\"\"/>\n        <property key=\"programoptions.preserveprogramrange\" value=\"false\"/>\n        <property key=\"programoptions.usehighvoltageonmclr\" value=\"false\"/>\n        <property key=\"programoptions.uselvpprogramming\" value=\"true\"/>\n      </PKOBSKDEPlatformTool>\n    </conf>\n    <conf name=\"release\" type=\"2\">\n      <toolsSet>\n        <developmentServer>localhost</developmentServer>\n        <targetDevice>PIC24FJ64GB002</targetDevice>\n        <targetHeader></targetHeader>\n        <targetPluginBoard></targetPluginBoard>\n        <platformTool>PKOBSKDEPlatformTool</platformTool>\n        <languageToolchain>XC16</languageToolchain>\n        <languageToolchainVersion>1.36</languageToolchainVersion>\n        <platform>3</platform>\n      </toolsSet>\n      <packs>\n        <pack name=\"PIC24F-GA-GB_DFP\" vendor=\"Microchip\" version=\"1.0.58\"/>\n      </packs>\n      <compileType>\n        <linkerTool>\n          <linkerLibItems>\n          </linkerLibItems>\n        </linkerTool>\n        <archiverTool>\n        </archiverTool>\n        <loading>\n          <useAlternateLoadableFile>false</useAlternateLoadableFile>\n          <parseOnProdLoad>false</parseOnProdLoad>\n          <alternateLoadableFile></alternateLoadableFile>\n        </loading>\n        <subordinates>\n        </subordinates>\n      </compileType>\n      <makeCustomizationType>\n        <makeCustomizationPreStepEnabled>false</makeCustomizationPreStepEnabled>\n        <makeCustomizationPreStep></makeCustomizationPreStep>\n        <makeCustomizationPostStepEnabled>false</makeCustomizationPostStepEnabled>\n        <makeCustomizationPostStep></makeCustomizationPostStep>\n        <makeCustomizationPutChecksumInUserID>false</makeCustomizationPutChecksumInUserID>\n        <makeCustomizationEnableLongLines>false</makeCustomizationEnableLongLines>\n        <makeCustomizationNormalizeHexFile>false</makeCustomizationNormalizeHexFile>\n      </makeCustomizationType>\n      <C30>\n        <property key=\"code-model\" value=\"default\"/>\n        <property key=\"const-model\" value=\"default\"/>\n        <property key=\"data-model\" value=\"default\"/>\n        <property key=\"disable-instruction-scheduling\" value=\"false\"/>\n        <property key=\"enable-all-warnings\" value=\"true\"/>\n        <property key=\"enable-ansi-std\" value=\"false\"/>\n        <property key=\"enable-ansi-warnings\" value=\"false\"/>\n        <property key=\"enable-fatal-warnings\" value=\"false\"/>\n        <property key=\"enable-large-arrays\" value=\"false\"/>\n        <property key=\"enable-omit-frame-pointer\" value=\"false\"/>\n        <property key=\"enable-procedural-abstraction\" value=\"false\"/>\n        <property key=\"enable-short-double\" value=\"false\"/>\n        <property key=\"enable-symbols\" value=\"false\"/>\n        <property key=\"enable-unroll-loops\" value=\"false\"/>\n        <property key=\"extra-include-directories\"\n                  value=\"..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\src;..\\..\\..\\..\\..\\ports\\pic24_dspic\\qk\\xc16\"/>\n        <property key=\"isolate-each-function\" value=\"false\"/>\n        <property key=\"keep-inline\" value=\"false\"/>\n        <property key=\"oXC16gcc-align-arr\" value=\"false\"/>\n        <property key=\"oXC16gcc-cnsts-mauxflash\" value=\"false\"/>\n        <property key=\"oXC16gcc-data-sects\" value=\"false\"/>\n        <property key=\"oXC16gcc-errata\" value=\"\"/>\n        <property key=\"oXC16gcc-fillupper\" value=\"\"/>\n        <property key=\"oXC16gcc-large-aggregate\" value=\"false\"/>\n        <property key=\"oXC16gcc-mauxflash\" value=\"false\"/>\n        <property key=\"oXC16gcc-mpa-lvl\" value=\"\"/>\n        <property key=\"oXC16gcc-name-text-sec\" value=\"\"/>\n        <property key=\"oXC16gcc-near-chars\" value=\"false\"/>\n        <property key=\"oXC16gcc-no-isr-warn\" value=\"false\"/>\n        <property key=\"oXC16gcc-sfr-warn\" value=\"false\"/>\n        <property key=\"oXC16gcc-smar-io-lvl\" value=\"1\"/>\n        <property key=\"oXC16gcc-smart-io-fmt\" value=\"\"/>\n        <property key=\"optimization-level\" value=\"s\"/>\n        <property key=\"post-instruction-scheduling\" value=\"default\"/>\n        <property key=\"pre-instruction-scheduling\" value=\"default\"/>\n        <property key=\"preprocessor-macros\" value=\"NDEBUG\"/>\n        <property key=\"scalar-model\" value=\"default\"/>\n        <property key=\"use-cci\" value=\"false\"/>\n        <property key=\"use-iar\" value=\"false\"/>\n      </C30>\n      <C30-AR>\n        <property key=\"additional-options-chop-files\" value=\"false\"/>\n      </C30-AR>\n      <C30-AS>\n        <property key=\"assembler-symbols\" value=\"\"/>\n        <property key=\"expand-macros\" value=\"false\"/>\n        <property key=\"extra-include-directories-for-assembler\" value=\"\"/>\n        <property key=\"extra-include-directories-for-preprocessor\" value=\"\"/>\n        <property key=\"false-conditionals\" value=\"false\"/>\n        <property key=\"keep-locals\" value=\"false\"/>\n        <property key=\"list-assembly\" value=\"false\"/>\n        <property key=\"list-section-info\" value=\"false\"/>\n        <property key=\"list-source\" value=\"false\"/>\n        <property key=\"list-symbols\" value=\"false\"/>\n        <property key=\"oXC16asm-extra-opts\" value=\"\"/>\n        <property key=\"oXC16asm-list-to-file\" value=\"false\"/>\n        <property key=\"omit-debug-dirs\" value=\"false\"/>\n        <property key=\"omit-forms\" value=\"false\"/>\n        <property key=\"preprocessor-macros\" value=\"\"/>\n        <property key=\"relax\" value=\"false\"/>\n        <property key=\"warning-level\" value=\"emit-warnings\"/>\n      </C30-AS>\n      <C30-LD>\n        <property key=\"additional-options-use-response-files\" value=\"false\"/>\n        <property key=\"boot-eeprom\" value=\"no_eeprom\"/>\n        <property key=\"boot-flash\" value=\"no_flash\"/>\n        <property key=\"boot-ram\" value=\"no_ram\"/>\n        <property key=\"boot-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"enable-check-sections\" value=\"false\"/>\n        <property key=\"enable-data-init\" value=\"true\"/>\n        <property key=\"enable-default-isr\" value=\"true\"/>\n        <property key=\"enable-handles\" value=\"true\"/>\n        <property key=\"enable-pack-data\" value=\"true\"/>\n        <property key=\"extra-lib-directories\" value=\"\"/>\n        <property key=\"fill-flash-options-addr\" value=\"\"/>\n        <property key=\"fill-flash-options-const\" value=\"\"/>\n        <property key=\"fill-flash-options-how\" value=\"0\"/>\n        <property key=\"fill-flash-options-inc-const\" value=\"1\"/>\n        <property key=\"fill-flash-options-increment\" value=\"\"/>\n        <property key=\"fill-flash-options-seq\" value=\"\"/>\n        <property key=\"fill-flash-options-what\" value=\"0\"/>\n        <property key=\"general-code-protect\" value=\"no_code_protect\"/>\n        <property key=\"general-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"generate-cross-reference-file\" value=\"false\"/>\n        <property key=\"heap-size\" value=\"\"/>\n        <property key=\"input-libraries\" value=\"\"/>\n        <property key=\"linker-stack\" value=\"true\"/>\n        <property key=\"linker-symbols\" value=\"\"/>\n        <property key=\"map-file\" value=\"\"/>\n        <property key=\"no-ivt\" value=\"false\"/>\n        <property key=\"oXC16ld-extra-opts\" value=\"\"/>\n        <property key=\"oXC16ld-fill-upper\" value=\"0\"/>\n        <property key=\"oXC16ld-force-link\" value=\"false\"/>\n        <property key=\"oXC16ld-no-smart-io\" value=\"false\"/>\n        <property key=\"oXC16ld-nostdlib\" value=\"false\"/>\n        <property key=\"oXC16ld-stackguard\" value=\"16\"/>\n        <property key=\"preprocessor-macros\" value=\"\"/>\n        <property key=\"remove-unused-sections\" value=\"false\"/>\n        <property key=\"report-memory-usage\" value=\"true\"/>\n        <property key=\"secure-eeprom\" value=\"no_eeprom\"/>\n        <property key=\"secure-flash\" value=\"no_flash\"/>\n        <property key=\"secure-ram\" value=\"no_ram\"/>\n        <property key=\"secure-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"stack-size\" value=\"16\"/>\n        <property key=\"symbol-stripping\" value=\"\"/>\n        <property key=\"trace-symbols\" value=\"\"/>\n        <property key=\"warn-section-align\" value=\"false\"/>\n      </C30-LD>\n      <C30Global>\n        <property key=\"common-include-directories\" value=\"\"/>\n        <property key=\"dual-boot-partition\" value=\"0\"/>\n        <property key=\"fast-math\" value=\"false\"/>\n        <property key=\"generic-16-bit\" value=\"false\"/>\n        <property key=\"legacy-libc\" value=\"false\"/>\n        <property key=\"mpreserve-all\" value=\"false\"/>\n        <property key=\"oXC16glb-macros\" value=\"\"/>\n        <property key=\"output-file-format\" value=\"elf\"/>\n        <property key=\"preserve-all\" value=\"false\"/>\n        <property key=\"preserve-file\" value=\"\"/>\n        <property key=\"relaxed-math\" value=\"false\"/>\n        <property key=\"save-temps\" value=\"false\"/>\n      </C30Global>\n      <PKOBSKDEPlatformTool>\n        <property key=\"AutoSelectMemRanges\" value=\"auto\"/>\n        <property key=\"SecureSegment.SegmentProgramming\" value=\"FullChipProgramming\"/>\n        <property key=\"ToolFirmwareFilePath\"\n                  value=\"Press to browse for a specific firmware version\"/>\n        <property key=\"ToolFirmwareOption.UseLatestFirmware\" value=\"true\"/>\n        <property key=\"memories.configurationmemory\" value=\"true\"/>\n        <property key=\"memories.dataflash\" value=\"true\"/>\n        <property key=\"memories.eeprom\" value=\"false\"/>\n        <property key=\"memories.id\" value=\"false\"/>\n        <property key=\"memories.programmemory\" value=\"true\"/>\n        <property key=\"memories.programmemory.ranges\" value=\"0-abf7\"/>\n        <property key=\"memories.userotp\" value=\"true\"/>\n        <property key=\"programoptions.donoteraseauxmem\" value=\"false\"/>\n        <property key=\"programoptions.eraseb4program\" value=\"true\"/>\n        <property key=\"programoptions.preservedataflash\" value=\"false\"/>\n        <property key=\"programoptions.preservedataflash.ranges\" value=\"\"/>\n        <property key=\"programoptions.preserveeeprom\" value=\"false\"/>\n        <property key=\"programoptions.preserveeeprom.ranges\"\n                  value=\"${memories.eedata.default}\"/>\n        <property key=\"programoptions.preserveprogram.ranges\" value=\"\"/>\n        <property key=\"programoptions.preserveprogramrange\" value=\"false\"/>\n        <property key=\"programoptions.usehighvoltageonmclr\" value=\"false\"/>\n        <property key=\"programoptions.uselvpprogramming\" value=\"false\"/>\n      </PKOBSKDEPlatformTool>\n    </conf>\n  </confs>\n</configurationDescriptor>\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qk/xc16/nbproject/private/configurations.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<configurationDescriptor version=\"65\">\n  <projectmakefile>Makefile</projectmakefile>\n  <defaultConf>0</defaultConf>\n  <confs>\n    <conf name=\"default\" type=\"2\">\n      <platformToolSN>:=MPLABComm-USB-Microchip:=&lt;vid>04D8:=&lt;pid>8107:=&lt;rev>0002:=&lt;man>Microchip Technology Incorporated:=&lt;prod>Microstick II SK:=&lt;sn>BUR123045184:=&lt;drv>x:=&lt;xpt>h:=end</platformToolSN>\n      <languageToolchainDir>C:\\tools\\Microchip\\xc16\\bin</languageToolchainDir>\n      <mdbdebugger version=\"1\">\n        <placeholder1>place holder 1</placeholder1>\n        <placeholder2>place holder 2</placeholder2>\n      </mdbdebugger>\n      <runprofile version=\"6\">\n        <args></args>\n        <rundir></rundir>\n        <buildfirst>true</buildfirst>\n        <console-type>0</console-type>\n        <terminal-type>0</terminal-type>\n        <remove-instrumentation>0</remove-instrumentation>\n        <environment>\n        </environment>\n      </runprofile>\n    </conf>\n    <conf name=\"release\" type=\"2\">\n      <platformToolSN>:=MPLABComm-USB-Microchip:=&lt;vid>04D8:=&lt;pid>8107:=&lt;rev>0002:=&lt;man>Microchip Technology Incorporated:=&lt;prod>Microstick II SK:=&lt;sn>BUR123045184:=&lt;drv>x:=&lt;xpt>h:=end</platformToolSN>\n      <languageToolchainDir>C:\\tools\\Microchip\\xc16\\bin</languageToolchainDir>\n      <mdbdebugger version=\"1\">\n        <placeholder1>place holder 1</placeholder1>\n        <placeholder2>place holder 2</placeholder2>\n      </mdbdebugger>\n      <runprofile version=\"6\">\n        <args></args>\n        <rundir></rundir>\n        <buildfirst>true</buildfirst>\n        <console-type>0</console-type>\n        <terminal-type>0</terminal-type>\n        <remove-instrumentation>0</remove-instrumentation>\n        <environment>\n        </environment>\n      </runprofile>\n    </conf>\n  </confs>\n</configurationDescriptor>\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qk/xc16/nbproject/private/private.properties",
    "content": ""
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qk/xc16/nbproject/private/private.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project-private xmlns=\"http://www.netbeans.org/ns/project-private/1\">\n    <editor-bookmarks xmlns=\"http://www.netbeans.org/ns/editor-bookmarks/1\"/>\n    <editor-bookmarks xmlns=\"http://www.netbeans.org/ns/editor-bookmarks/2\" lastBookmarkId=\"0\"/>\n    <open-files xmlns=\"http://www.netbeans.org/ns/projectui-open-files/2\">\n        <group/>\n    </open-files>\n</project-private>\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qk/xc16/nbproject/project.properties",
    "content": ""
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qk/xc16/nbproject/project.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://www.netbeans.org/ns/project/1\">\n    <type>com.microchip.mplab.nbide.embedded.makeproject</type>\n    <configuration>\n        <data xmlns=\"http://www.netbeans.org/ns/make-project/1\">\n            <name>blinky-microstick2-pic24-qkn</name>\n            <creation-uuid>ee2d0599-d83a-4c0e-b85a-bafd0cebc5f8</creation-uuid>\n            <make-project-type>0</make-project-type>\n            <c-extensions>c</c-extensions>\n            <cpp-extensions/>\n            <header-extensions>h</header-extensions>\n            <sourceEncoding>ISO-8859-1</sourceEncoding>\n            <asminc-extensions/>\n            <make-dep-projects/>\n            <sourceRootList>\n                <sourceRootElem>../..</sourceRootElem>\n                <sourceRootElem>../../../../../include</sourceRootElem>\n                <sourceRootElem>../../../../../ports/pic24_dspic/qk/xc16</sourceRootElem>\n                <sourceRootElem>../../../../../src/qfn</sourceRootElem>\n                <sourceRootElem>../../../../../src/qkn</sourceRootElem>\n            </sourceRootList>\n            <confList>\n                <confElem>\n                    <name>default</name>\n                    <type>2</type>\n                </confElem>\n                <confElem>\n                    <name>release</name>\n                    <type>2</type>\n                </confElem>\n            </confList>\n            <formatting>\n                <project-formatting-style>false</project-formatting-style>\n            </formatting>\n        </data>\n    </configuration>\n</project>\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qpn_conf.h",
    "content": "/*****************************************************************************\n* Product: QP-nano configuration for the PELICAN example\n* Last updated for version 6.5.1\n* Last updated on  2019-06-10\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef QPN_CONF_H\n#define QPN_CONF_H\n\n#define Q_PARAM_SIZE            2U\n#define QF_MAX_TICK_RATE        1U\n#define QF_TIMEEVT_CTR_SIZE     2U\n#define QF_TIMEEVT_PERIODIC\n\n#endif  /* QPN_CONF_H */\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qv/xc16/Makefile",
    "content": "#\n#  There exist several targets which are by default empty and which can be\n#  used for execution of your targets. These targets are usually executed\n#  before and after some main targets. They are:\n#\n#     .build-pre:              called before 'build' target\n#     .build-post:             called after 'build' target\n#     .clean-pre:              called before 'clean' target\n#     .clean-post:             called after 'clean' target\n#     .clobber-pre:            called before 'clobber' target\n#     .clobber-post:           called after 'clobber' target\n#     .all-pre:                called before 'all' target\n#     .all-post:               called after 'all' target\n#     .help-pre:               called before 'help' target\n#     .help-post:              called after 'help' target\n#\n#  Targets beginning with '.' are not intended to be called on their own.\n#\n#  Main targets can be executed directly, and they are:\n#\n#     build                    build a specific configuration\n#     clean                    remove built files from a configuration\n#     clobber                  remove all built files\n#     all                      build all configurations\n#     help                     print help mesage\n#\n#  Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and\n#  .help-impl are implemented in nbproject/makefile-impl.mk.\n#\n#  Available make variables:\n#\n#     CND_BASEDIR                base directory for relative paths\n#     CND_DISTDIR                default top distribution directory (build artifacts)\n#     CND_BUILDDIR               default top build directory (object files, ...)\n#     CONF                       name of current configuration\n#     CND_ARTIFACT_DIR_${CONF}   directory of build artifact (current configuration)\n#     CND_ARTIFACT_NAME_${CONF}  name of build artifact (current configuration)\n#     CND_ARTIFACT_PATH_${CONF}  path to build artifact (current configuration)\n#     CND_PACKAGE_DIR_${CONF}    directory of package (current configuration)\n#     CND_PACKAGE_NAME_${CONF}   name of package (current configuration)\n#     CND_PACKAGE_PATH_${CONF}   path to package (current configuration)\n#\n# NOCDDL\n\n\n# Environment\nMKDIR=mkdir\nCP=cp\nCCADMIN=CCadmin\nRANLIB=ranlib\n\n\n# build\nbuild: .build-post\n\n.build-pre:\n# Add your pre 'build' code here...\n\n.build-post: .build-impl\n# Add your post 'build' code here...\n\n\n# clean\nclean: .clean-post\n\n.clean-pre:\n# Add your pre 'clean' code here...\n\n.clean-post: .clean-impl\n# Add your post 'clean' code here...\n\n\n# clobber\nclobber: .clobber-post\n\n.clobber-pre:\n# Add your pre 'clobber' code here...\n\n.clobber-post: .clobber-impl\n# Add your post 'clobber' code here...\n\n\n# all\nall: .all-post\n\n.all-pre:\n# Add your pre 'all' code here...\n\n.all-post: .all-impl\n# Add your post 'all' code here...\n\n\n# help\nhelp: .help-post\n\n.help-pre:\n# Add your pre 'help' code here...\n\n.help-post: .help-impl\n# Add your post 'help' code here...\n\n\n\n# include project implementation makefile\ninclude nbproject/Makefile-impl.mk\n\n# include project make variables\ninclude nbproject/Makefile-variables.mk\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qv/xc16/bsp.c",
    "content": "/*****************************************************************************\n* BSP for Blinky example, Microstick II board, cooperative QV-nano kernel\n* Last updated for version 6.5.1\n* Last updated on  2019-06-10\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"bsp.h\"\n#include \"blinky.h\"\n\n#include \"p24FJ64GB002.h\"  /* header for PIC24F device in use */\n\nQ_DEFINE_THIS_FILE\n\n/* configure Fast RC Oscillator (FRC) */\n#pragma config FNOSC=FRC\n\n/* Local-scope objects -----------------------------------------------------*/\n\n/* frequency of the FRC oscillator ~ 8 MHz */\n#define FOSC_HZ                 8000000.0\n/* instruction cycle clock frequency */\n#define FCY_HZ                  (FOSC_HZ / 2.0)\n/* system clock tick period in CPU clocks / TMR2 prescaler */\n#define BSP_TMR2_PERIOD         ((uint16_t)(FCY_HZ / BSP_TICKS_PER_SEC))\n\n/* controlling the LED of Microstick II */\n#define LED_ON()                (LATA |= (1U << 0))\n#define LED_OFF()               (LATA &= ~(1U << 0))\n#define LED_TOGGLE()            (LATA ^= (1U << 0))\n\n\n/* ISRs --------------------------------------------------------------------*/\nvoid  __attribute__((__interrupt__, auto_psv))\n_T2Interrupt(void) {\n    _T2IF = 0; /* clear Timer 2 interrupt flag */\n\n    QF_tickXISR(0U);   /* process time events for rate 0 */\n\n}\n/*..........................................................................*/\nvoid  __attribute__((__interrupt__, auto_psv))\n_INT0Interrupt() {\n    _INT0IF = 0;\n\n    QACTIVE_POST_ISR((QActive *)&AO_Blinky, TIMEOUT_SIG, 0U);\n}\n\n/*--------------------------------------------------------------------------*/\nvoid BSP_init(void) {\n    RCONbits.SWDTEN = 0; /* disable Watchdog */\n\n    TRISA = 0x00; /* set LED pins as outputs */\n    PORTA = 0x00; /* set LED drive state low */\n\n}\n/*..........................................................................*/\nvoid BSP_terminate(int16_t result) {\n    (void)result;\n}\n/*..........................................................................*/\nvoid BSP_ledOff(void) {\n    LED_OFF();\n}\n/*..........................................................................*/\nvoid BSP_ledOn(void) {\n    LED_ON();\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const file, int line) {\n    (void)file;       /* unused parameter */\n    (void)line;       /* unused parameter */\n    QF_INT_DISABLE(); /* make sure that interrupts are disabled */\n    for (;;) {\n    }\n}\n\n/*..........................................................................*/\nvoid QF_onStartup(void) { /* entered with interrupts locked */\n    T2CON = 0x0000U; /* Use Internal Osc (Fcy), 16 bit mode, prescaler = 1 */\n    TMR2  = 0x0000U; /* Start counting from 0 and clear the prescaler count */\n    PR2   = (uint16_t)(BSP_TMR2_PERIOD - 1U); /* Timer2 period */\n    _T2IF = 0;               /* clear the interrupt for Timer 2 */\n    _T2IE = 1;               /* enable interrupt for Timer 2 */\n    T2CONbits.TON = 1;       /* start Timer 2 */\n\n    INTCON2bits.INT0EP = 0;  /* INT0 interrupt on positive edge */\n    _INT0IF = 0;             /* clear the interrupt for INT0 */\n    _INT0IE = 1;             /* enable INT0 interrupt */\n\n    /* explicitly assign priorities to all interrutps... */\n    _T2IP   = 4; /* Timer 2 interrupt priority (kernel aware) */\n    _INT0IP = 6; /* INT0 interrupt priority (kernel aware) */\n}\n/*..........................................................................*/\nvoid QF_onCleanup(void) {\n}\n/*..........................................................................*/\nvoid QF_stop(void) {\n}\n/*..........................................................................*/\nvoid QV_onIdle(void) { /* entered with interrupts DISABLED, see NOTE01 */\n\n    /* NOTE: not enough LEDs on the Microstick II board to implement\n    *  the idle loop activity indicator ...\n    */\n    //LED_ON (); /* blink the IDLE LED, see NOTE01 */\n    //LED_OFF();\n\n#ifdef NDEBUG\n    __asm__ volatile(\"disi #0x0001\");\n    Idle(); /* transition to Idle mode, see NOTE02 */\n#else\n    QF_INT_ENABLE(); /* enable interrupts, see NOTE01 */\n#endif\n}\n\n/*****************************************************************************\n* NOTE01:\n* The callback function QV_onIdle() is called with interrupts disabled,\n* because the idle condition can be invalidated by any enabled interrupt\n* that would post events. The QV_onIdle() function *must* re-enable\n* interrupts internally\n*\n* NOTE02:\n* To be on the safe side, the DISICNT counter is set to just 1 cycle just\n* before entering the Idle mode (or Sleep mode, if you choose). This way,\n* interrupts (with priorities 1-6) get enabled at the same time as the\n* transition to the low-power mode.\n*/\n\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qv/xc16/nbproject/Makefile-default.mk",
    "content": "#\n# Generated Makefile - do not edit!\n#\n# Edit the Makefile in the project folder instead (../Makefile). Each target\n# has a -pre and a -post target defined where you can add customized code.\n#\n# This makefile implements configuration specific macros and targets.\n\n\n# Include project Makefile\nifeq \"${IGNORE_LOCAL}\" \"TRUE\"\n# do not include local makefile. User is passing all local related variables already\nelse\ninclude Makefile\n# Include makefile containing local settings\nifeq \"$(wildcard nbproject/Makefile-local-default.mk)\" \"nbproject/Makefile-local-default.mk\"\ninclude nbproject/Makefile-local-default.mk\nendif\nendif\n\n# Environment\nMKDIR=gnumkdir -p\nRM=rm -f \nMV=mv \nCP=cp \n\n# Macros\nCND_CONF=default\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nIMAGE_TYPE=debug\nOUTPUT_SUFFIX=elf\nDEBUGGABLE_SUFFIX=elf\nFINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nelse\nIMAGE_TYPE=production\nOUTPUT_SUFFIX=hex\nDEBUGGABLE_SUFFIX=elf\nFINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nendif\n\nifeq ($(COMPARE_BUILD), true)\nCOMPARISON_BUILD=-mafrlcsj\nelse\nCOMPARISON_BUILD=\nendif\n\nifdef SUB_IMAGE_ADDRESS\nSUB_IMAGE_ADDRESS_COMMAND=--image-address $(SUB_IMAGE_ADDRESS)\nelse\nSUB_IMAGE_ADDRESS_COMMAND=\nendif\n\n# Object Directory\nOBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE}\n\n# Distribution Directory\nDISTDIR=dist/${CND_CONF}/${IMAGE_TYPE}\n\n# Source Files Quoted if spaced\nSOURCEFILES_QUOTED_IF_SPACED=../../../../../src/qfn/qepn.c ../../../../../src/qfn/qfn.c ../../../../../src/qvn/qvn.c bsp.c ../../../../../include/qstamp.c ../../main.c ../../blinky.c\n\n# Object Files Quoted if spaced\nOBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/_ext/329161665/qepn.o ${OBJECTDIR}/_ext/329161665/qfn.o ${OBJECTDIR}/_ext/329161169/qvn.o ${OBJECTDIR}/bsp.o ${OBJECTDIR}/_ext/726959463/qstamp.o ${OBJECTDIR}/_ext/43898991/main.o ${OBJECTDIR}/_ext/43898991/blinky.o\nPOSSIBLE_DEPFILES=${OBJECTDIR}/_ext/329161665/qepn.o.d ${OBJECTDIR}/_ext/329161665/qfn.o.d ${OBJECTDIR}/_ext/329161169/qvn.o.d ${OBJECTDIR}/bsp.o.d ${OBJECTDIR}/_ext/726959463/qstamp.o.d ${OBJECTDIR}/_ext/43898991/main.o.d ${OBJECTDIR}/_ext/43898991/blinky.o.d\n\n# Object Files\nOBJECTFILES=${OBJECTDIR}/_ext/329161665/qepn.o ${OBJECTDIR}/_ext/329161665/qfn.o ${OBJECTDIR}/_ext/329161169/qvn.o ${OBJECTDIR}/bsp.o ${OBJECTDIR}/_ext/726959463/qstamp.o ${OBJECTDIR}/_ext/43898991/main.o ${OBJECTDIR}/_ext/43898991/blinky.o\n\n# Source Files\nSOURCEFILES=../../../../../src/qfn/qepn.c ../../../../../src/qfn/qfn.c ../../../../../src/qvn/qvn.c bsp.c ../../../../../include/qstamp.c ../../main.c ../../blinky.c\n\n\nCFLAGS=\nASFLAGS=\nLDLIBSOPTIONS=\n\n############# Tool locations ##########################################\n# If you copy a project from one host to another, the path where the  #\n# compiler is installed may be different.                             #\n# If you open this project with MPLAB X in the new host, this         #\n# makefile will be regenerated and the paths will be corrected.       #\n#######################################################################\n# fixDeps replaces a bunch of sed/cat/printf statements that slow down the build\nFIXDEPS=fixDeps\n\n.build-conf:  ${BUILD_SUBPROJECTS}\nifneq ($(INFORMATION_MESSAGE), )\n\t@echo $(INFORMATION_MESSAGE)\nendif\n\t${MAKE}  -f nbproject/Makefile-default.mk dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\n\nMP_PROCESSOR_OPTION=24FJ64GB002\nMP_LINKER_FILE_OPTION=,--script=p24FJ64GB002.gld\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: compile\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\n${OBJECTDIR}/_ext/329161665/qepn.o: ../../../../../src/qfn/qepn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qepn.c  -o ${OBJECTDIR}/_ext/329161665/qepn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qepn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qepn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161665/qfn.o: ../../../../../src/qfn/qfn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qfn.c  -o ${OBJECTDIR}/_ext/329161665/qfn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qfn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qfn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161169/qvn.o: ../../../../../src/qvn/qvn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161169\" \n\t@${RM} ${OBJECTDIR}/_ext/329161169/qvn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161169/qvn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qvn/qvn.c  -o ${OBJECTDIR}/_ext/329161169/qvn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161169/qvn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161169/qvn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/bsp.o: bsp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}\" \n\t@${RM} ${OBJECTDIR}/bsp.o.d \n\t@${RM} ${OBJECTDIR}/bsp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  bsp.c  -o ${OBJECTDIR}/bsp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/bsp.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/bsp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/726959463/qstamp.o: ../../../../../include/qstamp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/726959463\" \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o.d \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../include/qstamp.c  -o ${OBJECTDIR}/_ext/726959463/qstamp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/main.o: ../../main.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../main.c  -o ${OBJECTDIR}/_ext/43898991/main.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/main.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/main.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/blinky.o: ../../blinky.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/blinky.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/blinky.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../blinky.c  -o ${OBJECTDIR}/_ext/43898991/blinky.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/blinky.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/blinky.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\nelse\n${OBJECTDIR}/_ext/329161665/qepn.o: ../../../../../src/qfn/qepn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qepn.c  -o ${OBJECTDIR}/_ext/329161665/qepn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qepn.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qepn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161665/qfn.o: ../../../../../src/qfn/qfn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qfn.c  -o ${OBJECTDIR}/_ext/329161665/qfn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qfn.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qfn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161169/qvn.o: ../../../../../src/qvn/qvn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161169\" \n\t@${RM} ${OBJECTDIR}/_ext/329161169/qvn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161169/qvn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qvn/qvn.c  -o ${OBJECTDIR}/_ext/329161169/qvn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161169/qvn.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161169/qvn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/bsp.o: bsp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}\" \n\t@${RM} ${OBJECTDIR}/bsp.o.d \n\t@${RM} ${OBJECTDIR}/bsp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  bsp.c  -o ${OBJECTDIR}/bsp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/bsp.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/bsp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/726959463/qstamp.o: ../../../../../include/qstamp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/726959463\" \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o.d \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../include/qstamp.c  -o ${OBJECTDIR}/_ext/726959463/qstamp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/main.o: ../../main.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../main.c  -o ${OBJECTDIR}/_ext/43898991/main.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/main.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/main.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/blinky.o: ../../blinky.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/blinky.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/blinky.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../blinky.c  -o ${OBJECTDIR}/_ext/43898991/blinky.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/blinky.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/blinky.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: assemble\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nelse\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: assemblePreproc\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nelse\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: link\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\ndist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES}  nbproject/Makefile-${CND_CONF}.mk    \n\t@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} \n\t${MP_CC} $(MP_EXTRA_LD_PRE)  -o dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}      -mcpu=$(MP_PROCESSOR_OPTION)        -D__DEBUG=__DEBUG -D__MPLAB_DEBUGGER_PK3=1  -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)   -mreserve=data@0x800:0x81F -mreserve=data@0x820:0x821 -mreserve=data@0x822:0x823 -mreserve=data@0x824:0x825 -mreserve=data@0x826:0x84F   -Wl,,,--defsym=__MPLAB_BUILD=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,-D__DEBUG=__DEBUG,--defsym=__MPLAB_DEBUGGER_PK3=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,--report-mem,--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml$(MP_EXTRA_LD_POST) \n\t\nelse\ndist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES}  nbproject/Makefile-${CND_CONF}.mk   \n\t@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} \n\t${MP_CC} $(MP_EXTRA_LD_PRE)  -o dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}      -mcpu=$(MP_PROCESSOR_OPTION)        -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -Wl,,,--defsym=__MPLAB_BUILD=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,--report-mem,--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml$(MP_EXTRA_LD_POST) \n\t${MP_CC_DIR}\\\\xc16-bin2hex dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -a  -omf=elf  \n\t\nendif\n\n\n# Subprojects\n.build-subprojects:\n\n\n# Subprojects\n.clean-subprojects:\n\n# Clean Targets\n.clean-conf: ${CLEAN_SUBPROJECTS}\n\t${RM} -r build/default\n\t${RM} -r dist/default\n\n# Enable dependency checking\n.dep.inc: .depcheck-impl\n\nDEPFILES=$(shell mplabwildcard ${POSSIBLE_DEPFILES})\nifneq (${DEPFILES},)\ninclude ${DEPFILES}\nendif\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qv/xc16/nbproject/Makefile-genesis.properties",
    "content": "#\n#Tue Jun 11 15:32:42 EDT 2019\ndefault.languagetoolchain.version=1.36\nrelease.languagetoolchain.dir=C\\:\\\\tools\\\\Microchip\\\\xc16\\\\bin\ndefault.com-microchip-mplab-nbide-toolchainXC16-XC16LanguageToolchain.md5=a53e8c22b31e6f5bcc1968d7c72d01dd\nconf.ids=default,release\ndefault.languagetoolchain.dir=C\\:\\\\tools\\\\Microchip\\\\xc16\\\\bin\nconfigurations-xml=49b35d6d1545e095d0a0b6a16391d697\ncom-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=37eccb08230908d044ad3fe14e24ea9a\nrelease.com-microchip-mplab-nbide-toolchainXC16-XC16LanguageToolchain.md5=a53e8c22b31e6f5bcc1968d7c72d01dd\nrelease.languagetoolchain.version=1.36\nhost.platform=windows\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qv/xc16/nbproject/Makefile-impl.mk",
    "content": "#\n# Generated Makefile - do not edit!\n#\n# Edit the Makefile in the project folder instead (../Makefile). Each target\n# has a pre- and a post- target defined where you can add customization code.\n#\n# This makefile implements macros and targets common to all configurations.\n#\n# NOCDDL\n\n\n# Building and Cleaning subprojects are done by default, but can be controlled with the SUB\n# macro. If SUB=no, subprojects will not be built or cleaned. The following macro\n# statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf\n# and .clean-reqprojects-conf unless SUB has the value 'no'\nSUB_no=NO\nSUBPROJECTS=${SUB_${SUB}}\nBUILD_SUBPROJECTS_=.build-subprojects\nBUILD_SUBPROJECTS_NO=\nBUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}}\nCLEAN_SUBPROJECTS_=.clean-subprojects\nCLEAN_SUBPROJECTS_NO=\nCLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}}\n\n\n# Project Name\nPROJECTNAME=xc16\n\n# Active Configuration\nDEFAULTCONF=default\nCONF=${DEFAULTCONF}\n\n# All Configurations\nALLCONFS=default release \n\n\n# build\n.build-impl: .build-pre\n\t${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-conf\n\n\n# clean\n.clean-impl: .clean-pre\n\t${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .clean-conf\n\n# clobber\n.clobber-impl: .clobber-pre .depcheck-impl\n\t    ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default clean\n\t    ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=release clean\n\n\n\n# all\n.all-impl: .all-pre .depcheck-impl\n\t    ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default build\n\t    ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=release build\n\n\n\n# dependency checking support\n.depcheck-impl:\n#\t@echo \"# This code depends on make tool being used\" >.dep.inc\n#\t@if [ -n \"${MAKE_VERSION}\" ]; then \\\n#\t    echo \"DEPFILES=\\$$(wildcard \\$$(addsuffix .d, \\$${OBJECTFILES}))\" >>.dep.inc; \\\n#\t    echo \"ifneq (\\$${DEPFILES},)\" >>.dep.inc; \\\n#\t    echo \"include \\$${DEPFILES}\" >>.dep.inc; \\\n#\t    echo \"endif\" >>.dep.inc; \\\n#\telse \\\n#\t    echo \".KEEP_STATE:\" >>.dep.inc; \\\n#\t    echo \".KEEP_STATE_FILE:.make.state.\\$${CONF}\" >>.dep.inc; \\\n#\tfi\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qv/xc16/nbproject/Makefile-local-default.mk",
    "content": "#\n# Generated Makefile - do not edit!\n#\n#\n# This file contains information about the location of compilers and other tools.\n# If you commmit this file into your revision control server, you will be able to \n# to checkout the project and build it from the command line with make. However,\n# if more than one person works on the same project, then this file might show\n# conflicts since different users are bound to have compilers in different places.\n# In that case you might choose to not commit this file and let MPLAB X recreate this file\n# for each user. The disadvantage of not commiting this file is that you must run MPLAB X at\n# least once so the file gets created and the project can be built. Finally, you can also\n# avoid using this file at all if you are only building from the command line with make.\n# You can invoke make with the values of the macros:\n# $ makeMP_CC=\"/opt/microchip/mplabc30/v3.30c/bin/pic30-gcc\" ...  \n#\nSHELL=cmd.exe\nPATH_TO_IDE_BIN=C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/\n# Adding MPLAB X bin directory to path.\nPATH:=C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/:$(PATH)\n# Path to java used to run MPLAB X when this makefile was created\nMP_JAVA_PATH=\"C:\\tools\\Microchip\\MPLABX\\sys\\java\\jre1.8.0_181/bin/\"\nOS_CURRENT=\"$(shell uname -s)\"\nMP_CC=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-gcc.exe\"\n# MP_CPPC is not defined\n# MP_BC is not defined\nMP_AS=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-as.exe\"\nMP_LD=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-ld.exe\"\nMP_AR=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-ar.exe\"\nDEP_GEN=${MP_JAVA_PATH}java -jar \"C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/extractobjectdependencies.jar\"\nMP_CC_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\n# MP_CPPC_DIR is not defined\n# MP_BC_DIR is not defined\nMP_AS_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\nMP_LD_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\nMP_AR_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\n# MP_BC_DIR is not defined\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qv/xc16/nbproject/Makefile-local-release.mk",
    "content": "#\n# Generated Makefile - do not edit!\n#\n#\n# This file contains information about the location of compilers and other tools.\n# If you commmit this file into your revision control server, you will be able to \n# to checkout the project and build it from the command line with make. However,\n# if more than one person works on the same project, then this file might show\n# conflicts since different users are bound to have compilers in different places.\n# In that case you might choose to not commit this file and let MPLAB X recreate this file\n# for each user. The disadvantage of not commiting this file is that you must run MPLAB X at\n# least once so the file gets created and the project can be built. Finally, you can also\n# avoid using this file at all if you are only building from the command line with make.\n# You can invoke make with the values of the macros:\n# $ makeMP_CC=\"/opt/microchip/mplabc30/v3.30c/bin/pic30-gcc\" ...  \n#\nSHELL=cmd.exe\nPATH_TO_IDE_BIN=C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/\n# Adding MPLAB X bin directory to path.\nPATH:=C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/:$(PATH)\n# Path to java used to run MPLAB X when this makefile was created\nMP_JAVA_PATH=\"C:\\tools\\Microchip\\MPLABX\\sys\\java\\jre1.8.0_181/bin/\"\nOS_CURRENT=\"$(shell uname -s)\"\nMP_CC=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-gcc.exe\"\n# MP_CPPC is not defined\n# MP_BC is not defined\nMP_AS=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-as.exe\"\nMP_LD=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-ld.exe\"\nMP_AR=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-ar.exe\"\nDEP_GEN=${MP_JAVA_PATH}java -jar \"C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/extractobjectdependencies.jar\"\nMP_CC_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\n# MP_CPPC_DIR is not defined\n# MP_BC_DIR is not defined\nMP_AS_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\nMP_LD_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\nMP_AR_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\n# MP_BC_DIR is not defined\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qv/xc16/nbproject/Makefile-release.mk",
    "content": "#\n# Generated Makefile - do not edit!\n#\n# Edit the Makefile in the project folder instead (../Makefile). Each target\n# has a -pre and a -post target defined where you can add customized code.\n#\n# This makefile implements configuration specific macros and targets.\n\n\n# Include project Makefile\nifeq \"${IGNORE_LOCAL}\" \"TRUE\"\n# do not include local makefile. User is passing all local related variables already\nelse\ninclude Makefile\n# Include makefile containing local settings\nifeq \"$(wildcard nbproject/Makefile-local-release.mk)\" \"nbproject/Makefile-local-release.mk\"\ninclude nbproject/Makefile-local-release.mk\nendif\nendif\n\n# Environment\nMKDIR=gnumkdir -p\nRM=rm -f \nMV=mv \nCP=cp \n\n# Macros\nCND_CONF=release\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nIMAGE_TYPE=debug\nOUTPUT_SUFFIX=elf\nDEBUGGABLE_SUFFIX=elf\nFINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nelse\nIMAGE_TYPE=production\nOUTPUT_SUFFIX=hex\nDEBUGGABLE_SUFFIX=elf\nFINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nendif\n\nifeq ($(COMPARE_BUILD), true)\nCOMPARISON_BUILD=-mafrlcsj\nelse\nCOMPARISON_BUILD=\nendif\n\nifdef SUB_IMAGE_ADDRESS\nSUB_IMAGE_ADDRESS_COMMAND=--image-address $(SUB_IMAGE_ADDRESS)\nelse\nSUB_IMAGE_ADDRESS_COMMAND=\nendif\n\n# Object Directory\nOBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE}\n\n# Distribution Directory\nDISTDIR=dist/${CND_CONF}/${IMAGE_TYPE}\n\n# Source Files Quoted if spaced\nSOURCEFILES_QUOTED_IF_SPACED=../../../../../src/qfn/qepn.c ../../../../../src/qfn/qfn.c ../../../../../src/qvn/qvn.c bsp.c ../../../../../include/qstamp.c ../../main.c ../../blinky.c\n\n# Object Files Quoted if spaced\nOBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/_ext/329161665/qepn.o ${OBJECTDIR}/_ext/329161665/qfn.o ${OBJECTDIR}/_ext/329161169/qvn.o ${OBJECTDIR}/bsp.o ${OBJECTDIR}/_ext/726959463/qstamp.o ${OBJECTDIR}/_ext/43898991/main.o ${OBJECTDIR}/_ext/43898991/blinky.o\nPOSSIBLE_DEPFILES=${OBJECTDIR}/_ext/329161665/qepn.o.d ${OBJECTDIR}/_ext/329161665/qfn.o.d ${OBJECTDIR}/_ext/329161169/qvn.o.d ${OBJECTDIR}/bsp.o.d ${OBJECTDIR}/_ext/726959463/qstamp.o.d ${OBJECTDIR}/_ext/43898991/main.o.d ${OBJECTDIR}/_ext/43898991/blinky.o.d\n\n# Object Files\nOBJECTFILES=${OBJECTDIR}/_ext/329161665/qepn.o ${OBJECTDIR}/_ext/329161665/qfn.o ${OBJECTDIR}/_ext/329161169/qvn.o ${OBJECTDIR}/bsp.o ${OBJECTDIR}/_ext/726959463/qstamp.o ${OBJECTDIR}/_ext/43898991/main.o ${OBJECTDIR}/_ext/43898991/blinky.o\n\n# Source Files\nSOURCEFILES=../../../../../src/qfn/qepn.c ../../../../../src/qfn/qfn.c ../../../../../src/qvn/qvn.c bsp.c ../../../../../include/qstamp.c ../../main.c ../../blinky.c\n\n\nCFLAGS=\nASFLAGS=\nLDLIBSOPTIONS=\n\n############# Tool locations ##########################################\n# If you copy a project from one host to another, the path where the  #\n# compiler is installed may be different.                             #\n# If you open this project with MPLAB X in the new host, this         #\n# makefile will be regenerated and the paths will be corrected.       #\n#######################################################################\n# fixDeps replaces a bunch of sed/cat/printf statements that slow down the build\nFIXDEPS=fixDeps\n\n.build-conf:  ${BUILD_SUBPROJECTS}\nifneq ($(INFORMATION_MESSAGE), )\n\t@echo $(INFORMATION_MESSAGE)\nendif\n\t${MAKE}  -f nbproject/Makefile-release.mk dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\n\nMP_PROCESSOR_OPTION=24FJ64GB002\nMP_LINKER_FILE_OPTION=,--script=p24FJ64GB002.gld\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: compile\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\n${OBJECTDIR}/_ext/329161665/qepn.o: ../../../../../src/qfn/qepn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qepn.c  -o ${OBJECTDIR}/_ext/329161665/qepn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qepn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qepn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161665/qfn.o: ../../../../../src/qfn/qfn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qfn.c  -o ${OBJECTDIR}/_ext/329161665/qfn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qfn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qfn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161169/qvn.o: ../../../../../src/qvn/qvn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161169\" \n\t@${RM} ${OBJECTDIR}/_ext/329161169/qvn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161169/qvn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qvn/qvn.c  -o ${OBJECTDIR}/_ext/329161169/qvn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161169/qvn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161169/qvn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/bsp.o: bsp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}\" \n\t@${RM} ${OBJECTDIR}/bsp.o.d \n\t@${RM} ${OBJECTDIR}/bsp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  bsp.c  -o ${OBJECTDIR}/bsp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/bsp.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/bsp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/726959463/qstamp.o: ../../../../../include/qstamp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/726959463\" \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o.d \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../include/qstamp.c  -o ${OBJECTDIR}/_ext/726959463/qstamp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/main.o: ../../main.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../main.c  -o ${OBJECTDIR}/_ext/43898991/main.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/main.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/main.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/blinky.o: ../../blinky.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/blinky.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/blinky.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../blinky.c  -o ${OBJECTDIR}/_ext/43898991/blinky.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/blinky.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/blinky.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\nelse\n${OBJECTDIR}/_ext/329161665/qepn.o: ../../../../../src/qfn/qepn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qepn.c  -o ${OBJECTDIR}/_ext/329161665/qepn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qepn.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qepn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161665/qfn.o: ../../../../../src/qfn/qfn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qfn.c  -o ${OBJECTDIR}/_ext/329161665/qfn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qfn.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qfn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161169/qvn.o: ../../../../../src/qvn/qvn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161169\" \n\t@${RM} ${OBJECTDIR}/_ext/329161169/qvn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161169/qvn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qvn/qvn.c  -o ${OBJECTDIR}/_ext/329161169/qvn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161169/qvn.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161169/qvn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/bsp.o: bsp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}\" \n\t@${RM} ${OBJECTDIR}/bsp.o.d \n\t@${RM} ${OBJECTDIR}/bsp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  bsp.c  -o ${OBJECTDIR}/bsp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/bsp.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/bsp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/726959463/qstamp.o: ../../../../../include/qstamp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/726959463\" \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o.d \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../include/qstamp.c  -o ${OBJECTDIR}/_ext/726959463/qstamp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/main.o: ../../main.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../main.c  -o ${OBJECTDIR}/_ext/43898991/main.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/main.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/main.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/blinky.o: ../../blinky.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/blinky.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/blinky.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../blinky.c  -o ${OBJECTDIR}/_ext/43898991/blinky.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/blinky.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/blinky.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: assemble\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nelse\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: assemblePreproc\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nelse\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: link\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\ndist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES}  nbproject/Makefile-${CND_CONF}.mk    \n\t@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} \n\t${MP_CC} $(MP_EXTRA_LD_PRE)  -o dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}      -mcpu=$(MP_PROCESSOR_OPTION)        -D__DEBUG=__DEBUG -D__MPLAB_DEBUGGER_PK3=1  -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)   -mreserve=data@0x800:0x81F -mreserve=data@0x820:0x821 -mreserve=data@0x822:0x823 -mreserve=data@0x824:0x825 -mreserve=data@0x826:0x84F   -Wl,,,--defsym=__MPLAB_BUILD=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,-D__DEBUG=__DEBUG,--defsym=__MPLAB_DEBUGGER_PK3=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,--report-mem,--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml$(MP_EXTRA_LD_POST) \n\t\nelse\ndist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES}  nbproject/Makefile-${CND_CONF}.mk   \n\t@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} \n\t${MP_CC} $(MP_EXTRA_LD_PRE)  -o dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}      -mcpu=$(MP_PROCESSOR_OPTION)        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Wl,,,--defsym=__MPLAB_BUILD=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,--report-mem,--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml$(MP_EXTRA_LD_POST) \n\t${MP_CC_DIR}\\\\xc16-bin2hex dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -a  -omf=elf  \n\t\nendif\n\n\n# Subprojects\n.build-subprojects:\n\n\n# Subprojects\n.clean-subprojects:\n\n# Clean Targets\n.clean-conf: ${CLEAN_SUBPROJECTS}\n\t${RM} -r build/release\n\t${RM} -r dist/release\n\n# Enable dependency checking\n.dep.inc: .depcheck-impl\n\nDEPFILES=$(shell mplabwildcard ${POSSIBLE_DEPFILES})\nifneq (${DEPFILES},)\ninclude ${DEPFILES}\nendif\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qv/xc16/nbproject/Makefile-variables.mk",
    "content": "#\n# Generated - do not edit!\n#\n# NOCDDL\n#\nCND_BASEDIR=`pwd`\n# default configuration\nCND_ARTIFACT_DIR_default=dist/default/production\nCND_ARTIFACT_NAME_default=xc16.production.hex\nCND_ARTIFACT_PATH_default=dist/default/production/xc16.production.hex\nCND_PACKAGE_DIR_default=${CND_DISTDIR}/default/package\nCND_PACKAGE_NAME_default=xc16.tar\nCND_PACKAGE_PATH_default=${CND_DISTDIR}/default/package/xc16.tar\n# release configuration\nCND_ARTIFACT_DIR_release=dist/release/production\nCND_ARTIFACT_NAME_release=xc16.production.hex\nCND_ARTIFACT_PATH_release=dist/release/production/xc16.production.hex\nCND_PACKAGE_DIR_release=${CND_DISTDIR}/release/package\nCND_PACKAGE_NAME_release=xc16.tar\nCND_PACKAGE_PATH_release=${CND_DISTDIR}/release/package/xc16.tar\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qv/xc16/nbproject/Package-default.bash",
    "content": "#!/bin/bash -x\n\n#\n# Generated - do not edit!\n#\n\n# Macros\nTOP=`pwd`\nCND_CONF=default\nCND_DISTDIR=dist\nTMPDIR=build/${CND_CONF}/${IMAGE_TYPE}/tmp-packaging\nTMPDIRNAME=tmp-packaging\nOUTPUT_PATH=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nOUTPUT_BASENAME=xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nPACKAGE_TOP_DIR=xc16/\n\n# Functions\nfunction checkReturnCode\n{\n    rc=$?\n    if [ $rc != 0 ]\n    then\n        exit $rc\n    fi\n}\nfunction makeDirectory\n# $1 directory path\n# $2 permission (optional)\n{\n    mkdir -p \"$1\"\n    checkReturnCode\n    if [ \"$2\" != \"\" ]\n    then\n      chmod $2 \"$1\"\n      checkReturnCode\n    fi\n}\nfunction copyFileToTmpDir\n# $1 from-file path\n# $2 to-file path\n# $3 permission\n{\n    cp \"$1\" \"$2\"\n    checkReturnCode\n    if [ \"$3\" != \"\" ]\n    then\n        chmod $3 \"$2\"\n        checkReturnCode\n    fi\n}\n\n# Setup\ncd \"${TOP}\"\nmkdir -p ${CND_DISTDIR}/${CND_CONF}/package\nrm -rf ${TMPDIR}\nmkdir -p ${TMPDIR}\n\n# Copy files and create directories and links\ncd \"${TOP}\"\nmakeDirectory ${TMPDIR}/xc16/bin\ncopyFileToTmpDir \"${OUTPUT_PATH}\" \"${TMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}\" 0755\n\n\n# Generate tar file\ncd \"${TOP}\"\nrm -f ${CND_DISTDIR}/${CND_CONF}/package/xc16.tar\ncd ${TMPDIR}\ntar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/package/xc16.tar *\ncheckReturnCode\n\n# Cleanup\ncd \"${TOP}\"\nrm -rf ${TMPDIR}\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qv/xc16/nbproject/Package-release.bash",
    "content": "#!/bin/bash -x\n\n#\n# Generated - do not edit!\n#\n\n# Macros\nTOP=`pwd`\nCND_CONF=release\nCND_DISTDIR=dist\nTMPDIR=build/${CND_CONF}/${IMAGE_TYPE}/tmp-packaging\nTMPDIRNAME=tmp-packaging\nOUTPUT_PATH=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nOUTPUT_BASENAME=xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nPACKAGE_TOP_DIR=xc16/\n\n# Functions\nfunction checkReturnCode\n{\n    rc=$?\n    if [ $rc != 0 ]\n    then\n        exit $rc\n    fi\n}\nfunction makeDirectory\n# $1 directory path\n# $2 permission (optional)\n{\n    mkdir -p \"$1\"\n    checkReturnCode\n    if [ \"$2\" != \"\" ]\n    then\n      chmod $2 \"$1\"\n      checkReturnCode\n    fi\n}\nfunction copyFileToTmpDir\n# $1 from-file path\n# $2 to-file path\n# $3 permission\n{\n    cp \"$1\" \"$2\"\n    checkReturnCode\n    if [ \"$3\" != \"\" ]\n    then\n        chmod $3 \"$2\"\n        checkReturnCode\n    fi\n}\n\n# Setup\ncd \"${TOP}\"\nmkdir -p ${CND_DISTDIR}/${CND_CONF}/package\nrm -rf ${TMPDIR}\nmkdir -p ${TMPDIR}\n\n# Copy files and create directories and links\ncd \"${TOP}\"\nmakeDirectory ${TMPDIR}/xc16/bin\ncopyFileToTmpDir \"${OUTPUT_PATH}\" \"${TMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}\" 0755\n\n\n# Generate tar file\ncd \"${TOP}\"\nrm -f ${CND_DISTDIR}/${CND_CONF}/package/xc16.tar\ncd ${TMPDIR}\ntar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/package/xc16.tar *\ncheckReturnCode\n\n# Cleanup\ncd \"${TOP}\"\nrm -rf ${TMPDIR}\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qv/xc16/nbproject/configurations.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<configurationDescriptor version=\"65\">\n  <logicalFolder name=\"root\" displayName=\"root\" projectFiles=\"true\">\n    <logicalFolder name=\"HeaderFiles\"\n                   displayName=\"Header Files\"\n                   projectFiles=\"true\">\n    </logicalFolder>\n    <logicalFolder name=\"LinkerScript\"\n                   displayName=\"Linker Files\"\n                   projectFiles=\"true\">\n    </logicalFolder>\n    <logicalFolder name=\"f1\" displayName=\"QP-nano\" projectFiles=\"true\">\n      <itemPath>../../../../../src/qfn/qepn.c</itemPath>\n      <itemPath>../../../../../src/qfn/qfn.c</itemPath>\n      <itemPath>../../../../../src/qvn/qvn.c</itemPath>\n    </logicalFolder>\n    <logicalFolder name=\"SourceFiles\"\n                   displayName=\"Source Files\"\n                   projectFiles=\"true\">\n      <itemPath>bsp.c</itemPath>\n      <itemPath>../../../../../include/qstamp.c</itemPath>\n      <itemPath>../../bsp.h</itemPath>\n      <itemPath>../../main.c</itemPath>\n      <itemPath>../../qpn_conf.h</itemPath>\n      <itemPath>../../blinky.c</itemPath>\n      <itemPath>../../blinky.h</itemPath>\n    </logicalFolder>\n    <logicalFolder name=\"ExternalFiles\"\n                   displayName=\"Important Files\"\n                   projectFiles=\"false\">\n      <itemPath>Makefile</itemPath>\n    </logicalFolder>\n  </logicalFolder>\n  <sourceRootList>\n    <Elem>../../../../../src/qf</Elem>\n    <Elem>../../../../../src/qk</Elem>\n    <Elem>../../../../../include</Elem>\n    <Elem>../../../../../src/qs</Elem>\n    <Elem>../..</Elem>\n    <Elem>../../../../../src/qv</Elem>\n    <Elem>../../../../../ports/pic24_dspic/qk/xc16</Elem>\n    <Elem>../../../../../src/qfn</Elem>\n    <Elem>../../../../../src/qkn</Elem>\n    <Elem>../../../../../src/qvn</Elem>\n  </sourceRootList>\n  <projectmakefile>Makefile</projectmakefile>\n  <confs>\n    <conf name=\"default\" type=\"2\">\n      <toolsSet>\n        <developmentServer>localhost</developmentServer>\n        <targetDevice>PIC24FJ64GB002</targetDevice>\n        <targetHeader></targetHeader>\n        <targetPluginBoard></targetPluginBoard>\n        <platformTool>PKOBSKDEPlatformTool</platformTool>\n        <languageToolchain>XC16</languageToolchain>\n        <languageToolchainVersion>1.36</languageToolchainVersion>\n        <platform>3</platform>\n      </toolsSet>\n      <packs>\n        <pack name=\"PIC24F-GA-GB_DFP\" vendor=\"Microchip\" version=\"1.0.58\"/>\n      </packs>\n      <compileType>\n        <linkerTool>\n          <linkerLibItems>\n          </linkerLibItems>\n        </linkerTool>\n        <archiverTool>\n        </archiverTool>\n        <loading>\n          <useAlternateLoadableFile>false</useAlternateLoadableFile>\n          <parseOnProdLoad>false</parseOnProdLoad>\n          <alternateLoadableFile></alternateLoadableFile>\n        </loading>\n        <subordinates>\n        </subordinates>\n      </compileType>\n      <makeCustomizationType>\n        <makeCustomizationPreStepEnabled>false</makeCustomizationPreStepEnabled>\n        <makeCustomizationPreStep></makeCustomizationPreStep>\n        <makeCustomizationPostStepEnabled>false</makeCustomizationPostStepEnabled>\n        <makeCustomizationPostStep></makeCustomizationPostStep>\n        <makeCustomizationPutChecksumInUserID>false</makeCustomizationPutChecksumInUserID>\n        <makeCustomizationEnableLongLines>false</makeCustomizationEnableLongLines>\n        <makeCustomizationNormalizeHexFile>false</makeCustomizationNormalizeHexFile>\n      </makeCustomizationType>\n      <C30>\n        <property key=\"code-model\" value=\"default\"/>\n        <property key=\"const-model\" value=\"default\"/>\n        <property key=\"data-model\" value=\"default\"/>\n        <property key=\"disable-instruction-scheduling\" value=\"false\"/>\n        <property key=\"enable-all-warnings\" value=\"true\"/>\n        <property key=\"enable-ansi-std\" value=\"false\"/>\n        <property key=\"enable-ansi-warnings\" value=\"false\"/>\n        <property key=\"enable-fatal-warnings\" value=\"false\"/>\n        <property key=\"enable-large-arrays\" value=\"false\"/>\n        <property key=\"enable-omit-frame-pointer\" value=\"false\"/>\n        <property key=\"enable-procedural-abstraction\" value=\"false\"/>\n        <property key=\"enable-short-double\" value=\"false\"/>\n        <property key=\"enable-symbols\" value=\"true\"/>\n        <property key=\"enable-unroll-loops\" value=\"false\"/>\n        <property key=\"extra-include-directories\"\n                  value=\"..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\src;..\\..\\..\\..\\..\\ports\\pic24_dspic\\qv\\xc16\"/>\n        <property key=\"isolate-each-function\" value=\"false\"/>\n        <property key=\"keep-inline\" value=\"false\"/>\n        <property key=\"oXC16gcc-align-arr\" value=\"false\"/>\n        <property key=\"oXC16gcc-cnsts-mauxflash\" value=\"false\"/>\n        <property key=\"oXC16gcc-data-sects\" value=\"false\"/>\n        <property key=\"oXC16gcc-errata\" value=\"\"/>\n        <property key=\"oXC16gcc-fillupper\" value=\"\"/>\n        <property key=\"oXC16gcc-large-aggregate\" value=\"false\"/>\n        <property key=\"oXC16gcc-mauxflash\" value=\"false\"/>\n        <property key=\"oXC16gcc-mpa-lvl\" value=\"\"/>\n        <property key=\"oXC16gcc-name-text-sec\" value=\"\"/>\n        <property key=\"oXC16gcc-near-chars\" value=\"false\"/>\n        <property key=\"oXC16gcc-no-isr-warn\" value=\"false\"/>\n        <property key=\"oXC16gcc-sfr-warn\" value=\"false\"/>\n        <property key=\"oXC16gcc-smar-io-lvl\" value=\"1\"/>\n        <property key=\"oXC16gcc-smart-io-fmt\" value=\"\"/>\n        <property key=\"optimization-level\" value=\"0\"/>\n        <property key=\"post-instruction-scheduling\" value=\"default\"/>\n        <property key=\"pre-instruction-scheduling\" value=\"default\"/>\n        <property key=\"preprocessor-macros\" value=\"\"/>\n        <property key=\"scalar-model\" value=\"default\"/>\n        <property key=\"use-cci\" value=\"false\"/>\n        <property key=\"use-iar\" value=\"false\"/>\n      </C30>\n      <C30-AR>\n        <property key=\"additional-options-chop-files\" value=\"false\"/>\n      </C30-AR>\n      <C30-AS>\n        <property key=\"assembler-symbols\" value=\"\"/>\n        <property key=\"expand-macros\" value=\"false\"/>\n        <property key=\"extra-include-directories-for-assembler\" value=\"\"/>\n        <property key=\"extra-include-directories-for-preprocessor\" value=\"\"/>\n        <property key=\"false-conditionals\" value=\"false\"/>\n        <property key=\"keep-locals\" value=\"false\"/>\n        <property key=\"list-assembly\" value=\"false\"/>\n        <property key=\"list-section-info\" value=\"false\"/>\n        <property key=\"list-source\" value=\"false\"/>\n        <property key=\"list-symbols\" value=\"false\"/>\n        <property key=\"oXC16asm-extra-opts\" value=\"\"/>\n        <property key=\"oXC16asm-list-to-file\" value=\"false\"/>\n        <property key=\"omit-debug-dirs\" value=\"false\"/>\n        <property key=\"omit-forms\" value=\"false\"/>\n        <property key=\"preprocessor-macros\" value=\"\"/>\n        <property key=\"relax\" value=\"false\"/>\n        <property key=\"warning-level\" value=\"emit-warnings\"/>\n      </C30-AS>\n      <C30-LD>\n        <property key=\"additional-options-use-response-files\" value=\"false\"/>\n        <property key=\"boot-eeprom\" value=\"no_eeprom\"/>\n        <property key=\"boot-flash\" value=\"no_flash\"/>\n        <property key=\"boot-ram\" value=\"no_ram\"/>\n        <property key=\"boot-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"enable-check-sections\" value=\"false\"/>\n        <property key=\"enable-data-init\" value=\"true\"/>\n        <property key=\"enable-default-isr\" value=\"true\"/>\n        <property key=\"enable-handles\" value=\"true\"/>\n        <property key=\"enable-pack-data\" value=\"true\"/>\n        <property key=\"extra-lib-directories\" value=\"\"/>\n        <property key=\"fill-flash-options-addr\" value=\"\"/>\n        <property key=\"fill-flash-options-const\" value=\"\"/>\n        <property key=\"fill-flash-options-how\" value=\"0\"/>\n        <property key=\"fill-flash-options-inc-const\" value=\"1\"/>\n        <property key=\"fill-flash-options-increment\" value=\"\"/>\n        <property key=\"fill-flash-options-seq\" value=\"\"/>\n        <property key=\"fill-flash-options-what\" value=\"0\"/>\n        <property key=\"general-code-protect\" value=\"no_code_protect\"/>\n        <property key=\"general-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"generate-cross-reference-file\" value=\"false\"/>\n        <property key=\"heap-size\" value=\"\"/>\n        <property key=\"input-libraries\" value=\"\"/>\n        <property key=\"linker-stack\" value=\"true\"/>\n        <property key=\"linker-symbols\" value=\"\"/>\n        <property key=\"map-file\" value=\"\"/>\n        <property key=\"no-ivt\" value=\"false\"/>\n        <property key=\"oXC16ld-extra-opts\" value=\"\"/>\n        <property key=\"oXC16ld-fill-upper\" value=\"0\"/>\n        <property key=\"oXC16ld-force-link\" value=\"false\"/>\n        <property key=\"oXC16ld-no-smart-io\" value=\"false\"/>\n        <property key=\"oXC16ld-nostdlib\" value=\"false\"/>\n        <property key=\"oXC16ld-stackguard\" value=\"16\"/>\n        <property key=\"preprocessor-macros\" value=\"\"/>\n        <property key=\"remove-unused-sections\" value=\"false\"/>\n        <property key=\"report-memory-usage\" value=\"true\"/>\n        <property key=\"secure-eeprom\" value=\"no_eeprom\"/>\n        <property key=\"secure-flash\" value=\"no_flash\"/>\n        <property key=\"secure-ram\" value=\"no_ram\"/>\n        <property key=\"secure-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"stack-size\" value=\"16\"/>\n        <property key=\"symbol-stripping\" value=\"\"/>\n        <property key=\"trace-symbols\" value=\"\"/>\n        <property key=\"warn-section-align\" value=\"false\"/>\n      </C30-LD>\n      <C30Global>\n        <property key=\"common-include-directories\" value=\"\"/>\n        <property key=\"dual-boot-partition\" value=\"0\"/>\n        <property key=\"fast-math\" value=\"false\"/>\n        <property key=\"generic-16-bit\" value=\"false\"/>\n        <property key=\"legacy-libc\" value=\"true\"/>\n        <property key=\"mpreserve-all\" value=\"false\"/>\n        <property key=\"oXC16glb-macros\" value=\"\"/>\n        <property key=\"output-file-format\" value=\"elf\"/>\n        <property key=\"preserve-all\" value=\"false\"/>\n        <property key=\"preserve-file\" value=\"\"/>\n        <property key=\"relaxed-math\" value=\"false\"/>\n        <property key=\"save-temps\" value=\"false\"/>\n      </C30Global>\n      <PKOBSKDEPlatformTool>\n        <property key=\"AutoSelectMemRanges\" value=\"auto\"/>\n        <property key=\"SecureSegment.SegmentProgramming\" value=\"FullChipProgramming\"/>\n        <property key=\"ToolFirmwareFilePath\"\n                  value=\"Press to browse for a specific firmware version\"/>\n        <property key=\"ToolFirmwareOption.UseLatestFirmware\" value=\"true\"/>\n        <property key=\"firmware.download.all\" value=\"false\"/>\n        <property key=\"memories.configurationmemory\" value=\"true\"/>\n        <property key=\"memories.dataflash\" value=\"true\"/>\n        <property key=\"memories.eeprom\" value=\"true\"/>\n        <property key=\"memories.id\" value=\"true\"/>\n        <property key=\"memories.programmemory\" value=\"true\"/>\n        <property key=\"memories.programmemory.ranges\" value=\"0-abf7\"/>\n        <property key=\"memories.userotp\" value=\"true\"/>\n        <property key=\"programoptions.donoteraseauxmem\" value=\"false\"/>\n        <property key=\"programoptions.eraseb4program\" value=\"true\"/>\n        <property key=\"programoptions.preservedataflash\" value=\"false\"/>\n        <property key=\"programoptions.preservedataflash.ranges\" value=\"\"/>\n        <property key=\"programoptions.preserveeeprom\" value=\"false\"/>\n        <property key=\"programoptions.preserveeeprom.ranges\"\n                  value=\"${memories.eedata.default}\"/>\n        <property key=\"programoptions.preserveprogram.ranges\" value=\"\"/>\n        <property key=\"programoptions.preserveprogramrange\" value=\"false\"/>\n        <property key=\"programoptions.usehighvoltageonmclr\" value=\"false\"/>\n        <property key=\"programoptions.uselvpprogramming\" value=\"true\"/>\n      </PKOBSKDEPlatformTool>\n    </conf>\n    <conf name=\"release\" type=\"2\">\n      <toolsSet>\n        <developmentServer>localhost</developmentServer>\n        <targetDevice>PIC24FJ64GB002</targetDevice>\n        <targetHeader></targetHeader>\n        <targetPluginBoard></targetPluginBoard>\n        <platformTool>PKOBSKDEPlatformTool</platformTool>\n        <languageToolchain>XC16</languageToolchain>\n        <languageToolchainVersion>1.36</languageToolchainVersion>\n        <platform>3</platform>\n      </toolsSet>\n      <packs>\n        <pack name=\"PIC24F-GA-GB_DFP\" vendor=\"Microchip\" version=\"1.0.58\"/>\n      </packs>\n      <compileType>\n        <linkerTool>\n          <linkerLibItems>\n          </linkerLibItems>\n        </linkerTool>\n        <archiverTool>\n        </archiverTool>\n        <loading>\n          <useAlternateLoadableFile>false</useAlternateLoadableFile>\n          <parseOnProdLoad>false</parseOnProdLoad>\n          <alternateLoadableFile></alternateLoadableFile>\n        </loading>\n        <subordinates>\n        </subordinates>\n      </compileType>\n      <makeCustomizationType>\n        <makeCustomizationPreStepEnabled>false</makeCustomizationPreStepEnabled>\n        <makeCustomizationPreStep></makeCustomizationPreStep>\n        <makeCustomizationPostStepEnabled>false</makeCustomizationPostStepEnabled>\n        <makeCustomizationPostStep></makeCustomizationPostStep>\n        <makeCustomizationPutChecksumInUserID>false</makeCustomizationPutChecksumInUserID>\n        <makeCustomizationEnableLongLines>false</makeCustomizationEnableLongLines>\n        <makeCustomizationNormalizeHexFile>false</makeCustomizationNormalizeHexFile>\n      </makeCustomizationType>\n      <C30>\n        <property key=\"code-model\" value=\"default\"/>\n        <property key=\"const-model\" value=\"default\"/>\n        <property key=\"data-model\" value=\"default\"/>\n        <property key=\"disable-instruction-scheduling\" value=\"false\"/>\n        <property key=\"enable-all-warnings\" value=\"true\"/>\n        <property key=\"enable-ansi-std\" value=\"false\"/>\n        <property key=\"enable-ansi-warnings\" value=\"false\"/>\n        <property key=\"enable-fatal-warnings\" value=\"false\"/>\n        <property key=\"enable-large-arrays\" value=\"false\"/>\n        <property key=\"enable-omit-frame-pointer\" value=\"false\"/>\n        <property key=\"enable-procedural-abstraction\" value=\"false\"/>\n        <property key=\"enable-short-double\" value=\"false\"/>\n        <property key=\"enable-symbols\" value=\"false\"/>\n        <property key=\"enable-unroll-loops\" value=\"false\"/>\n        <property key=\"extra-include-directories\"\n                  value=\"..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\src;..\\..\\..\\..\\..\\ports\\pic24_dspic\\qv\\xc16\"/>\n        <property key=\"isolate-each-function\" value=\"false\"/>\n        <property key=\"keep-inline\" value=\"false\"/>\n        <property key=\"oXC16gcc-align-arr\" value=\"false\"/>\n        <property key=\"oXC16gcc-cnsts-mauxflash\" value=\"false\"/>\n        <property key=\"oXC16gcc-data-sects\" value=\"false\"/>\n        <property key=\"oXC16gcc-errata\" value=\"\"/>\n        <property key=\"oXC16gcc-fillupper\" value=\"\"/>\n        <property key=\"oXC16gcc-large-aggregate\" value=\"false\"/>\n        <property key=\"oXC16gcc-mauxflash\" value=\"false\"/>\n        <property key=\"oXC16gcc-mpa-lvl\" value=\"\"/>\n        <property key=\"oXC16gcc-name-text-sec\" value=\"\"/>\n        <property key=\"oXC16gcc-near-chars\" value=\"false\"/>\n        <property key=\"oXC16gcc-no-isr-warn\" value=\"false\"/>\n        <property key=\"oXC16gcc-sfr-warn\" value=\"false\"/>\n        <property key=\"oXC16gcc-smar-io-lvl\" value=\"1\"/>\n        <property key=\"oXC16gcc-smart-io-fmt\" value=\"\"/>\n        <property key=\"optimization-level\" value=\"s\"/>\n        <property key=\"post-instruction-scheduling\" value=\"default\"/>\n        <property key=\"pre-instruction-scheduling\" value=\"default\"/>\n        <property key=\"preprocessor-macros\" value=\"NDEBUG\"/>\n        <property key=\"scalar-model\" value=\"default\"/>\n        <property key=\"use-cci\" value=\"false\"/>\n        <property key=\"use-iar\" value=\"false\"/>\n      </C30>\n      <C30-AR>\n        <property key=\"additional-options-chop-files\" value=\"false\"/>\n      </C30-AR>\n      <C30-AS>\n        <property key=\"assembler-symbols\" value=\"\"/>\n        <property key=\"expand-macros\" value=\"false\"/>\n        <property key=\"extra-include-directories-for-assembler\" value=\"\"/>\n        <property key=\"extra-include-directories-for-preprocessor\" value=\"\"/>\n        <property key=\"false-conditionals\" value=\"false\"/>\n        <property key=\"keep-locals\" value=\"false\"/>\n        <property key=\"list-assembly\" value=\"false\"/>\n        <property key=\"list-section-info\" value=\"false\"/>\n        <property key=\"list-source\" value=\"false\"/>\n        <property key=\"list-symbols\" value=\"false\"/>\n        <property key=\"oXC16asm-extra-opts\" value=\"\"/>\n        <property key=\"oXC16asm-list-to-file\" value=\"false\"/>\n        <property key=\"omit-debug-dirs\" value=\"false\"/>\n        <property key=\"omit-forms\" value=\"false\"/>\n        <property key=\"preprocessor-macros\" value=\"\"/>\n        <property key=\"relax\" value=\"false\"/>\n        <property key=\"warning-level\" value=\"emit-warnings\"/>\n      </C30-AS>\n      <C30-LD>\n        <property key=\"additional-options-use-response-files\" value=\"false\"/>\n        <property key=\"boot-eeprom\" value=\"no_eeprom\"/>\n        <property key=\"boot-flash\" value=\"no_flash\"/>\n        <property key=\"boot-ram\" value=\"no_ram\"/>\n        <property key=\"boot-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"enable-check-sections\" value=\"false\"/>\n        <property key=\"enable-data-init\" value=\"true\"/>\n        <property key=\"enable-default-isr\" value=\"true\"/>\n        <property key=\"enable-handles\" value=\"true\"/>\n        <property key=\"enable-pack-data\" value=\"true\"/>\n        <property key=\"extra-lib-directories\" value=\"\"/>\n        <property key=\"fill-flash-options-addr\" value=\"\"/>\n        <property key=\"fill-flash-options-const\" value=\"\"/>\n        <property key=\"fill-flash-options-how\" value=\"0\"/>\n        <property key=\"fill-flash-options-inc-const\" value=\"1\"/>\n        <property key=\"fill-flash-options-increment\" value=\"\"/>\n        <property key=\"fill-flash-options-seq\" value=\"\"/>\n        <property key=\"fill-flash-options-what\" value=\"0\"/>\n        <property key=\"general-code-protect\" value=\"no_code_protect\"/>\n        <property key=\"general-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"generate-cross-reference-file\" value=\"false\"/>\n        <property key=\"heap-size\" value=\"\"/>\n        <property key=\"input-libraries\" value=\"\"/>\n        <property key=\"linker-stack\" value=\"true\"/>\n        <property key=\"linker-symbols\" value=\"\"/>\n        <property key=\"map-file\" value=\"\"/>\n        <property key=\"no-ivt\" value=\"false\"/>\n        <property key=\"oXC16ld-extra-opts\" value=\"\"/>\n        <property key=\"oXC16ld-fill-upper\" value=\"0\"/>\n        <property key=\"oXC16ld-force-link\" value=\"false\"/>\n        <property key=\"oXC16ld-no-smart-io\" value=\"false\"/>\n        <property key=\"oXC16ld-nostdlib\" value=\"false\"/>\n        <property key=\"oXC16ld-stackguard\" value=\"16\"/>\n        <property key=\"preprocessor-macros\" value=\"\"/>\n        <property key=\"remove-unused-sections\" value=\"false\"/>\n        <property key=\"report-memory-usage\" value=\"true\"/>\n        <property key=\"secure-eeprom\" value=\"no_eeprom\"/>\n        <property key=\"secure-flash\" value=\"no_flash\"/>\n        <property key=\"secure-ram\" value=\"no_ram\"/>\n        <property key=\"secure-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"stack-size\" value=\"16\"/>\n        <property key=\"symbol-stripping\" value=\"\"/>\n        <property key=\"trace-symbols\" value=\"\"/>\n        <property key=\"warn-section-align\" value=\"false\"/>\n      </C30-LD>\n      <C30Global>\n        <property key=\"common-include-directories\" value=\"\"/>\n        <property key=\"dual-boot-partition\" value=\"0\"/>\n        <property key=\"fast-math\" value=\"false\"/>\n        <property key=\"generic-16-bit\" value=\"false\"/>\n        <property key=\"legacy-libc\" value=\"false\"/>\n        <property key=\"mpreserve-all\" value=\"false\"/>\n        <property key=\"oXC16glb-macros\" value=\"\"/>\n        <property key=\"output-file-format\" value=\"elf\"/>\n        <property key=\"preserve-all\" value=\"false\"/>\n        <property key=\"preserve-file\" value=\"\"/>\n        <property key=\"relaxed-math\" value=\"false\"/>\n        <property key=\"save-temps\" value=\"false\"/>\n      </C30Global>\n      <PKOBSKDEPlatformTool>\n        <property key=\"AutoSelectMemRanges\" value=\"auto\"/>\n        <property key=\"SecureSegment.SegmentProgramming\" value=\"FullChipProgramming\"/>\n        <property key=\"ToolFirmwareFilePath\"\n                  value=\"Press to browse for a specific firmware version\"/>\n        <property key=\"ToolFirmwareOption.UseLatestFirmware\" value=\"true\"/>\n        <property key=\"memories.configurationmemory\" value=\"true\"/>\n        <property key=\"memories.dataflash\" value=\"true\"/>\n        <property key=\"memories.eeprom\" value=\"false\"/>\n        <property key=\"memories.id\" value=\"false\"/>\n        <property key=\"memories.programmemory\" value=\"true\"/>\n        <property key=\"memories.programmemory.ranges\" value=\"0-abf7\"/>\n        <property key=\"memories.userotp\" value=\"true\"/>\n        <property key=\"programoptions.donoteraseauxmem\" value=\"false\"/>\n        <property key=\"programoptions.eraseb4program\" value=\"true\"/>\n        <property key=\"programoptions.preservedataflash\" value=\"false\"/>\n        <property key=\"programoptions.preservedataflash.ranges\" value=\"\"/>\n        <property key=\"programoptions.preserveeeprom\" value=\"false\"/>\n        <property key=\"programoptions.preserveeeprom.ranges\"\n                  value=\"${memories.eedata.default}\"/>\n        <property key=\"programoptions.preserveprogram.ranges\" value=\"\"/>\n        <property key=\"programoptions.preserveprogramrange\" value=\"false\"/>\n        <property key=\"programoptions.usehighvoltageonmclr\" value=\"false\"/>\n        <property key=\"programoptions.uselvpprogramming\" value=\"false\"/>\n      </PKOBSKDEPlatformTool>\n    </conf>\n  </confs>\n</configurationDescriptor>\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qv/xc16/nbproject/private/configurations.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<configurationDescriptor version=\"65\">\n  <projectmakefile>Makefile</projectmakefile>\n  <defaultConf>0</defaultConf>\n  <confs>\n    <conf name=\"default\" type=\"2\">\n      <platformToolSN>:=MPLABComm-USB-Microchip:=&lt;vid>04D8:=&lt;pid>8107:=&lt;rev>0002:=&lt;man>Microchip Technology Incorporated:=&lt;prod>Microstick II SK:=&lt;sn>BUR123045184:=&lt;drv>x:=&lt;xpt>h:=end</platformToolSN>\n      <languageToolchainDir>C:\\tools\\Microchip\\xc16\\bin</languageToolchainDir>\n      <mdbdebugger version=\"1\">\n        <placeholder1>place holder 1</placeholder1>\n        <placeholder2>place holder 2</placeholder2>\n      </mdbdebugger>\n      <runprofile version=\"6\">\n        <args></args>\n        <rundir></rundir>\n        <buildfirst>true</buildfirst>\n        <console-type>0</console-type>\n        <terminal-type>0</terminal-type>\n        <remove-instrumentation>0</remove-instrumentation>\n        <environment>\n        </environment>\n      </runprofile>\n    </conf>\n    <conf name=\"release\" type=\"2\">\n      <platformToolSN>:=MPLABComm-USB-Microchip:=&lt;vid>04D8:=&lt;pid>8107:=&lt;rev>0002:=&lt;man>Microchip Technology Incorporated:=&lt;prod>Microstick II SK:=&lt;sn>BUR123045184:=&lt;drv>x:=&lt;xpt>h:=end</platformToolSN>\n      <languageToolchainDir>C:\\tools\\Microchip\\xc16\\bin</languageToolchainDir>\n      <mdbdebugger version=\"1\">\n        <placeholder1>place holder 1</placeholder1>\n        <placeholder2>place holder 2</placeholder2>\n      </mdbdebugger>\n      <runprofile version=\"6\">\n        <args></args>\n        <rundir></rundir>\n        <buildfirst>true</buildfirst>\n        <console-type>0</console-type>\n        <terminal-type>0</terminal-type>\n        <remove-instrumentation>0</remove-instrumentation>\n        <environment>\n        </environment>\n      </runprofile>\n    </conf>\n  </confs>\n</configurationDescriptor>\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qv/xc16/nbproject/private/private.properties",
    "content": ""
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qv/xc16/nbproject/private/private.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project-private xmlns=\"http://www.netbeans.org/ns/project-private/1\">\n    <editor-bookmarks xmlns=\"http://www.netbeans.org/ns/editor-bookmarks/1\"/>\n    <editor-bookmarks xmlns=\"http://www.netbeans.org/ns/editor-bookmarks/2\" lastBookmarkId=\"0\"/>\n    <open-files xmlns=\"http://www.netbeans.org/ns/projectui-open-files/2\">\n        <group>\n            <file>file:/C:/qp_lab/qpn/ports/pic24_dspic/qk/xc16/qkn_port.c</file>\n        </group>\n    </open-files>\n</project-private>\n"
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qv/xc16/nbproject/project.properties",
    "content": ""
  },
  {
    "path": "examples/pic24_dspic/blinky_microstick2-pic24/qv/xc16/nbproject/project.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://www.netbeans.org/ns/project/1\">\n    <type>com.microchip.mplab.nbide.embedded.makeproject</type>\n    <configuration>\n        <data xmlns=\"http://www.netbeans.org/ns/make-project/1\">\n            <name>blinky-microstick2-pic24-qvn</name>\n            <creation-uuid>ee2d0599-d83a-4c0e-b85a-bafd0cebc5f8</creation-uuid>\n            <make-project-type>0</make-project-type>\n            <c-extensions>c</c-extensions>\n            <cpp-extensions/>\n            <header-extensions>h</header-extensions>\n            <sourceEncoding>ISO-8859-1</sourceEncoding>\n            <asminc-extensions/>\n            <make-dep-projects/>\n            <sourceRootList>\n                <sourceRootElem>../../../../../src/qf</sourceRootElem>\n                <sourceRootElem>../../../../../src/qk</sourceRootElem>\n                <sourceRootElem>../../../../../include</sourceRootElem>\n                <sourceRootElem>../../../../../src/qs</sourceRootElem>\n                <sourceRootElem>../..</sourceRootElem>\n                <sourceRootElem>../../../../../src/qv</sourceRootElem>\n                <sourceRootElem>../../../../../ports/pic24_dspic/qk/xc16</sourceRootElem>\n                <sourceRootElem>../../../../../src/qfn</sourceRootElem>\n                <sourceRootElem>../../../../../src/qkn</sourceRootElem>\n                <sourceRootElem>../../../../../src/qvn</sourceRootElem>\n            </sourceRootList>\n            <confList>\n                <confElem>\n                    <name>default</name>\n                    <type>2</type>\n                </confElem>\n                <confElem>\n                    <name>release</name>\n                    <type>2</type>\n                </confElem>\n            </confList>\n            <formatting>\n                <project-formatting-style>false</project-formatting-style>\n            </formatting>\n        </data>\n    </configuration>\n</project>\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/bsp.h",
    "content": "/*****************************************************************************\n* Product: DPP example\n* Last updated for version 6.5.1\n* Last updated on  2019-06-10\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BSP_H\n#define BSP_H\n\n#define BSP_TICKS_PER_SEC    100U\n\nvoid BSP_init(void);\nvoid BSP_displayPaused(uint8_t paused);\nvoid BSP_displayPhilStat(uint8_t n, char_t const *stat);\nvoid BSP_terminate(int16_t result);\n\nvoid BSP_randomSeed(uint32_t seed);   /* random seed */\nuint32_t BSP_random(void);            /* pseudo-random generator */\n\n#endif /* BSP_H */\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/dpp.h",
    "content": "/*.$file${.::dpp.h} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: dpp.qm\n* File:  ${.::dpp.h}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::dpp.h} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#ifndef DPP_H\n#define DPP_H\n\nenum DPPSignals {\n    EAT_SIG = Q_USER_SIG, /* published by Table to let a philosopher eat */\n    DONE_SIG,             /* published by Philosopher when done eating */\n    PAUSE_SIG,            /* published by BSP to pause the application */\n    SERVE_SIG,            /* published by BSP to pause the application */\n    TERMINATE_SIG,        /* published by BSP to terminate the application */\n    HUNGRY_SIG,           /* posted direclty to Table from hungry Philo */\n    MAX_SIG               /* the last signal */\n};\n\n/* number of philosophers */\n#define N_PHILO ((uint8_t)5)\n#define PHILO_0_PRIO 1\n\n/*.$declare${AOs::AO_Philo0} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo0;\n/*.$enddecl${AOs::AO_Philo0} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo1} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo1;\n/*.$enddecl${AOs::AO_Philo1} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo2} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo2;\n/*.$enddecl${AOs::AO_Philo2} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo3} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo3;\n/*.$enddecl${AOs::AO_Philo3} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo4} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo4;\n/*.$enddecl${AOs::AO_Philo4} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Table AO_Table;\n/*.$enddecl${AOs::AO_Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/*.$declare${AOs::Philo_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo_ctor} ......................................................*/\nvoid Philo_ctor(void);\n/*.$enddecl${AOs::Philo_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::Table_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table_ctor} ......................................................*/\nvoid Table_ctor(void);\n/*.$enddecl${AOs::Table_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n#endif /* DPP_H */\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/dpp.qm",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<model version=\"4.6.0\" links=\"1\">\n <documentation>Dining Philosopher Problem example with QActive</documentation>\n <!--${qpn}-->\n <framework name=\"qpn\"/>\n <!--${AOs}-->\n <package name=\"AOs\" stereotype=\"0x02\">\n  <!--${AOs::Philo}-->\n  <class name=\"Philo\" superclass=\"qpn::QActive\">\n   <!--${AOs::Philo::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${AOs::Philo::SM::initial}-->\n    <initial target=\"../1\">\n     <initial_glyph conn=\"2,3,5,1,20,5,-3\">\n      <action box=\"0,-2,6,2\"/>\n     </initial_glyph>\n    </initial>\n    <!--${AOs::Philo::SM::thinking}-->\n    <state name=\"thinking\">\n     <entry>QActive_armX(&amp;me-&gt;super, 0U, THINK_TIME, 0U);</entry>\n     <exit>QActive_disarmX(&amp;me-&gt;super, 0U);</exit>\n     <!--${AOs::Philo::SM::thinking::Q_TIMEOUT}-->\n     <tran trig=\"Q_TIMEOUT\" target=\"../../2\">\n      <tran_glyph conn=\"2,12,3,1,20,13,-3\">\n       <action box=\"0,-2,6,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Philo::SM::thinking::EAT, DONE}-->\n     <tran trig=\"EAT, DONE\">\n      <action>Q_ERROR(); /* these events should never arrive in this state */</action>\n      <tran_glyph conn=\"2,17,3,-1,13\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,5,17,16\">\n      <entry box=\"1,2,5,2\"/>\n      <exit box=\"1,4,6,2\"/>\n     </state_glyph>\n    </state>\n    <!--${AOs::Philo::SM::hungry}-->\n    <state name=\"hungry\">\n     <entry>QACTIVE_POST(&amp;AO_Table, HUNGRY_SIG, me-&gt;super.prio);</entry>\n     <!--${AOs::Philo::SM::hungry::EAT}-->\n     <tran trig=\"EAT\" target=\"../../3\">\n      <tran_glyph conn=\"2,30,3,1,20,13,-3\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Philo::SM::hungry::DONE}-->\n     <tran trig=\"DONE\">\n      <action>Q_ERROR(); /* this event should never arrive in this state */</action>\n      <tran_glyph conn=\"2,36,3,-1,14\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,23,17,16\">\n      <entry box=\"1,2,5,2\"/>\n     </state_glyph>\n    </state>\n    <!--${AOs::Philo::SM::eating}-->\n    <state name=\"eating\">\n     <entry>QActive_armX(&amp;me-&gt;super, 0U, EAT_TIME, 0U);</entry>\n     <exit>QActive_disarmX(&amp;me-&gt;super, 0U);\nQACTIVE_POST(QF_ACTIVE_CAST(&amp;AO_Table), DONE_SIG, me-&gt;super.prio);</exit>\n     <!--${AOs::Philo::SM::eating::Q_TIMEOUT}-->\n     <tran trig=\"Q_TIMEOUT\" target=\"../../1\">\n      <tran_glyph conn=\"2,51,3,1,22,-41,-5\">\n       <action box=\"0,-2,6,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Philo::SM::eating::EAT, DONE}-->\n     <tran trig=\"EAT, DONE\">\n      <action>Q_ERROR(); /* these events should never arrive in this state */</action>\n      <tran_glyph conn=\"2,55,3,-1,13\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,41,17,18\">\n      <entry box=\"1,2,5,2\"/>\n      <exit box=\"1,4,5,2\"/>\n     </state_glyph>\n    </state>\n    <state_diagram size=\"37,61\"/>\n   </statechart>\n  </class>\n  <!--${AOs::Table}-->\n  <class name=\"Table\" superclass=\"qpn::QActive\">\n   <!--${AOs::Table::fork[N_PHILO]}-->\n   <attribute name=\"fork[N_PHILO]\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Table::isHungry[N_PHILO]}-->\n   <attribute name=\"isHungry[N_PHILO]\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Table::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${AOs::Table::SM::initial}-->\n    <initial target=\"../1/2\">\n     <action>uint8_t n;\nfor (n = 0U; n &lt; N_PHILO; ++n) {\n    me-&gt;fork[n] = FREE;\n    me-&gt;isHungry[n] = 0U;\n    BSP_displayPhilStat(n, &quot;thinking&quot;);\n}</action>\n     <initial_glyph conn=\"3,3,5,1,44,18,-9\">\n      <action box=\"0,-2,6,2\"/>\n     </initial_glyph>\n    </initial>\n    <!--${AOs::Table::SM::active}-->\n    <state name=\"active\">\n     <!--${AOs::Table::SM::active::TERMINATE}-->\n     <tran trig=\"TERMINATE\">\n      <action>BSP_terminate(0);</action>\n      <tran_glyph conn=\"2,11,3,-1,14\">\n       <action box=\"0,-2,11,4\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Table::SM::active::EAT}-->\n     <tran trig=\"EAT\">\n      <action>Q_ERROR();</action>\n      <tran_glyph conn=\"2,15,3,-1,14\">\n       <action box=\"0,-2,10,4\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Table::SM::active::serving}-->\n     <state name=\"serving\">\n      <entry brief=\"give pending permitions to eat\">uint8_t n;\nfor (n = 0U; n &lt; N_PHILO; ++n) { /* give permissions to eat... */\n    if ((me-&gt;isHungry[n] != 0U)\n        &amp;&amp; (me-&gt;fork[LEFT(n)] == FREE)\n        &amp;&amp; (me-&gt;fork[n] == FREE))\n    {\n        QActive *philo;\n\n        me-&gt;fork[LEFT(n)] = USED;\n        me-&gt;fork[n] = USED;\n        philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\n        QACTIVE_POST(philo, EAT_SIG, n);\n        me-&gt;isHungry[n] = 0U;\n        BSP_displayPhilStat(n, &quot;eating  &quot;);\n    }\n}</entry>\n      <!--${AOs::Table::SM::active::serving::HUNGRY}-->\n      <tran trig=\"HUNGRY\">\n       <action>uint8_t n, m;\nQActive *philo;\n\nn = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* phil ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\n\nBSP_displayPhilStat(n, &quot;hungry  &quot;);\nm = LEFT(n);</action>\n       <!--${AOs::Table::SM::active::serving::HUNGRY::[bothfree]}-->\n       <choice>\n        <guard brief=\"both free\">(me-&gt;fork[m] == FREE) &amp;&amp; (me-&gt;fork[n] == FREE)</guard>\n        <action>me-&gt;fork[m] = USED;\nme-&gt;fork[n] = USED;\nphilo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\nQACTIVE_POST(philo, EAT_SIG, n);\nBSP_displayPhilStat(n, &quot;eating  &quot;);</action>\n        <choice_glyph conn=\"19,26,5,-1,10\">\n         <action box=\"1,0,10,2\"/>\n        </choice_glyph>\n       </choice>\n       <!--${AOs::Table::SM::active::serving::HUNGRY::[else]}-->\n       <choice>\n        <guard>else</guard>\n        <action>me-&gt;isHungry[n] = 1U;</action>\n        <choice_glyph conn=\"19,26,4,-1,5,10\">\n         <action box=\"1,5,6,2\"/>\n        </choice_glyph>\n       </choice>\n       <tran_glyph conn=\"4,26,3,-1,15\">\n        <action box=\"0,-2,8,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::serving::DONE}-->\n      <tran trig=\"DONE\">\n       <action>uint8_t n, m;\nQActive *philo;\n\nn = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* phil ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\n\nBSP_displayPhilStat(n, &quot;thinking&quot;);\nm = LEFT(n);\n/* both forks of Phil[n] must be used */\nQ_ASSERT((me-&gt;fork[n] == USED) &amp;&amp; (me-&gt;fork[m] == USED));\n\nme-&gt;fork[m] = FREE;\nme-&gt;fork[n] = FREE;\nm = RIGHT(n); /* check the right neighbor */\n\nif ((me-&gt;isHungry[m] != 0U) &amp;&amp; (me-&gt;fork[m] == FREE)) {\n    me-&gt;fork[n] = USED;\n    me-&gt;fork[m] = USED;\n    me-&gt;isHungry[m] = 0U;\n    philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n    QACTIVE_POST(philo, EAT_SIG, m);\n    BSP_displayPhilStat(m, &quot;eating  &quot;);\n}\nm = LEFT(n); /* check the left neighbor */\nn = LEFT(m); /* left fork of the left neighbor */\nif ((me-&gt;isHungry[m] != 0U) &amp;&amp; (me-&gt;fork[n] == FREE)) {\n    me-&gt;fork[m] = USED;\n    me-&gt;fork[n] = USED;\n    me-&gt;isHungry[m] = 0U;\n    philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n    QACTIVE_POST(philo, EAT_SIG, m);\n    BSP_displayPhilStat(m, &quot;eating  &quot;);\n}</action>\n       <tran_glyph conn=\"4,34,3,-1,15\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::serving::EAT}-->\n      <tran trig=\"EAT\">\n       <action>Q_ERROR();</action>\n       <tran_glyph conn=\"4,37,3,-1,15\">\n        <action box=\"0,-2,12,4\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::serving::PAUSE}-->\n      <tran trig=\"PAUSE\" target=\"../../3\">\n       <tran_glyph conn=\"4,41,3,1,37,6,-3\">\n        <action box=\"0,-2,7,2\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"4,19,34,24\">\n       <entry box=\"1,2,27,2\"/>\n      </state_glyph>\n     </state>\n     <!--${AOs::Table::SM::active::paused}-->\n     <state name=\"paused\">\n      <entry>BSP_displayPaused(1U);</entry>\n      <exit>BSP_displayPaused(0U);</exit>\n      <!--${AOs::Table::SM::active::paused::SERVE}-->\n      <tran trig=\"SERVE\" target=\"../../2\">\n       <tran_glyph conn=\"4,57,3,1,39,-20,-5\">\n        <action box=\"0,-2,7,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::paused::HUNGRY}-->\n      <tran trig=\"HUNGRY\">\n       <action>uint8_t n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* philo ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\nme-&gt;isHungry[n] = 1U;\nBSP_displayPhilStat(n, &quot;hungry  &quot;);</action>\n       <tran_glyph conn=\"4,60,3,-1,15\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::paused::DONE}-->\n      <tran trig=\"DONE\">\n       <action>uint8_t n, m;\n\nn = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* phil ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\n\nBSP_displayPhilStat(n, &quot;thinking&quot;);\nm = LEFT(n);\n/* both forks of Phil[n] must be used */\nQ_ASSERT((me-&gt;fork[n] == USED) &amp;&amp; (me-&gt;fork[m] == USED));\n\nme-&gt;fork[m] = FREE;\nme-&gt;fork[n] = FREE;</action>\n       <tran_glyph conn=\"4,63,3,-1,15\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"4,45,34,20\">\n       <entry box=\"1,2,18,4\"/>\n       <exit box=\"1,6,18,4\"/>\n      </state_glyph>\n     </state>\n     <state_glyph node=\"2,5,43,62\"/>\n    </state>\n    <state_diagram size=\"49,69\"/>\n   </statechart>\n  </class>\n  <!--${AOs::AO_Philo0}-->\n  <attribute name=\"AO_Philo0\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo1}-->\n  <attribute name=\"AO_Philo1\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo2}-->\n  <attribute name=\"AO_Philo2\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo3}-->\n  <attribute name=\"AO_Philo3\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo4}-->\n  <attribute name=\"AO_Philo4\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Table}-->\n  <attribute name=\"AO_Table\" type=\"struct Table\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::Philo_ctor}-->\n  <operation name=\"Philo_ctor\" type=\"void\" visibility=\"0x00\" properties=\"0x00\">\n   <code>QActive_ctor(&amp;AO_Philo0.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo1.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo2.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo3.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo4.super, Q_STATE_CAST(&amp;Philo_initial));\nBSP_randomSeed(123U);</code>\n  </operation>\n  <!--${AOs::Table_ctor}-->\n  <operation name=\"Table_ctor\" type=\"void\" visibility=\"0x00\" properties=\"0x00\">\n   <code>uint8_t n;\nTable *me = &amp;AO_Table;\n\nQActive_ctor(&amp;me-&gt;super, Q_STATE_CAST(&amp;Table_initial));\nfor (n = 0U; n &lt; N_PHILO; ++n) {\n    me-&gt;fork[n] = FREE;\n    me-&gt;isHungry[n] = 0U;\n}</code>\n  </operation>\n </package>\n <!--${.}-->\n <directory name=\".\">\n  <!--${.::dpp.h}-->\n  <file name=\"dpp.h\">\n   <text>#ifndef DPP_H\n#define DPP_H\n\nenum DPPSignals {\n    EAT_SIG = Q_USER_SIG, /* published by Table to let a philosopher eat */\n    DONE_SIG,             /* published by Philosopher when done eating */\n    PAUSE_SIG,            /* published by BSP to pause the application */\n    SERVE_SIG,            /* published by BSP to pause the application */\n    TERMINATE_SIG,        /* published by BSP to terminate the application */\n    HUNGRY_SIG,           /* posted direclty to Table from hungry Philo */\n    MAX_SIG               /* the last signal */\n};\n\n/* number of philosophers */\n#define N_PHILO ((uint8_t)5)\n#define PHILO_0_PRIO 1\n\n$declare${AOs::AO_Philo0}\n$declare${AOs::AO_Philo1}\n$declare${AOs::AO_Philo2}\n$declare${AOs::AO_Philo3}\n$declare${AOs::AO_Philo4}\n$declare${AOs::AO_Table}\n\n$declare${AOs::Philo_ctor}\n$declare${AOs::Table_ctor}\n\n#endif /* DPP_H */\n</text>\n  </file>\n  <!--${.::philo.c}-->\n  <file name=\"philo.c\">\n   <text>#include &quot;qpn.h&quot;  /* QP-nano port */\n#include &quot;bsp.h&quot;  /* Board Support Package */\n#include &quot;dpp.h&quot;  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(&quot;philo&quot;)\n\n/* Active object class -----------------------------------------------------*/\n$declare${AOs::Philo}\n\n/* Global objects ----------------------------------------------------------*/\n$define${AOs::AO_Philo0}\n$define${AOs::AO_Philo1}\n$define${AOs::AO_Philo2}\n$define${AOs::AO_Philo3}\n$define${AOs::AO_Philo4}\n\n/* Local objects -----------------------------------------------------------*/\n#define THINK_TIME  \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + (BSP_TICKS_PER_SEC/2U))\n#define EAT_TIME    \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + BSP_TICKS_PER_SEC)\n\n/* Philo definition --------------------------------------------------------*/\n$define${AOs::Philo_ctor}\n$define${AOs::Philo}</text>\n  </file>\n  <!--${.::table.c}-->\n  <file name=\"table.c\">\n   <text>#include &quot;qpn.h&quot;  /* QP-nano port */\n#include &quot;bsp.h&quot;  /* Board Support Package */\n#include &quot;dpp.h&quot;  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(&quot;table&quot;)\n\n/* Active object class -----------------------------------------------------*/\n$declare${AOs::Table}\n\n/* Global objects ----------------------------------------------------------*/\n$define${AOs::AO_Table}\n\n#define RIGHT(n_) ((uint8_t)(((n_) + (N_PHILO - 1U)) % N_PHILO))\n#define LEFT(n_)  ((uint8_t)(((n_) + 1U) % N_PHILO))\n#define FREE      ((uint8_t)0)\n#define USED      ((uint8_t)1)\n\n/*..........................................................................*/\n$define${AOs::Table_ctor}\n$define${AOs::Table}</text>\n  </file>\n </directory>\n</model>\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/main.c",
    "content": "/*****************************************************************************\n* Product: DPP example\n* Last Updated for Version: 5.8.0\n* Date of the Last Update:  2016-11-06\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"  /* QP-nano */\n#include \"bsp.h\"  /* Board Support Package */\n#include \"dpp.h\"  /* Application interface */\n\n/*..........................................................................*/\nstatic QEvt l_philoQueue[N_PHILO][N_PHILO];\nstatic QEvt l_tableQueue[2];\n\n/* QF_active[] array defines all active object control blocks --------------*/\nQActiveCB const Q_ROM QF_active[] = {\n    { (QActive *)0,           (QEvt *)0,        0U                      },\n    { (QActive *)&AO_Philo0,  l_philoQueue[0],  Q_DIM(l_philoQueue[0])  },\n    { (QActive *)&AO_Philo1,  l_philoQueue[1],  Q_DIM(l_philoQueue[1])  },\n    { (QActive *)&AO_Philo2,  l_philoQueue[2],  Q_DIM(l_philoQueue[2])  },\n    { (QActive *)&AO_Philo3,  l_philoQueue[3],  Q_DIM(l_philoQueue[3])  },\n    { (QActive *)&AO_Philo4,  l_philoQueue[4],  Q_DIM(l_philoQueue[4])  },\n    { (QActive *)&AO_Table,   l_tableQueue,     Q_DIM(l_tableQueue)     }\n};\n\n/*..........................................................................*/\nint_t main() {\n    Philo_ctor();    /* instantiate all Philo AOs */\n    Table_ctor();    /* instantiate the Table AO */\n\n    QF_init(Q_DIM(QF_active)); /* initialize the QF-nano framework */\n    BSP_init();      /* initialize the Board Support Package */\n\n    return QF_run(); /* transfer control to QF-nano */\n}\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/philo.c",
    "content": "/*.$file${.::philo.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: dpp.qm\n* File:  ${.::philo.c}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::philo.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"  /* QP-nano port */\n#include \"bsp.h\"  /* Board Support Package */\n#include \"dpp.h\"  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(\"philo\")\n\n/* Active object class -----------------------------------------------------*/\n/*.$declare${AOs::Philo} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo} ...........................................................*/\ntypedef struct Philo {\n/* protected: */\n    QActive super;\n} Philo;\n\n/* protected: */\nstatic QState Philo_initial(Philo * const me);\nstatic QState Philo_thinking(Philo * const me);\nstatic QState Philo_hungry(Philo * const me);\nstatic QState Philo_eating(Philo * const me);\n/*.$enddecl${AOs::Philo} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Global objects ----------------------------------------------------------*/\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 650U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.5.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo0} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo0} .......................................................*/\nstruct Philo AO_Philo0;\n/*.$enddef${AOs::AO_Philo0} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo1} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo1} .......................................................*/\nstruct Philo AO_Philo1;\n/*.$enddef${AOs::AO_Philo1} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo2} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo2} .......................................................*/\nstruct Philo AO_Philo2;\n/*.$enddef${AOs::AO_Philo2} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo3} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo3} .......................................................*/\nstruct Philo AO_Philo3;\n/*.$enddef${AOs::AO_Philo3} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo4} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo4} .......................................................*/\nstruct Philo AO_Philo4;\n/*.$enddef${AOs::AO_Philo4} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Local objects -----------------------------------------------------------*/\n#define THINK_TIME  \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + (BSP_TICKS_PER_SEC/2U))\n#define EAT_TIME    \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + BSP_TICKS_PER_SEC)\n\n/* Philo definition --------------------------------------------------------*/\n/*.$define${AOs::Philo_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo_ctor} ......................................................*/\nvoid Philo_ctor(void) {\n    QActive_ctor(&AO_Philo0.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo1.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo2.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo3.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo4.super, Q_STATE_CAST(&Philo_initial));\n    BSP_randomSeed(123U);\n}\n/*.$enddef${AOs::Philo_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Philo} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo} ...........................................................*/\n/*.${AOs::Philo::SM} .......................................................*/\nstatic QState Philo_initial(Philo * const me) {\n    /*.${AOs::Philo::SM::initial} */\n    return Q_TRAN(&Philo_thinking);\n}\n/*.${AOs::Philo::SM::thinking} .............................................*/\nstatic QState Philo_thinking(Philo * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Philo::SM::thinking} */\n        case Q_ENTRY_SIG: {\n            QActive_armX(&me->super, 0U, THINK_TIME, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::thinking} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::thinking::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Philo_hungry);\n            break;\n        }\n        /*.${AOs::Philo::SM::thinking::EAT, DONE} */\n        case EAT_SIG: /* intentionally fall through */\n        case DONE_SIG: {\n            Q_ERROR(); /* these events should never arrive in this state */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Philo::SM::hungry} ...............................................*/\nstatic QState Philo_hungry(Philo * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Philo::SM::hungry} */\n        case Q_ENTRY_SIG: {\n            QACTIVE_POST(&AO_Table, HUNGRY_SIG, me->super.prio);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::hungry::EAT} */\n        case EAT_SIG: {\n            status_ = Q_TRAN(&Philo_eating);\n            break;\n        }\n        /*.${AOs::Philo::SM::hungry::DONE} */\n        case DONE_SIG: {\n            Q_ERROR(); /* this event should never arrive in this state */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Philo::SM::eating} ...............................................*/\nstatic QState Philo_eating(Philo * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Philo::SM::eating} */\n        case Q_ENTRY_SIG: {\n            QActive_armX(&me->super, 0U, EAT_TIME, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::eating} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            QACTIVE_POST(QF_ACTIVE_CAST(&AO_Table), DONE_SIG, me->super.prio);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::eating::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Philo_thinking);\n            break;\n        }\n        /*.${AOs::Philo::SM::eating::EAT, DONE} */\n        case EAT_SIG: /* intentionally fall through */\n        case DONE_SIG: {\n            Q_ERROR(); /* these events should never arrive in this state */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${AOs::Philo} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qk/xc16/Makefile",
    "content": "#\n#  There exist several targets which are by default empty and which can be\n#  used for execution of your targets. These targets are usually executed\n#  before and after some main targets. They are:\n#\n#     .build-pre:              called before 'build' target\n#     .build-post:             called after 'build' target\n#     .clean-pre:              called before 'clean' target\n#     .clean-post:             called after 'clean' target\n#     .clobber-pre:            called before 'clobber' target\n#     .clobber-post:           called after 'clobber' target\n#     .all-pre:                called before 'all' target\n#     .all-post:               called after 'all' target\n#     .help-pre:               called before 'help' target\n#     .help-post:              called after 'help' target\n#\n#  Targets beginning with '.' are not intended to be called on their own.\n#\n#  Main targets can be executed directly, and they are:\n#\n#     build                    build a specific configuration\n#     clean                    remove built files from a configuration\n#     clobber                  remove all built files\n#     all                      build all configurations\n#     help                     print help mesage\n#\n#  Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and\n#  .help-impl are implemented in nbproject/makefile-impl.mk.\n#\n#  Available make variables:\n#\n#     CND_BASEDIR                base directory for relative paths\n#     CND_DISTDIR                default top distribution directory (build artifacts)\n#     CND_BUILDDIR               default top build directory (object files, ...)\n#     CONF                       name of current configuration\n#     CND_ARTIFACT_DIR_${CONF}   directory of build artifact (current configuration)\n#     CND_ARTIFACT_NAME_${CONF}  name of build artifact (current configuration)\n#     CND_ARTIFACT_PATH_${CONF}  path to build artifact (current configuration)\n#     CND_PACKAGE_DIR_${CONF}    directory of package (current configuration)\n#     CND_PACKAGE_NAME_${CONF}   name of package (current configuration)\n#     CND_PACKAGE_PATH_${CONF}   path to package (current configuration)\n#\n# NOCDDL\n\n\n# Environment\nMKDIR=mkdir\nCP=cp\nCCADMIN=CCadmin\nRANLIB=ranlib\n\n\n# build\nbuild: .build-post\n\n.build-pre:\n# Add your pre 'build' code here...\n\n.build-post: .build-impl\n# Add your post 'build' code here...\n\n\n# clean\nclean: .clean-post\n\n.clean-pre:\n# Add your pre 'clean' code here...\n\n.clean-post: .clean-impl\n# Add your post 'clean' code here...\n\n\n# clobber\nclobber: .clobber-post\n\n.clobber-pre:\n# Add your pre 'clobber' code here...\n\n.clobber-post: .clobber-impl\n# Add your post 'clobber' code here...\n\n\n# all\nall: .all-post\n\n.all-pre:\n# Add your pre 'all' code here...\n\n.all-post: .all-impl\n# Add your post 'all' code here...\n\n\n# help\nhelp: .help-post\n\n.help-pre:\n# Add your pre 'help' code here...\n\n.help-post: .help-impl\n# Add your post 'help' code here...\n\n\n\n# include project implementation makefile\ninclude nbproject/Makefile-impl.mk\n\n# include project make variables\ninclude nbproject/Makefile-variables.mk\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qk/xc16/bsp.c",
    "content": "/*****************************************************************************\n* BSP for DPP example, Microstick II board, preemptive QK-nano kernel\n* Last updated for version 6.5.1\n* Last updated on  2019-06-10\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"bsp.h\"\n#include \"dpp.h\"\n\n#include \"p24FJ64GB002.h\"  /* header for PIC24F device in use */\n\nQ_DEFINE_THIS_FILE\n\n/* configure Fast RC Oscillator (FRC) */\n#pragma config FNOSC=FRC\n\n/* Local-scope objects -----------------------------------------------------*/\nstatic uint32_t l_rnd;  /* random seed */\n\n/* frequency of the FRC oscillator ~ 8 MHz */\n#define FOSC_HZ                 8000000.0\n/* instruction cycle clock frequency */\n#define FCY_HZ                  (FOSC_HZ / 2.0)\n/* system clock tick period in CPU clocks / TMR2 prescaler */\n#define BSP_TMR2_PERIOD         ((uint16_t)(FCY_HZ / BSP_TICKS_PER_SEC))\n\n/* controlling the LED of Microstick II */\n#define LED_ON()                (LATA |= (1U << 0))\n#define LED_OFF()               (LATA &= ~(1U << 0))\n#define LED_TOGGLE()            (LATA ^= (1U << 0))\n\n\n/* ISRs --------------------------------------------------------------------*/\nQK_ISR(no_auto_psv) _T2Interrupt() {\n    _T2IF = 0; /* clear Timer 2 interrupt flag */\n\n    QF_tickXISR(0U);   /* process time events for rate 0 */\n\n    QK_ISR_EXIT(); /* inform QK about exiting the ISR */\n}\n/*..........................................................................*/\nQK_ISR(auto_psv) _INT0Interrupt() {\n    _INT0IF = 0;\n\n    QACTIVE_POST_ISR((QActive *)&AO_Table, EAT_SIG, 0U);\n\n    QK_ISR_EXIT(); /* inform QK about exiting the ISR */\n}\n\n/*--------------------------------------------------------------------------*/\nvoid BSP_init(void) {\n    RCONbits.SWDTEN = 0; /* disable Watchdog */\n\n    TRISA = 0x00; /* set LED pins as outputs */\n    PORTA = 0x00; /* set LED drive state low */\n\n    BSP_randomSeed(1234U);\n}\n/*..........................................................................*/\nvoid BSP_terminate(int16_t result) {\n    (void)result;\n}\n/*..........................................................................*/\nvoid BSP_displayPhilStat(uint8_t n, char const Q_ROM *stat) {\n    (void)n;\n    (void)stat;\n    LED_TOGGLE();\n}\n/*..........................................................................*/\nvoid BSP_displayPaused(uint8_t paused) {\n    (void)paused;\n}\n/*..........................................................................*/\nuint32_t BSP_random(void) {  /* a very cheap pseudo-random-number generator */\n    /* \"Super-Duper\" Linear Congruential Generator (LCG)\n    * LCG(2^32, 3*7*11*13*23, 0, seed)\n    */\n    l_rnd = l_rnd * (3U*7U*11U*13U*23U);\n    return l_rnd >> 8;\n}\n/*..........................................................................*/\nvoid BSP_randomSeed(uint32_t seed) {\n    l_rnd = seed;\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const file, int line) {\n    (void)file;       /* unused parameter */\n    (void)line;       /* unused parameter */\n    QF_INT_DISABLE(); /* make sure that interrupts are disabled */\n    for (;;) {\n    }\n}\n\n/*..........................................................................*/\nvoid QF_onStartup(void) { /* entered with interrupts locked */\n    T2CON = 0x0000U; /* Use Internal Osc (Fcy), 16 bit mode, prescaler = 1 */\n    TMR2  = 0x0000U; /* Start counting from 0 and clear the prescaler count */\n    PR2   = (uint16_t)(BSP_TMR2_PERIOD - 1U); /* Timer2 period */\n    _T2IF = 0;               /* clear the interrupt for Timer 2 */\n    _T2IE = 1;               /* enable interrupt for Timer 2 */\n    T2CONbits.TON = 1;       /* start Timer 2 */\n\n    INTCON2bits.INT0EP = 0;  /* INT0 interrupt on positive edge */\n    _INT0IF = 0;             /* clear the interrupt for INT0 */\n    _INT0IE = 1;             /* enable INT0 interrupt */\n\n    /* explicitly assign priorities to all interrutps... */\n    _T2IP   = 4; /* Timer 2 interrupt priority (kernel aware) */\n    _INT0IP = 6; /* INT0 interrupt priority (kernel aware) */\n}\n/*..........................................................................*/\nvoid QF_onCleanup(void) {\n}\n/*..........................................................................*/\nvoid QK_onIdle(void) {\n\n    /* NOTE: not enough LEDs on the Microstick II board to implement\n    *  the idle loop activity indicator ...\n    */\n    //LED_ON (); /* blink the IDLE LED, see NOTE01 */\n    //LED_OFF();\n#ifdef NDEBUG\n    Idle(); /* transition to Idle mode */\n#endif\n}\n\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qk/xc16/nbproject/Makefile-default.mk",
    "content": "#\n# Generated Makefile - do not edit!\n#\n# Edit the Makefile in the project folder instead (../Makefile). Each target\n# has a -pre and a -post target defined where you can add customized code.\n#\n# This makefile implements configuration specific macros and targets.\n\n\n# Include project Makefile\nifeq \"${IGNORE_LOCAL}\" \"TRUE\"\n# do not include local makefile. User is passing all local related variables already\nelse\ninclude Makefile\n# Include makefile containing local settings\nifeq \"$(wildcard nbproject/Makefile-local-default.mk)\" \"nbproject/Makefile-local-default.mk\"\ninclude nbproject/Makefile-local-default.mk\nendif\nendif\n\n# Environment\nMKDIR=gnumkdir -p\nRM=rm -f \nMV=mv \nCP=cp \n\n# Macros\nCND_CONF=default\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nIMAGE_TYPE=debug\nOUTPUT_SUFFIX=elf\nDEBUGGABLE_SUFFIX=elf\nFINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nelse\nIMAGE_TYPE=production\nOUTPUT_SUFFIX=hex\nDEBUGGABLE_SUFFIX=elf\nFINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nendif\n\nifeq ($(COMPARE_BUILD), true)\nCOMPARISON_BUILD=-mafrlcsj\nelse\nCOMPARISON_BUILD=\nendif\n\nifdef SUB_IMAGE_ADDRESS\nSUB_IMAGE_ADDRESS_COMMAND=--image-address $(SUB_IMAGE_ADDRESS)\nelse\nSUB_IMAGE_ADDRESS_COMMAND=\nendif\n\n# Object Directory\nOBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE}\n\n# Distribution Directory\nDISTDIR=dist/${CND_CONF}/${IMAGE_TYPE}\n\n# Source Files Quoted if spaced\nSOURCEFILES_QUOTED_IF_SPACED=../../../../../src/qfn/qepn.c ../../../../../src/qfn/qfn.c ../../../../../src/qkn/qkn.c ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c bsp.c ../../../../../include/qstamp.c ../../main.c ../../philo.c ../../table.c\n\n# Object Files Quoted if spaced\nOBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/_ext/329161665/qepn.o ${OBJECTDIR}/_ext/329161665/qfn.o ${OBJECTDIR}/_ext/329161510/qkn.o ${OBJECTDIR}/_ext/1875001806/qkn_port.o ${OBJECTDIR}/bsp.o ${OBJECTDIR}/_ext/726959463/qstamp.o ${OBJECTDIR}/_ext/43898991/main.o ${OBJECTDIR}/_ext/43898991/philo.o ${OBJECTDIR}/_ext/43898991/table.o\nPOSSIBLE_DEPFILES=${OBJECTDIR}/_ext/329161665/qepn.o.d ${OBJECTDIR}/_ext/329161665/qfn.o.d ${OBJECTDIR}/_ext/329161510/qkn.o.d ${OBJECTDIR}/_ext/1875001806/qkn_port.o.d ${OBJECTDIR}/bsp.o.d ${OBJECTDIR}/_ext/726959463/qstamp.o.d ${OBJECTDIR}/_ext/43898991/main.o.d ${OBJECTDIR}/_ext/43898991/philo.o.d ${OBJECTDIR}/_ext/43898991/table.o.d\n\n# Object Files\nOBJECTFILES=${OBJECTDIR}/_ext/329161665/qepn.o ${OBJECTDIR}/_ext/329161665/qfn.o ${OBJECTDIR}/_ext/329161510/qkn.o ${OBJECTDIR}/_ext/1875001806/qkn_port.o ${OBJECTDIR}/bsp.o ${OBJECTDIR}/_ext/726959463/qstamp.o ${OBJECTDIR}/_ext/43898991/main.o ${OBJECTDIR}/_ext/43898991/philo.o ${OBJECTDIR}/_ext/43898991/table.o\n\n# Source Files\nSOURCEFILES=../../../../../src/qfn/qepn.c ../../../../../src/qfn/qfn.c ../../../../../src/qkn/qkn.c ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c bsp.c ../../../../../include/qstamp.c ../../main.c ../../philo.c ../../table.c\n\n\nCFLAGS=\nASFLAGS=\nLDLIBSOPTIONS=\n\n############# Tool locations ##########################################\n# If you copy a project from one host to another, the path where the  #\n# compiler is installed may be different.                             #\n# If you open this project with MPLAB X in the new host, this         #\n# makefile will be regenerated and the paths will be corrected.       #\n#######################################################################\n# fixDeps replaces a bunch of sed/cat/printf statements that slow down the build\nFIXDEPS=fixDeps\n\n.build-conf:  ${BUILD_SUBPROJECTS}\nifneq ($(INFORMATION_MESSAGE), )\n\t@echo $(INFORMATION_MESSAGE)\nendif\n\t${MAKE}  -f nbproject/Makefile-default.mk dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\n\nMP_PROCESSOR_OPTION=24FJ64GB002\nMP_LINKER_FILE_OPTION=,--script=p24FJ64GB002.gld\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: compile\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\n${OBJECTDIR}/_ext/329161665/qepn.o: ../../../../../src/qfn/qepn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qepn.c  -o ${OBJECTDIR}/_ext/329161665/qepn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qepn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qepn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161665/qfn.o: ../../../../../src/qfn/qfn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qfn.c  -o ${OBJECTDIR}/_ext/329161665/qfn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qfn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qfn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161510/qkn.o: ../../../../../src/qkn/qkn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161510\" \n\t@${RM} ${OBJECTDIR}/_ext/329161510/qkn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161510/qkn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qkn/qkn.c  -o ${OBJECTDIR}/_ext/329161510/qkn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161510/qkn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161510/qkn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/1875001806/qkn_port.o: ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/1875001806\" \n\t@${RM} ${OBJECTDIR}/_ext/1875001806/qkn_port.o.d \n\t@${RM} ${OBJECTDIR}/_ext/1875001806/qkn_port.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c  -o ${OBJECTDIR}/_ext/1875001806/qkn_port.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/1875001806/qkn_port.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/1875001806/qkn_port.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/bsp.o: bsp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}\" \n\t@${RM} ${OBJECTDIR}/bsp.o.d \n\t@${RM} ${OBJECTDIR}/bsp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  bsp.c  -o ${OBJECTDIR}/bsp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/bsp.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/bsp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/726959463/qstamp.o: ../../../../../include/qstamp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/726959463\" \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o.d \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../include/qstamp.c  -o ${OBJECTDIR}/_ext/726959463/qstamp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/main.o: ../../main.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../main.c  -o ${OBJECTDIR}/_ext/43898991/main.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/main.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/main.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/philo.o: ../../philo.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/philo.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/philo.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../philo.c  -o ${OBJECTDIR}/_ext/43898991/philo.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/philo.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/philo.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/table.o: ../../table.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/table.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/table.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../table.c  -o ${OBJECTDIR}/_ext/43898991/table.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/table.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/table.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\nelse\n${OBJECTDIR}/_ext/329161665/qepn.o: ../../../../../src/qfn/qepn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qepn.c  -o ${OBJECTDIR}/_ext/329161665/qepn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qepn.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qepn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161665/qfn.o: ../../../../../src/qfn/qfn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qfn.c  -o ${OBJECTDIR}/_ext/329161665/qfn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qfn.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qfn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161510/qkn.o: ../../../../../src/qkn/qkn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161510\" \n\t@${RM} ${OBJECTDIR}/_ext/329161510/qkn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161510/qkn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qkn/qkn.c  -o ${OBJECTDIR}/_ext/329161510/qkn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161510/qkn.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161510/qkn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/1875001806/qkn_port.o: ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/1875001806\" \n\t@${RM} ${OBJECTDIR}/_ext/1875001806/qkn_port.o.d \n\t@${RM} ${OBJECTDIR}/_ext/1875001806/qkn_port.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c  -o ${OBJECTDIR}/_ext/1875001806/qkn_port.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/1875001806/qkn_port.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/1875001806/qkn_port.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/bsp.o: bsp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}\" \n\t@${RM} ${OBJECTDIR}/bsp.o.d \n\t@${RM} ${OBJECTDIR}/bsp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  bsp.c  -o ${OBJECTDIR}/bsp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/bsp.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/bsp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/726959463/qstamp.o: ../../../../../include/qstamp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/726959463\" \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o.d \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../include/qstamp.c  -o ${OBJECTDIR}/_ext/726959463/qstamp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/main.o: ../../main.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../main.c  -o ${OBJECTDIR}/_ext/43898991/main.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/main.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/main.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/philo.o: ../../philo.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/philo.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/philo.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../philo.c  -o ${OBJECTDIR}/_ext/43898991/philo.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/philo.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/philo.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/table.o: ../../table.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/table.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/table.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../table.c  -o ${OBJECTDIR}/_ext/43898991/table.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/table.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/table.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: assemble\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nelse\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: assemblePreproc\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nelse\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: link\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\ndist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES}  nbproject/Makefile-${CND_CONF}.mk    \n\t@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} \n\t${MP_CC} $(MP_EXTRA_LD_PRE)  -o dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}      -mcpu=$(MP_PROCESSOR_OPTION)        -D__DEBUG=__DEBUG -D__MPLAB_DEBUGGER_PK3=1  -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)   -mreserve=data@0x800:0x81F -mreserve=data@0x820:0x821 -mreserve=data@0x822:0x823 -mreserve=data@0x824:0x825 -mreserve=data@0x826:0x84F   -Wl,,,--defsym=__MPLAB_BUILD=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,-D__DEBUG=__DEBUG,--defsym=__MPLAB_DEBUGGER_PK3=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,--report-mem,--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml$(MP_EXTRA_LD_POST) \n\t\nelse\ndist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES}  nbproject/Makefile-${CND_CONF}.mk   \n\t@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} \n\t${MP_CC} $(MP_EXTRA_LD_PRE)  -o dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}      -mcpu=$(MP_PROCESSOR_OPTION)        -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -Wl,,,--defsym=__MPLAB_BUILD=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,--report-mem,--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml$(MP_EXTRA_LD_POST) \n\t${MP_CC_DIR}\\\\xc16-bin2hex dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -a  -omf=elf  \n\t\nendif\n\n\n# Subprojects\n.build-subprojects:\n\n\n# Subprojects\n.clean-subprojects:\n\n# Clean Targets\n.clean-conf: ${CLEAN_SUBPROJECTS}\n\t${RM} -r build/default\n\t${RM} -r dist/default\n\n# Enable dependency checking\n.dep.inc: .depcheck-impl\n\nDEPFILES=$(shell mplabwildcard ${POSSIBLE_DEPFILES})\nifneq (${DEPFILES},)\ninclude ${DEPFILES}\nendif\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qk/xc16/nbproject/Makefile-genesis.properties",
    "content": "#\n#Tue Jun 11 14:37:41 EDT 2019\ndefault.languagetoolchain.version=1.36\nrelease.languagetoolchain.dir=C\\:\\\\tools\\\\Microchip\\\\xc16\\\\bin\ndefault.com-microchip-mplab-nbide-toolchainXC16-XC16LanguageToolchain.md5=a53e8c22b31e6f5bcc1968d7c72d01dd\nconf.ids=default,release\ndefault.languagetoolchain.dir=C\\:\\\\tools\\\\Microchip\\\\xc16\\\\bin\nconfigurations-xml=b99e8759d94c37cc57ad977d8b264629\ncom-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=37eccb08230908d044ad3fe14e24ea9a\nrelease.com-microchip-mplab-nbide-toolchainXC16-XC16LanguageToolchain.md5=a53e8c22b31e6f5bcc1968d7c72d01dd\nrelease.languagetoolchain.version=1.36\nhost.platform=windows\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qk/xc16/nbproject/Makefile-impl.mk",
    "content": "#\n# Generated Makefile - do not edit!\n#\n# Edit the Makefile in the project folder instead (../Makefile). Each target\n# has a pre- and a post- target defined where you can add customization code.\n#\n# This makefile implements macros and targets common to all configurations.\n#\n# NOCDDL\n\n\n# Building and Cleaning subprojects are done by default, but can be controlled with the SUB\n# macro. If SUB=no, subprojects will not be built or cleaned. The following macro\n# statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf\n# and .clean-reqprojects-conf unless SUB has the value 'no'\nSUB_no=NO\nSUBPROJECTS=${SUB_${SUB}}\nBUILD_SUBPROJECTS_=.build-subprojects\nBUILD_SUBPROJECTS_NO=\nBUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}}\nCLEAN_SUBPROJECTS_=.clean-subprojects\nCLEAN_SUBPROJECTS_NO=\nCLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}}\n\n\n# Project Name\nPROJECTNAME=xc16\n\n# Active Configuration\nDEFAULTCONF=default\nCONF=${DEFAULTCONF}\n\n# All Configurations\nALLCONFS=default release \n\n\n# build\n.build-impl: .build-pre\n\t${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-conf\n\n\n# clean\n.clean-impl: .clean-pre\n\t${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .clean-conf\n\n# clobber\n.clobber-impl: .clobber-pre .depcheck-impl\n\t    ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default clean\n\t    ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=release clean\n\n\n\n# all\n.all-impl: .all-pre .depcheck-impl\n\t    ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default build\n\t    ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=release build\n\n\n\n# dependency checking support\n.depcheck-impl:\n#\t@echo \"# This code depends on make tool being used\" >.dep.inc\n#\t@if [ -n \"${MAKE_VERSION}\" ]; then \\\n#\t    echo \"DEPFILES=\\$$(wildcard \\$$(addsuffix .d, \\$${OBJECTFILES}))\" >>.dep.inc; \\\n#\t    echo \"ifneq (\\$${DEPFILES},)\" >>.dep.inc; \\\n#\t    echo \"include \\$${DEPFILES}\" >>.dep.inc; \\\n#\t    echo \"endif\" >>.dep.inc; \\\n#\telse \\\n#\t    echo \".KEEP_STATE:\" >>.dep.inc; \\\n#\t    echo \".KEEP_STATE_FILE:.make.state.\\$${CONF}\" >>.dep.inc; \\\n#\tfi\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qk/xc16/nbproject/Makefile-local-default.mk",
    "content": "#\n# Generated Makefile - do not edit!\n#\n#\n# This file contains information about the location of compilers and other tools.\n# If you commmit this file into your revision control server, you will be able to \n# to checkout the project and build it from the command line with make. However,\n# if more than one person works on the same project, then this file might show\n# conflicts since different users are bound to have compilers in different places.\n# In that case you might choose to not commit this file and let MPLAB X recreate this file\n# for each user. The disadvantage of not commiting this file is that you must run MPLAB X at\n# least once so the file gets created and the project can be built. Finally, you can also\n# avoid using this file at all if you are only building from the command line with make.\n# You can invoke make with the values of the macros:\n# $ makeMP_CC=\"/opt/microchip/mplabc30/v3.30c/bin/pic30-gcc\" ...  \n#\nSHELL=cmd.exe\nPATH_TO_IDE_BIN=C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/\n# Adding MPLAB X bin directory to path.\nPATH:=C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/:$(PATH)\n# Path to java used to run MPLAB X when this makefile was created\nMP_JAVA_PATH=\"C:\\tools\\Microchip\\MPLABX\\sys\\java\\jre1.8.0_181/bin/\"\nOS_CURRENT=\"$(shell uname -s)\"\nMP_CC=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-gcc.exe\"\n# MP_CPPC is not defined\n# MP_BC is not defined\nMP_AS=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-as.exe\"\nMP_LD=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-ld.exe\"\nMP_AR=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-ar.exe\"\nDEP_GEN=${MP_JAVA_PATH}java -jar \"C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/extractobjectdependencies.jar\"\nMP_CC_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\n# MP_CPPC_DIR is not defined\n# MP_BC_DIR is not defined\nMP_AS_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\nMP_LD_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\nMP_AR_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\n# MP_BC_DIR is not defined\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qk/xc16/nbproject/Makefile-local-release.mk",
    "content": "#\n# Generated Makefile - do not edit!\n#\n#\n# This file contains information about the location of compilers and other tools.\n# If you commmit this file into your revision control server, you will be able to \n# to checkout the project and build it from the command line with make. However,\n# if more than one person works on the same project, then this file might show\n# conflicts since different users are bound to have compilers in different places.\n# In that case you might choose to not commit this file and let MPLAB X recreate this file\n# for each user. The disadvantage of not commiting this file is that you must run MPLAB X at\n# least once so the file gets created and the project can be built. Finally, you can also\n# avoid using this file at all if you are only building from the command line with make.\n# You can invoke make with the values of the macros:\n# $ makeMP_CC=\"/opt/microchip/mplabc30/v3.30c/bin/pic30-gcc\" ...  \n#\nSHELL=cmd.exe\nPATH_TO_IDE_BIN=C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/\n# Adding MPLAB X bin directory to path.\nPATH:=C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/:$(PATH)\n# Path to java used to run MPLAB X when this makefile was created\nMP_JAVA_PATH=\"C:\\tools\\Microchip\\MPLABX\\sys\\java\\jre1.8.0_181/bin/\"\nOS_CURRENT=\"$(shell uname -s)\"\nMP_CC=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-gcc.exe\"\n# MP_CPPC is not defined\n# MP_BC is not defined\nMP_AS=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-as.exe\"\nMP_LD=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-ld.exe\"\nMP_AR=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-ar.exe\"\nDEP_GEN=${MP_JAVA_PATH}java -jar \"C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/extractobjectdependencies.jar\"\nMP_CC_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\n# MP_CPPC_DIR is not defined\n# MP_BC_DIR is not defined\nMP_AS_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\nMP_LD_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\nMP_AR_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\n# MP_BC_DIR is not defined\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qk/xc16/nbproject/Makefile-release.mk",
    "content": "#\n# Generated Makefile - do not edit!\n#\n# Edit the Makefile in the project folder instead (../Makefile). Each target\n# has a -pre and a -post target defined where you can add customized code.\n#\n# This makefile implements configuration specific macros and targets.\n\n\n# Include project Makefile\nifeq \"${IGNORE_LOCAL}\" \"TRUE\"\n# do not include local makefile. User is passing all local related variables already\nelse\ninclude Makefile\n# Include makefile containing local settings\nifeq \"$(wildcard nbproject/Makefile-local-release.mk)\" \"nbproject/Makefile-local-release.mk\"\ninclude nbproject/Makefile-local-release.mk\nendif\nendif\n\n# Environment\nMKDIR=gnumkdir -p\nRM=rm -f \nMV=mv \nCP=cp \n\n# Macros\nCND_CONF=release\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nIMAGE_TYPE=debug\nOUTPUT_SUFFIX=elf\nDEBUGGABLE_SUFFIX=elf\nFINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nelse\nIMAGE_TYPE=production\nOUTPUT_SUFFIX=hex\nDEBUGGABLE_SUFFIX=elf\nFINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nendif\n\nifeq ($(COMPARE_BUILD), true)\nCOMPARISON_BUILD=-mafrlcsj\nelse\nCOMPARISON_BUILD=\nendif\n\nifdef SUB_IMAGE_ADDRESS\nSUB_IMAGE_ADDRESS_COMMAND=--image-address $(SUB_IMAGE_ADDRESS)\nelse\nSUB_IMAGE_ADDRESS_COMMAND=\nendif\n\n# Object Directory\nOBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE}\n\n# Distribution Directory\nDISTDIR=dist/${CND_CONF}/${IMAGE_TYPE}\n\n# Source Files Quoted if spaced\nSOURCEFILES_QUOTED_IF_SPACED=../../../../../src/qfn/qepn.c ../../../../../src/qfn/qfn.c ../../../../../src/qkn/qkn.c ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c bsp.c ../../../../../include/qstamp.c ../../main.c ../../philo.c ../../table.c\n\n# Object Files Quoted if spaced\nOBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/_ext/329161665/qepn.o ${OBJECTDIR}/_ext/329161665/qfn.o ${OBJECTDIR}/_ext/329161510/qkn.o ${OBJECTDIR}/_ext/1875001806/qkn_port.o ${OBJECTDIR}/bsp.o ${OBJECTDIR}/_ext/726959463/qstamp.o ${OBJECTDIR}/_ext/43898991/main.o ${OBJECTDIR}/_ext/43898991/philo.o ${OBJECTDIR}/_ext/43898991/table.o\nPOSSIBLE_DEPFILES=${OBJECTDIR}/_ext/329161665/qepn.o.d ${OBJECTDIR}/_ext/329161665/qfn.o.d ${OBJECTDIR}/_ext/329161510/qkn.o.d ${OBJECTDIR}/_ext/1875001806/qkn_port.o.d ${OBJECTDIR}/bsp.o.d ${OBJECTDIR}/_ext/726959463/qstamp.o.d ${OBJECTDIR}/_ext/43898991/main.o.d ${OBJECTDIR}/_ext/43898991/philo.o.d ${OBJECTDIR}/_ext/43898991/table.o.d\n\n# Object Files\nOBJECTFILES=${OBJECTDIR}/_ext/329161665/qepn.o ${OBJECTDIR}/_ext/329161665/qfn.o ${OBJECTDIR}/_ext/329161510/qkn.o ${OBJECTDIR}/_ext/1875001806/qkn_port.o ${OBJECTDIR}/bsp.o ${OBJECTDIR}/_ext/726959463/qstamp.o ${OBJECTDIR}/_ext/43898991/main.o ${OBJECTDIR}/_ext/43898991/philo.o ${OBJECTDIR}/_ext/43898991/table.o\n\n# Source Files\nSOURCEFILES=../../../../../src/qfn/qepn.c ../../../../../src/qfn/qfn.c ../../../../../src/qkn/qkn.c ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c bsp.c ../../../../../include/qstamp.c ../../main.c ../../philo.c ../../table.c\n\n\nCFLAGS=\nASFLAGS=\nLDLIBSOPTIONS=\n\n############# Tool locations ##########################################\n# If you copy a project from one host to another, the path where the  #\n# compiler is installed may be different.                             #\n# If you open this project with MPLAB X in the new host, this         #\n# makefile will be regenerated and the paths will be corrected.       #\n#######################################################################\n# fixDeps replaces a bunch of sed/cat/printf statements that slow down the build\nFIXDEPS=fixDeps\n\n.build-conf:  ${BUILD_SUBPROJECTS}\nifneq ($(INFORMATION_MESSAGE), )\n\t@echo $(INFORMATION_MESSAGE)\nendif\n\t${MAKE}  -f nbproject/Makefile-release.mk dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\n\nMP_PROCESSOR_OPTION=24FJ64GB002\nMP_LINKER_FILE_OPTION=,--script=p24FJ64GB002.gld\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: compile\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\n${OBJECTDIR}/_ext/329161665/qepn.o: ../../../../../src/qfn/qepn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qepn.c  -o ${OBJECTDIR}/_ext/329161665/qepn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qepn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qepn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161665/qfn.o: ../../../../../src/qfn/qfn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qfn.c  -o ${OBJECTDIR}/_ext/329161665/qfn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qfn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qfn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161510/qkn.o: ../../../../../src/qkn/qkn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161510\" \n\t@${RM} ${OBJECTDIR}/_ext/329161510/qkn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161510/qkn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qkn/qkn.c  -o ${OBJECTDIR}/_ext/329161510/qkn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161510/qkn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161510/qkn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/1875001806/qkn_port.o: ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/1875001806\" \n\t@${RM} ${OBJECTDIR}/_ext/1875001806/qkn_port.o.d \n\t@${RM} ${OBJECTDIR}/_ext/1875001806/qkn_port.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c  -o ${OBJECTDIR}/_ext/1875001806/qkn_port.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/1875001806/qkn_port.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/1875001806/qkn_port.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/bsp.o: bsp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}\" \n\t@${RM} ${OBJECTDIR}/bsp.o.d \n\t@${RM} ${OBJECTDIR}/bsp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  bsp.c  -o ${OBJECTDIR}/bsp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/bsp.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/bsp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/726959463/qstamp.o: ../../../../../include/qstamp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/726959463\" \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o.d \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../include/qstamp.c  -o ${OBJECTDIR}/_ext/726959463/qstamp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/main.o: ../../main.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../main.c  -o ${OBJECTDIR}/_ext/43898991/main.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/main.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/main.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/philo.o: ../../philo.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/philo.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/philo.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../philo.c  -o ${OBJECTDIR}/_ext/43898991/philo.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/philo.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/philo.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/table.o: ../../table.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/table.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/table.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../table.c  -o ${OBJECTDIR}/_ext/43898991/table.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/table.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/table.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\nelse\n${OBJECTDIR}/_ext/329161665/qepn.o: ../../../../../src/qfn/qepn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qepn.c  -o ${OBJECTDIR}/_ext/329161665/qepn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qepn.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qepn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161665/qfn.o: ../../../../../src/qfn/qfn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qfn.c  -o ${OBJECTDIR}/_ext/329161665/qfn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qfn.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qfn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161510/qkn.o: ../../../../../src/qkn/qkn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161510\" \n\t@${RM} ${OBJECTDIR}/_ext/329161510/qkn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161510/qkn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qkn/qkn.c  -o ${OBJECTDIR}/_ext/329161510/qkn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161510/qkn.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161510/qkn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/1875001806/qkn_port.o: ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/1875001806\" \n\t@${RM} ${OBJECTDIR}/_ext/1875001806/qkn_port.o.d \n\t@${RM} ${OBJECTDIR}/_ext/1875001806/qkn_port.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c  -o ${OBJECTDIR}/_ext/1875001806/qkn_port.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/1875001806/qkn_port.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/1875001806/qkn_port.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/bsp.o: bsp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}\" \n\t@${RM} ${OBJECTDIR}/bsp.o.d \n\t@${RM} ${OBJECTDIR}/bsp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  bsp.c  -o ${OBJECTDIR}/bsp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/bsp.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/bsp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/726959463/qstamp.o: ../../../../../include/qstamp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/726959463\" \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o.d \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../include/qstamp.c  -o ${OBJECTDIR}/_ext/726959463/qstamp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/main.o: ../../main.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../main.c  -o ${OBJECTDIR}/_ext/43898991/main.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/main.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/main.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/philo.o: ../../philo.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/philo.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/philo.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../philo.c  -o ${OBJECTDIR}/_ext/43898991/philo.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/philo.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/philo.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/table.o: ../../table.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/table.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/table.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../table.c  -o ${OBJECTDIR}/_ext/43898991/table.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/table.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/table.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: assemble\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nelse\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: assemblePreproc\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nelse\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: link\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\ndist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES}  nbproject/Makefile-${CND_CONF}.mk    \n\t@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} \n\t${MP_CC} $(MP_EXTRA_LD_PRE)  -o dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}      -mcpu=$(MP_PROCESSOR_OPTION)        -D__DEBUG=__DEBUG -D__MPLAB_DEBUGGER_PK3=1  -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)   -mreserve=data@0x800:0x81F -mreserve=data@0x820:0x821 -mreserve=data@0x822:0x823 -mreserve=data@0x824:0x825 -mreserve=data@0x826:0x84F   -Wl,,,--defsym=__MPLAB_BUILD=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,-D__DEBUG=__DEBUG,--defsym=__MPLAB_DEBUGGER_PK3=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,--report-mem,--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml$(MP_EXTRA_LD_POST) \n\t\nelse\ndist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES}  nbproject/Makefile-${CND_CONF}.mk   \n\t@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} \n\t${MP_CC} $(MP_EXTRA_LD_PRE)  -o dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}      -mcpu=$(MP_PROCESSOR_OPTION)        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Wl,,,--defsym=__MPLAB_BUILD=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,--report-mem,--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml$(MP_EXTRA_LD_POST) \n\t${MP_CC_DIR}\\\\xc16-bin2hex dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -a  -omf=elf  \n\t\nendif\n\n\n# Subprojects\n.build-subprojects:\n\n\n# Subprojects\n.clean-subprojects:\n\n# Clean Targets\n.clean-conf: ${CLEAN_SUBPROJECTS}\n\t${RM} -r build/release\n\t${RM} -r dist/release\n\n# Enable dependency checking\n.dep.inc: .depcheck-impl\n\nDEPFILES=$(shell mplabwildcard ${POSSIBLE_DEPFILES})\nifneq (${DEPFILES},)\ninclude ${DEPFILES}\nendif\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qk/xc16/nbproject/Makefile-variables.mk",
    "content": "#\n# Generated - do not edit!\n#\n# NOCDDL\n#\nCND_BASEDIR=`pwd`\n# default configuration\nCND_ARTIFACT_DIR_default=dist/default/production\nCND_ARTIFACT_NAME_default=xc16.production.hex\nCND_ARTIFACT_PATH_default=dist/default/production/xc16.production.hex\nCND_PACKAGE_DIR_default=${CND_DISTDIR}/default/package\nCND_PACKAGE_NAME_default=xc16.tar\nCND_PACKAGE_PATH_default=${CND_DISTDIR}/default/package/xc16.tar\n# release configuration\nCND_ARTIFACT_DIR_release=dist/release/production\nCND_ARTIFACT_NAME_release=xc16.production.hex\nCND_ARTIFACT_PATH_release=dist/release/production/xc16.production.hex\nCND_PACKAGE_DIR_release=${CND_DISTDIR}/release/package\nCND_PACKAGE_NAME_release=xc16.tar\nCND_PACKAGE_PATH_release=${CND_DISTDIR}/release/package/xc16.tar\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qk/xc16/nbproject/Package-default.bash",
    "content": "#!/bin/bash -x\n\n#\n# Generated - do not edit!\n#\n\n# Macros\nTOP=`pwd`\nCND_CONF=default\nCND_DISTDIR=dist\nTMPDIR=build/${CND_CONF}/${IMAGE_TYPE}/tmp-packaging\nTMPDIRNAME=tmp-packaging\nOUTPUT_PATH=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nOUTPUT_BASENAME=xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nPACKAGE_TOP_DIR=xc16/\n\n# Functions\nfunction checkReturnCode\n{\n    rc=$?\n    if [ $rc != 0 ]\n    then\n        exit $rc\n    fi\n}\nfunction makeDirectory\n# $1 directory path\n# $2 permission (optional)\n{\n    mkdir -p \"$1\"\n    checkReturnCode\n    if [ \"$2\" != \"\" ]\n    then\n      chmod $2 \"$1\"\n      checkReturnCode\n    fi\n}\nfunction copyFileToTmpDir\n# $1 from-file path\n# $2 to-file path\n# $3 permission\n{\n    cp \"$1\" \"$2\"\n    checkReturnCode\n    if [ \"$3\" != \"\" ]\n    then\n        chmod $3 \"$2\"\n        checkReturnCode\n    fi\n}\n\n# Setup\ncd \"${TOP}\"\nmkdir -p ${CND_DISTDIR}/${CND_CONF}/package\nrm -rf ${TMPDIR}\nmkdir -p ${TMPDIR}\n\n# Copy files and create directories and links\ncd \"${TOP}\"\nmakeDirectory ${TMPDIR}/xc16/bin\ncopyFileToTmpDir \"${OUTPUT_PATH}\" \"${TMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}\" 0755\n\n\n# Generate tar file\ncd \"${TOP}\"\nrm -f ${CND_DISTDIR}/${CND_CONF}/package/xc16.tar\ncd ${TMPDIR}\ntar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/package/xc16.tar *\ncheckReturnCode\n\n# Cleanup\ncd \"${TOP}\"\nrm -rf ${TMPDIR}\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qk/xc16/nbproject/Package-release.bash",
    "content": "#!/bin/bash -x\n\n#\n# Generated - do not edit!\n#\n\n# Macros\nTOP=`pwd`\nCND_CONF=release\nCND_DISTDIR=dist\nTMPDIR=build/${CND_CONF}/${IMAGE_TYPE}/tmp-packaging\nTMPDIRNAME=tmp-packaging\nOUTPUT_PATH=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nOUTPUT_BASENAME=xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nPACKAGE_TOP_DIR=xc16/\n\n# Functions\nfunction checkReturnCode\n{\n    rc=$?\n    if [ $rc != 0 ]\n    then\n        exit $rc\n    fi\n}\nfunction makeDirectory\n# $1 directory path\n# $2 permission (optional)\n{\n    mkdir -p \"$1\"\n    checkReturnCode\n    if [ \"$2\" != \"\" ]\n    then\n      chmod $2 \"$1\"\n      checkReturnCode\n    fi\n}\nfunction copyFileToTmpDir\n# $1 from-file path\n# $2 to-file path\n# $3 permission\n{\n    cp \"$1\" \"$2\"\n    checkReturnCode\n    if [ \"$3\" != \"\" ]\n    then\n        chmod $3 \"$2\"\n        checkReturnCode\n    fi\n}\n\n# Setup\ncd \"${TOP}\"\nmkdir -p ${CND_DISTDIR}/${CND_CONF}/package\nrm -rf ${TMPDIR}\nmkdir -p ${TMPDIR}\n\n# Copy files and create directories and links\ncd \"${TOP}\"\nmakeDirectory ${TMPDIR}/xc16/bin\ncopyFileToTmpDir \"${OUTPUT_PATH}\" \"${TMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}\" 0755\n\n\n# Generate tar file\ncd \"${TOP}\"\nrm -f ${CND_DISTDIR}/${CND_CONF}/package/xc16.tar\ncd ${TMPDIR}\ntar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/package/xc16.tar *\ncheckReturnCode\n\n# Cleanup\ncd \"${TOP}\"\nrm -rf ${TMPDIR}\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qk/xc16/nbproject/configurations.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<configurationDescriptor version=\"65\">\n  <logicalFolder name=\"root\" displayName=\"root\" projectFiles=\"true\">\n    <logicalFolder name=\"HeaderFiles\"\n                   displayName=\"Header Files\"\n                   projectFiles=\"true\">\n    </logicalFolder>\n    <logicalFolder name=\"LinkerScript\"\n                   displayName=\"Linker Files\"\n                   projectFiles=\"true\">\n    </logicalFolder>\n    <logicalFolder name=\"f1\" displayName=\"QP-nano\" projectFiles=\"true\">\n      <itemPath>../../../../../src/qfn/qepn.c</itemPath>\n      <itemPath>../../../../../src/qfn/qfn.c</itemPath>\n      <itemPath>../../../../../src/qkn/qkn.c</itemPath>\n      <itemPath>../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c</itemPath>\n    </logicalFolder>\n    <logicalFolder name=\"SourceFiles\"\n                   displayName=\"Source Files\"\n                   projectFiles=\"true\">\n      <itemPath>bsp.c</itemPath>\n      <itemPath>../../../../../include/qstamp.c</itemPath>\n      <itemPath>../../bsp.h</itemPath>\n      <itemPath>../../dpp.h</itemPath>\n      <itemPath>../../main.c</itemPath>\n      <itemPath>../../philo.c</itemPath>\n      <itemPath>../../table.c</itemPath>\n    </logicalFolder>\n    <logicalFolder name=\"ExternalFiles\"\n                   displayName=\"Important Files\"\n                   projectFiles=\"false\">\n      <itemPath>Makefile</itemPath>\n    </logicalFolder>\n  </logicalFolder>\n  <sourceRootList>\n    <Elem>../..</Elem>\n    <Elem>../../../../../include</Elem>\n    <Elem>../../../../../ports/pic24_dspic/qk/xc16</Elem>\n    <Elem>../../../../../src/qfn</Elem>\n    <Elem>../../../../../src/qkn</Elem>\n  </sourceRootList>\n  <projectmakefile>Makefile</projectmakefile>\n  <confs>\n    <conf name=\"default\" type=\"2\">\n      <toolsSet>\n        <developmentServer>localhost</developmentServer>\n        <targetDevice>PIC24FJ64GB002</targetDevice>\n        <targetHeader></targetHeader>\n        <targetPluginBoard></targetPluginBoard>\n        <platformTool>PKOBSKDEPlatformTool</platformTool>\n        <languageToolchain>XC16</languageToolchain>\n        <languageToolchainVersion>1.36</languageToolchainVersion>\n        <platform>3</platform>\n      </toolsSet>\n      <packs>\n        <pack name=\"PIC24F-GA-GB_DFP\" vendor=\"Microchip\" version=\"1.0.58\"/>\n      </packs>\n      <compileType>\n        <linkerTool>\n          <linkerLibItems>\n          </linkerLibItems>\n        </linkerTool>\n        <archiverTool>\n        </archiverTool>\n        <loading>\n          <useAlternateLoadableFile>false</useAlternateLoadableFile>\n          <parseOnProdLoad>false</parseOnProdLoad>\n          <alternateLoadableFile></alternateLoadableFile>\n        </loading>\n        <subordinates>\n        </subordinates>\n      </compileType>\n      <makeCustomizationType>\n        <makeCustomizationPreStepEnabled>false</makeCustomizationPreStepEnabled>\n        <makeCustomizationPreStep></makeCustomizationPreStep>\n        <makeCustomizationPostStepEnabled>false</makeCustomizationPostStepEnabled>\n        <makeCustomizationPostStep></makeCustomizationPostStep>\n        <makeCustomizationPutChecksumInUserID>false</makeCustomizationPutChecksumInUserID>\n        <makeCustomizationEnableLongLines>false</makeCustomizationEnableLongLines>\n        <makeCustomizationNormalizeHexFile>false</makeCustomizationNormalizeHexFile>\n      </makeCustomizationType>\n      <C30>\n        <property key=\"code-model\" value=\"default\"/>\n        <property key=\"const-model\" value=\"default\"/>\n        <property key=\"data-model\" value=\"default\"/>\n        <property key=\"disable-instruction-scheduling\" value=\"false\"/>\n        <property key=\"enable-all-warnings\" value=\"true\"/>\n        <property key=\"enable-ansi-std\" value=\"false\"/>\n        <property key=\"enable-ansi-warnings\" value=\"false\"/>\n        <property key=\"enable-fatal-warnings\" value=\"false\"/>\n        <property key=\"enable-large-arrays\" value=\"false\"/>\n        <property key=\"enable-omit-frame-pointer\" value=\"false\"/>\n        <property key=\"enable-procedural-abstraction\" value=\"false\"/>\n        <property key=\"enable-short-double\" value=\"false\"/>\n        <property key=\"enable-symbols\" value=\"true\"/>\n        <property key=\"enable-unroll-loops\" value=\"false\"/>\n        <property key=\"extra-include-directories\"\n                  value=\"..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\src;..\\..\\..\\..\\..\\ports\\pic24_dspic\\qk\\xc16\"/>\n        <property key=\"isolate-each-function\" value=\"false\"/>\n        <property key=\"keep-inline\" value=\"false\"/>\n        <property key=\"oXC16gcc-align-arr\" value=\"false\"/>\n        <property key=\"oXC16gcc-cnsts-mauxflash\" value=\"false\"/>\n        <property key=\"oXC16gcc-data-sects\" value=\"false\"/>\n        <property key=\"oXC16gcc-errata\" value=\"\"/>\n        <property key=\"oXC16gcc-fillupper\" value=\"\"/>\n        <property key=\"oXC16gcc-large-aggregate\" value=\"false\"/>\n        <property key=\"oXC16gcc-mauxflash\" value=\"false\"/>\n        <property key=\"oXC16gcc-mpa-lvl\" value=\"\"/>\n        <property key=\"oXC16gcc-name-text-sec\" value=\"\"/>\n        <property key=\"oXC16gcc-near-chars\" value=\"false\"/>\n        <property key=\"oXC16gcc-no-isr-warn\" value=\"false\"/>\n        <property key=\"oXC16gcc-sfr-warn\" value=\"false\"/>\n        <property key=\"oXC16gcc-smar-io-lvl\" value=\"1\"/>\n        <property key=\"oXC16gcc-smart-io-fmt\" value=\"\"/>\n        <property key=\"optimization-level\" value=\"0\"/>\n        <property key=\"post-instruction-scheduling\" value=\"default\"/>\n        <property key=\"pre-instruction-scheduling\" value=\"default\"/>\n        <property key=\"preprocessor-macros\" value=\"\"/>\n        <property key=\"scalar-model\" value=\"default\"/>\n        <property key=\"use-cci\" value=\"false\"/>\n        <property key=\"use-iar\" value=\"false\"/>\n      </C30>\n      <C30-AR>\n        <property key=\"additional-options-chop-files\" value=\"false\"/>\n      </C30-AR>\n      <C30-AS>\n        <property key=\"assembler-symbols\" value=\"\"/>\n        <property key=\"expand-macros\" value=\"false\"/>\n        <property key=\"extra-include-directories-for-assembler\" value=\"\"/>\n        <property key=\"extra-include-directories-for-preprocessor\" value=\"\"/>\n        <property key=\"false-conditionals\" value=\"false\"/>\n        <property key=\"keep-locals\" value=\"false\"/>\n        <property key=\"list-assembly\" value=\"false\"/>\n        <property key=\"list-section-info\" value=\"false\"/>\n        <property key=\"list-source\" value=\"false\"/>\n        <property key=\"list-symbols\" value=\"false\"/>\n        <property key=\"oXC16asm-extra-opts\" value=\"\"/>\n        <property key=\"oXC16asm-list-to-file\" value=\"false\"/>\n        <property key=\"omit-debug-dirs\" value=\"false\"/>\n        <property key=\"omit-forms\" value=\"false\"/>\n        <property key=\"preprocessor-macros\" value=\"\"/>\n        <property key=\"relax\" value=\"false\"/>\n        <property key=\"warning-level\" value=\"emit-warnings\"/>\n      </C30-AS>\n      <C30-LD>\n        <property key=\"additional-options-use-response-files\" value=\"false\"/>\n        <property key=\"boot-eeprom\" value=\"no_eeprom\"/>\n        <property key=\"boot-flash\" value=\"no_flash\"/>\n        <property key=\"boot-ram\" value=\"no_ram\"/>\n        <property key=\"boot-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"enable-check-sections\" value=\"false\"/>\n        <property key=\"enable-data-init\" value=\"true\"/>\n        <property key=\"enable-default-isr\" value=\"true\"/>\n        <property key=\"enable-handles\" value=\"true\"/>\n        <property key=\"enable-pack-data\" value=\"true\"/>\n        <property key=\"extra-lib-directories\" value=\"\"/>\n        <property key=\"fill-flash-options-addr\" value=\"\"/>\n        <property key=\"fill-flash-options-const\" value=\"\"/>\n        <property key=\"fill-flash-options-how\" value=\"0\"/>\n        <property key=\"fill-flash-options-inc-const\" value=\"1\"/>\n        <property key=\"fill-flash-options-increment\" value=\"\"/>\n        <property key=\"fill-flash-options-seq\" value=\"\"/>\n        <property key=\"fill-flash-options-what\" value=\"0\"/>\n        <property key=\"general-code-protect\" value=\"no_code_protect\"/>\n        <property key=\"general-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"generate-cross-reference-file\" value=\"false\"/>\n        <property key=\"heap-size\" value=\"\"/>\n        <property key=\"input-libraries\" value=\"\"/>\n        <property key=\"linker-stack\" value=\"true\"/>\n        <property key=\"linker-symbols\" value=\"\"/>\n        <property key=\"map-file\" value=\"\"/>\n        <property key=\"no-ivt\" value=\"false\"/>\n        <property key=\"oXC16ld-extra-opts\" value=\"\"/>\n        <property key=\"oXC16ld-fill-upper\" value=\"0\"/>\n        <property key=\"oXC16ld-force-link\" value=\"false\"/>\n        <property key=\"oXC16ld-no-smart-io\" value=\"false\"/>\n        <property key=\"oXC16ld-nostdlib\" value=\"false\"/>\n        <property key=\"oXC16ld-stackguard\" value=\"16\"/>\n        <property key=\"preprocessor-macros\" value=\"\"/>\n        <property key=\"remove-unused-sections\" value=\"false\"/>\n        <property key=\"report-memory-usage\" value=\"true\"/>\n        <property key=\"secure-eeprom\" value=\"no_eeprom\"/>\n        <property key=\"secure-flash\" value=\"no_flash\"/>\n        <property key=\"secure-ram\" value=\"no_ram\"/>\n        <property key=\"secure-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"stack-size\" value=\"16\"/>\n        <property key=\"symbol-stripping\" value=\"\"/>\n        <property key=\"trace-symbols\" value=\"\"/>\n        <property key=\"warn-section-align\" value=\"false\"/>\n      </C30-LD>\n      <C30Global>\n        <property key=\"common-include-directories\" value=\"\"/>\n        <property key=\"dual-boot-partition\" value=\"0\"/>\n        <property key=\"fast-math\" value=\"false\"/>\n        <property key=\"generic-16-bit\" value=\"false\"/>\n        <property key=\"legacy-libc\" value=\"true\"/>\n        <property key=\"mpreserve-all\" value=\"false\"/>\n        <property key=\"oXC16glb-macros\" value=\"\"/>\n        <property key=\"output-file-format\" value=\"elf\"/>\n        <property key=\"preserve-all\" value=\"false\"/>\n        <property key=\"preserve-file\" value=\"\"/>\n        <property key=\"relaxed-math\" value=\"false\"/>\n        <property key=\"save-temps\" value=\"false\"/>\n      </C30Global>\n      <PKOBSKDEPlatformTool>\n        <property key=\"AutoSelectMemRanges\" value=\"auto\"/>\n        <property key=\"SecureSegment.SegmentProgramming\" value=\"FullChipProgramming\"/>\n        <property key=\"ToolFirmwareFilePath\"\n                  value=\"Press to browse for a specific firmware version\"/>\n        <property key=\"ToolFirmwareOption.UseLatestFirmware\" value=\"true\"/>\n        <property key=\"firmware.download.all\" value=\"false\"/>\n        <property key=\"memories.configurationmemory\" value=\"true\"/>\n        <property key=\"memories.dataflash\" value=\"true\"/>\n        <property key=\"memories.eeprom\" value=\"true\"/>\n        <property key=\"memories.id\" value=\"true\"/>\n        <property key=\"memories.programmemory\" value=\"true\"/>\n        <property key=\"memories.programmemory.ranges\" value=\"0-abf7\"/>\n        <property key=\"memories.userotp\" value=\"true\"/>\n        <property key=\"programoptions.donoteraseauxmem\" value=\"false\"/>\n        <property key=\"programoptions.eraseb4program\" value=\"true\"/>\n        <property key=\"programoptions.preservedataflash\" value=\"false\"/>\n        <property key=\"programoptions.preservedataflash.ranges\" value=\"\"/>\n        <property key=\"programoptions.preserveeeprom\" value=\"false\"/>\n        <property key=\"programoptions.preserveeeprom.ranges\"\n                  value=\"${memories.eedata.default}\"/>\n        <property key=\"programoptions.preserveprogram.ranges\" value=\"\"/>\n        <property key=\"programoptions.preserveprogramrange\" value=\"false\"/>\n        <property key=\"programoptions.usehighvoltageonmclr\" value=\"false\"/>\n        <property key=\"programoptions.uselvpprogramming\" value=\"true\"/>\n      </PKOBSKDEPlatformTool>\n    </conf>\n    <conf name=\"release\" type=\"2\">\n      <toolsSet>\n        <developmentServer>localhost</developmentServer>\n        <targetDevice>PIC24FJ64GB002</targetDevice>\n        <targetHeader></targetHeader>\n        <targetPluginBoard></targetPluginBoard>\n        <platformTool>PKOBSKDEPlatformTool</platformTool>\n        <languageToolchain>XC16</languageToolchain>\n        <languageToolchainVersion>1.36</languageToolchainVersion>\n        <platform>3</platform>\n      </toolsSet>\n      <packs>\n        <pack name=\"PIC24F-GA-GB_DFP\" vendor=\"Microchip\" version=\"1.0.58\"/>\n      </packs>\n      <compileType>\n        <linkerTool>\n          <linkerLibItems>\n          </linkerLibItems>\n        </linkerTool>\n        <archiverTool>\n        </archiverTool>\n        <loading>\n          <useAlternateLoadableFile>false</useAlternateLoadableFile>\n          <parseOnProdLoad>false</parseOnProdLoad>\n          <alternateLoadableFile></alternateLoadableFile>\n        </loading>\n        <subordinates>\n        </subordinates>\n      </compileType>\n      <makeCustomizationType>\n        <makeCustomizationPreStepEnabled>false</makeCustomizationPreStepEnabled>\n        <makeCustomizationPreStep></makeCustomizationPreStep>\n        <makeCustomizationPostStepEnabled>false</makeCustomizationPostStepEnabled>\n        <makeCustomizationPostStep></makeCustomizationPostStep>\n        <makeCustomizationPutChecksumInUserID>false</makeCustomizationPutChecksumInUserID>\n        <makeCustomizationEnableLongLines>false</makeCustomizationEnableLongLines>\n        <makeCustomizationNormalizeHexFile>false</makeCustomizationNormalizeHexFile>\n      </makeCustomizationType>\n      <C30>\n        <property key=\"code-model\" value=\"default\"/>\n        <property key=\"const-model\" value=\"default\"/>\n        <property key=\"data-model\" value=\"default\"/>\n        <property key=\"disable-instruction-scheduling\" value=\"false\"/>\n        <property key=\"enable-all-warnings\" value=\"true\"/>\n        <property key=\"enable-ansi-std\" value=\"false\"/>\n        <property key=\"enable-ansi-warnings\" value=\"false\"/>\n        <property key=\"enable-fatal-warnings\" value=\"false\"/>\n        <property key=\"enable-large-arrays\" value=\"false\"/>\n        <property key=\"enable-omit-frame-pointer\" value=\"false\"/>\n        <property key=\"enable-procedural-abstraction\" value=\"false\"/>\n        <property key=\"enable-short-double\" value=\"false\"/>\n        <property key=\"enable-symbols\" value=\"false\"/>\n        <property key=\"enable-unroll-loops\" value=\"false\"/>\n        <property key=\"extra-include-directories\"\n                  value=\"..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\src;..\\..\\..\\..\\..\\ports\\pic24_dspic\\qk\\xc16\"/>\n        <property key=\"isolate-each-function\" value=\"false\"/>\n        <property key=\"keep-inline\" value=\"false\"/>\n        <property key=\"oXC16gcc-align-arr\" value=\"false\"/>\n        <property key=\"oXC16gcc-cnsts-mauxflash\" value=\"false\"/>\n        <property key=\"oXC16gcc-data-sects\" value=\"false\"/>\n        <property key=\"oXC16gcc-errata\" value=\"\"/>\n        <property key=\"oXC16gcc-fillupper\" value=\"\"/>\n        <property key=\"oXC16gcc-large-aggregate\" value=\"false\"/>\n        <property key=\"oXC16gcc-mauxflash\" value=\"false\"/>\n        <property key=\"oXC16gcc-mpa-lvl\" value=\"\"/>\n        <property key=\"oXC16gcc-name-text-sec\" value=\"\"/>\n        <property key=\"oXC16gcc-near-chars\" value=\"false\"/>\n        <property key=\"oXC16gcc-no-isr-warn\" value=\"false\"/>\n        <property key=\"oXC16gcc-sfr-warn\" value=\"false\"/>\n        <property key=\"oXC16gcc-smar-io-lvl\" value=\"1\"/>\n        <property key=\"oXC16gcc-smart-io-fmt\" value=\"\"/>\n        <property key=\"optimization-level\" value=\"s\"/>\n        <property key=\"post-instruction-scheduling\" value=\"default\"/>\n        <property key=\"pre-instruction-scheduling\" value=\"default\"/>\n        <property key=\"preprocessor-macros\" value=\"NDEBUG\"/>\n        <property key=\"scalar-model\" value=\"default\"/>\n        <property key=\"use-cci\" value=\"false\"/>\n        <property key=\"use-iar\" value=\"false\"/>\n      </C30>\n      <C30-AR>\n        <property key=\"additional-options-chop-files\" value=\"false\"/>\n      </C30-AR>\n      <C30-AS>\n        <property key=\"assembler-symbols\" value=\"\"/>\n        <property key=\"expand-macros\" value=\"false\"/>\n        <property key=\"extra-include-directories-for-assembler\" value=\"\"/>\n        <property key=\"extra-include-directories-for-preprocessor\" value=\"\"/>\n        <property key=\"false-conditionals\" value=\"false\"/>\n        <property key=\"keep-locals\" value=\"false\"/>\n        <property key=\"list-assembly\" value=\"false\"/>\n        <property key=\"list-section-info\" value=\"false\"/>\n        <property key=\"list-source\" value=\"false\"/>\n        <property key=\"list-symbols\" value=\"false\"/>\n        <property key=\"oXC16asm-extra-opts\" value=\"\"/>\n        <property key=\"oXC16asm-list-to-file\" value=\"false\"/>\n        <property key=\"omit-debug-dirs\" value=\"false\"/>\n        <property key=\"omit-forms\" value=\"false\"/>\n        <property key=\"preprocessor-macros\" value=\"\"/>\n        <property key=\"relax\" value=\"false\"/>\n        <property key=\"warning-level\" value=\"emit-warnings\"/>\n      </C30-AS>\n      <C30-LD>\n        <property key=\"additional-options-use-response-files\" value=\"false\"/>\n        <property key=\"boot-eeprom\" value=\"no_eeprom\"/>\n        <property key=\"boot-flash\" value=\"no_flash\"/>\n        <property key=\"boot-ram\" value=\"no_ram\"/>\n        <property key=\"boot-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"enable-check-sections\" value=\"false\"/>\n        <property key=\"enable-data-init\" value=\"true\"/>\n        <property key=\"enable-default-isr\" value=\"true\"/>\n        <property key=\"enable-handles\" value=\"true\"/>\n        <property key=\"enable-pack-data\" value=\"true\"/>\n        <property key=\"extra-lib-directories\" value=\"\"/>\n        <property key=\"fill-flash-options-addr\" value=\"\"/>\n        <property key=\"fill-flash-options-const\" value=\"\"/>\n        <property key=\"fill-flash-options-how\" value=\"0\"/>\n        <property key=\"fill-flash-options-inc-const\" value=\"1\"/>\n        <property key=\"fill-flash-options-increment\" value=\"\"/>\n        <property key=\"fill-flash-options-seq\" value=\"\"/>\n        <property key=\"fill-flash-options-what\" value=\"0\"/>\n        <property key=\"general-code-protect\" value=\"no_code_protect\"/>\n        <property key=\"general-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"generate-cross-reference-file\" value=\"false\"/>\n        <property key=\"heap-size\" value=\"\"/>\n        <property key=\"input-libraries\" value=\"\"/>\n        <property key=\"linker-stack\" value=\"true\"/>\n        <property key=\"linker-symbols\" value=\"\"/>\n        <property key=\"map-file\" value=\"\"/>\n        <property key=\"no-ivt\" value=\"false\"/>\n        <property key=\"oXC16ld-extra-opts\" value=\"\"/>\n        <property key=\"oXC16ld-fill-upper\" value=\"0\"/>\n        <property key=\"oXC16ld-force-link\" value=\"false\"/>\n        <property key=\"oXC16ld-no-smart-io\" value=\"false\"/>\n        <property key=\"oXC16ld-nostdlib\" value=\"false\"/>\n        <property key=\"oXC16ld-stackguard\" value=\"16\"/>\n        <property key=\"preprocessor-macros\" value=\"\"/>\n        <property key=\"remove-unused-sections\" value=\"false\"/>\n        <property key=\"report-memory-usage\" value=\"true\"/>\n        <property key=\"secure-eeprom\" value=\"no_eeprom\"/>\n        <property key=\"secure-flash\" value=\"no_flash\"/>\n        <property key=\"secure-ram\" value=\"no_ram\"/>\n        <property key=\"secure-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"stack-size\" value=\"16\"/>\n        <property key=\"symbol-stripping\" value=\"\"/>\n        <property key=\"trace-symbols\" value=\"\"/>\n        <property key=\"warn-section-align\" value=\"false\"/>\n      </C30-LD>\n      <C30Global>\n        <property key=\"common-include-directories\" value=\"\"/>\n        <property key=\"dual-boot-partition\" value=\"0\"/>\n        <property key=\"fast-math\" value=\"false\"/>\n        <property key=\"generic-16-bit\" value=\"false\"/>\n        <property key=\"legacy-libc\" value=\"false\"/>\n        <property key=\"mpreserve-all\" value=\"false\"/>\n        <property key=\"oXC16glb-macros\" value=\"\"/>\n        <property key=\"output-file-format\" value=\"elf\"/>\n        <property key=\"preserve-all\" value=\"false\"/>\n        <property key=\"preserve-file\" value=\"\"/>\n        <property key=\"relaxed-math\" value=\"false\"/>\n        <property key=\"save-temps\" value=\"false\"/>\n      </C30Global>\n      <PKOBSKDEPlatformTool>\n        <property key=\"AutoSelectMemRanges\" value=\"auto\"/>\n        <property key=\"SecureSegment.SegmentProgramming\" value=\"FullChipProgramming\"/>\n        <property key=\"ToolFirmwareFilePath\"\n                  value=\"Press to browse for a specific firmware version\"/>\n        <property key=\"ToolFirmwareOption.UseLatestFirmware\" value=\"true\"/>\n        <property key=\"memories.configurationmemory\" value=\"true\"/>\n        <property key=\"memories.dataflash\" value=\"true\"/>\n        <property key=\"memories.eeprom\" value=\"false\"/>\n        <property key=\"memories.id\" value=\"false\"/>\n        <property key=\"memories.programmemory\" value=\"true\"/>\n        <property key=\"memories.programmemory.ranges\" value=\"0-abf7\"/>\n        <property key=\"memories.userotp\" value=\"true\"/>\n        <property key=\"programoptions.donoteraseauxmem\" value=\"false\"/>\n        <property key=\"programoptions.eraseb4program\" value=\"true\"/>\n        <property key=\"programoptions.preservedataflash\" value=\"false\"/>\n        <property key=\"programoptions.preservedataflash.ranges\" value=\"\"/>\n        <property key=\"programoptions.preserveeeprom\" value=\"false\"/>\n        <property key=\"programoptions.preserveeeprom.ranges\"\n                  value=\"${memories.eedata.default}\"/>\n        <property key=\"programoptions.preserveprogram.ranges\" value=\"\"/>\n        <property key=\"programoptions.preserveprogramrange\" value=\"false\"/>\n        <property key=\"programoptions.usehighvoltageonmclr\" value=\"false\"/>\n        <property key=\"programoptions.uselvpprogramming\" value=\"false\"/>\n      </PKOBSKDEPlatformTool>\n    </conf>\n  </confs>\n</configurationDescriptor>\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qk/xc16/nbproject/private/configurations.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<configurationDescriptor version=\"65\">\n  <projectmakefile>Makefile</projectmakefile>\n  <defaultConf>0</defaultConf>\n  <confs>\n    <conf name=\"default\" type=\"2\">\n      <platformToolSN>:=MPLABComm-USB-Microchip:=&lt;vid>04D8:=&lt;pid>8107:=&lt;rev>0002:=&lt;man>Microchip Technology Incorporated:=&lt;prod>Microstick II SK:=&lt;sn>BUR123045184:=&lt;drv>x:=&lt;xpt>h:=end</platformToolSN>\n      <languageToolchainDir>C:\\tools\\Microchip\\xc16\\bin</languageToolchainDir>\n      <mdbdebugger version=\"1\">\n        <placeholder1>place holder 1</placeholder1>\n        <placeholder2>place holder 2</placeholder2>\n      </mdbdebugger>\n      <runprofile version=\"6\">\n        <args></args>\n        <rundir></rundir>\n        <buildfirst>true</buildfirst>\n        <console-type>0</console-type>\n        <terminal-type>0</terminal-type>\n        <remove-instrumentation>0</remove-instrumentation>\n        <environment>\n        </environment>\n      </runprofile>\n    </conf>\n    <conf name=\"release\" type=\"2\">\n      <platformToolSN>:=MPLABComm-USB-Microchip:=&lt;vid>04D8:=&lt;pid>8107:=&lt;rev>0002:=&lt;man>Microchip Technology Incorporated:=&lt;prod>Microstick II SK:=&lt;sn>BUR123045184:=&lt;drv>x:=&lt;xpt>h:=end</platformToolSN>\n      <languageToolchainDir>C:\\tools\\Microchip\\xc16\\bin</languageToolchainDir>\n      <mdbdebugger version=\"1\">\n        <placeholder1>place holder 1</placeholder1>\n        <placeholder2>place holder 2</placeholder2>\n      </mdbdebugger>\n      <runprofile version=\"6\">\n        <args></args>\n        <rundir></rundir>\n        <buildfirst>true</buildfirst>\n        <console-type>0</console-type>\n        <terminal-type>0</terminal-type>\n        <remove-instrumentation>0</remove-instrumentation>\n        <environment>\n        </environment>\n      </runprofile>\n    </conf>\n  </confs>\n</configurationDescriptor>\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qk/xc16/nbproject/private/private.properties",
    "content": ""
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qk/xc16/nbproject/private/private.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project-private xmlns=\"http://www.netbeans.org/ns/project-private/1\">\n    <editor-bookmarks xmlns=\"http://www.netbeans.org/ns/editor-bookmarks/1\"/>\n    <editor-bookmarks xmlns=\"http://www.netbeans.org/ns/editor-bookmarks/2\" lastBookmarkId=\"0\"/>\n    <open-files xmlns=\"http://www.netbeans.org/ns/projectui-open-files/2\">\n        <group>\n            <file>file:/C:/qp_lab/qpn/ports/pic24_dspic/qk/xc16/qkn_port.c</file>\n        </group>\n    </open-files>\n</project-private>\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qk/xc16/nbproject/project.properties",
    "content": ""
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qk/xc16/nbproject/project.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://www.netbeans.org/ns/project/1\">\n    <type>com.microchip.mplab.nbide.embedded.makeproject</type>\n    <configuration>\n        <data xmlns=\"http://www.netbeans.org/ns/make-project/1\">\n            <name>dpp-microstick2-pic24-qkn</name>\n            <creation-uuid>ee2d0599-d83a-4c0e-b85a-bafd0cebc5f8</creation-uuid>\n            <make-project-type>0</make-project-type>\n            <c-extensions>c</c-extensions>\n            <cpp-extensions/>\n            <header-extensions>h</header-extensions>\n            <sourceEncoding>ISO-8859-1</sourceEncoding>\n            <asminc-extensions/>\n            <make-dep-projects/>\n            <sourceRootList>\n                <sourceRootElem>../..</sourceRootElem>\n                <sourceRootElem>../../../../../include</sourceRootElem>\n                <sourceRootElem>../../../../../ports/pic24_dspic/qk/xc16</sourceRootElem>\n                <sourceRootElem>../../../../../src/qfn</sourceRootElem>\n                <sourceRootElem>../../../../../src/qkn</sourceRootElem>\n            </sourceRootList>\n            <confList>\n                <confElem>\n                    <name>default</name>\n                    <type>2</type>\n                </confElem>\n                <confElem>\n                    <name>release</name>\n                    <type>2</type>\n                </confElem>\n            </confList>\n            <formatting>\n                <project-formatting-style>false</project-formatting-style>\n            </formatting>\n        </data>\n    </configuration>\n</project>\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qpn_conf.h",
    "content": "/*****************************************************************************\n* Product: QP-nano configuration for the DPP example\n* Last updated for version 6.5.1\n* Last updated on  2019-06-10\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef QPN_CONF_H\n#define QPN_CONF_H\n\n#define Q_PARAM_SIZE            2U\n#define QF_MAX_TICK_RATE        1U\n#define QF_TIMEEVT_CTR_SIZE     2U\n#define QF_TIMEEVT_PERIODIC\n\n#endif  /* QPN_CONF_H */\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qv/xc16/Makefile",
    "content": "#\n#  There exist several targets which are by default empty and which can be\n#  used for execution of your targets. These targets are usually executed\n#  before and after some main targets. They are:\n#\n#     .build-pre:              called before 'build' target\n#     .build-post:             called after 'build' target\n#     .clean-pre:              called before 'clean' target\n#     .clean-post:             called after 'clean' target\n#     .clobber-pre:            called before 'clobber' target\n#     .clobber-post:           called after 'clobber' target\n#     .all-pre:                called before 'all' target\n#     .all-post:               called after 'all' target\n#     .help-pre:               called before 'help' target\n#     .help-post:              called after 'help' target\n#\n#  Targets beginning with '.' are not intended to be called on their own.\n#\n#  Main targets can be executed directly, and they are:\n#\n#     build                    build a specific configuration\n#     clean                    remove built files from a configuration\n#     clobber                  remove all built files\n#     all                      build all configurations\n#     help                     print help mesage\n#\n#  Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and\n#  .help-impl are implemented in nbproject/makefile-impl.mk.\n#\n#  Available make variables:\n#\n#     CND_BASEDIR                base directory for relative paths\n#     CND_DISTDIR                default top distribution directory (build artifacts)\n#     CND_BUILDDIR               default top build directory (object files, ...)\n#     CONF                       name of current configuration\n#     CND_ARTIFACT_DIR_${CONF}   directory of build artifact (current configuration)\n#     CND_ARTIFACT_NAME_${CONF}  name of build artifact (current configuration)\n#     CND_ARTIFACT_PATH_${CONF}  path to build artifact (current configuration)\n#     CND_PACKAGE_DIR_${CONF}    directory of package (current configuration)\n#     CND_PACKAGE_NAME_${CONF}   name of package (current configuration)\n#     CND_PACKAGE_PATH_${CONF}   path to package (current configuration)\n#\n# NOCDDL\n\n\n# Environment\nMKDIR=mkdir\nCP=cp\nCCADMIN=CCadmin\nRANLIB=ranlib\n\n\n# build\nbuild: .build-post\n\n.build-pre:\n# Add your pre 'build' code here...\n\n.build-post: .build-impl\n# Add your post 'build' code here...\n\n\n# clean\nclean: .clean-post\n\n.clean-pre:\n# Add your pre 'clean' code here...\n\n.clean-post: .clean-impl\n# Add your post 'clean' code here...\n\n\n# clobber\nclobber: .clobber-post\n\n.clobber-pre:\n# Add your pre 'clobber' code here...\n\n.clobber-post: .clobber-impl\n# Add your post 'clobber' code here...\n\n\n# all\nall: .all-post\n\n.all-pre:\n# Add your pre 'all' code here...\n\n.all-post: .all-impl\n# Add your post 'all' code here...\n\n\n# help\nhelp: .help-post\n\n.help-pre:\n# Add your pre 'help' code here...\n\n.help-post: .help-impl\n# Add your post 'help' code here...\n\n\n\n# include project implementation makefile\ninclude nbproject/Makefile-impl.mk\n\n# include project make variables\ninclude nbproject/Makefile-variables.mk\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qv/xc16/bsp.c",
    "content": "/*****************************************************************************\n* BSP for DPP example, Microstick II board, cooperative QV-nano kernel\n* Last updated for version 6.5.1\n* Last updated on  2019-06-10\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"bsp.h\"\n#include \"dpp.h\"\n\n#include \"p24FJ64GB002.h\"  /* header for PIC24F device in use */\n\nQ_DEFINE_THIS_FILE\n\n/* configure Fast RC Oscillator (FRC) */\n#pragma config FNOSC=FRC\n\n/* Local-scope objects -----------------------------------------------------*/\nstatic uint32_t l_rnd;  /* random seed */\n\n/* frequency of the FRC oscillator ~ 8 MHz */\n#define FOSC_HZ                 8000000.0\n/* instruction cycle clock frequency */\n#define FCY_HZ                  (FOSC_HZ / 2.0)\n/* system clock tick period in CPU clocks / TMR2 prescaler */\n#define BSP_TMR2_PERIOD         ((uint16_t)(FCY_HZ / BSP_TICKS_PER_SEC))\n\n/* controlling the LED of Microstick II */\n#define LED_ON()                (LATA |= (1U << 0))\n#define LED_OFF()               (LATA &= ~(1U << 0))\n#define LED_TOGGLE()            (LATA ^= (1U << 0))\n\n\n/* ISRs --------------------------------------------------------------------*/\nvoid  __attribute__((__interrupt__, auto_psv))\n_T2Interrupt(void) {\n    _T2IF = 0; /* clear Timer 2 interrupt flag */\n\n    QF_tickXISR(0U);   /* process time events for rate 0 */\n\n}\n/*..........................................................................*/\nvoid  __attribute__((__interrupt__, auto_psv))\n_INT0Interrupt() {\n    _INT0IF = 0;\n\n    QACTIVE_POST_ISR((QActive *)&AO_Table, EAT_SIG, 0U);\n}\n\n/*--------------------------------------------------------------------------*/\nvoid BSP_init(void) {\n    RCONbits.SWDTEN = 0; /* disable Watchdog */\n\n    TRISA = 0x00; /* set LED pins as outputs */\n    PORTA = 0x00; /* set LED drive state low */\n\n    BSP_randomSeed(1234U);\n}\n/*..........................................................................*/\nvoid BSP_terminate(int16_t result) {\n    (void)result;\n}\n/*..........................................................................*/\nvoid BSP_displayPhilStat(uint8_t n, char const Q_ROM *stat) {\n    (void)n;\n    (void)stat;\n    LED_TOGGLE();\n}\n/*..........................................................................*/\nvoid BSP_displayPaused(uint8_t paused) {\n    (void)paused;\n}\n/*..........................................................................*/\nuint32_t BSP_random(void) {  /* a very cheap pseudo-random-number generator */\n    /* \"Super-Duper\" Linear Congruential Generator (LCG)\n    * LCG(2^32, 3*7*11*13*23, 0, seed)\n    */\n    l_rnd = l_rnd * (3U*7U*11U*13U*23U);\n    return l_rnd >> 8;\n}\n/*..........................................................................*/\nvoid BSP_randomSeed(uint32_t seed) {\n    l_rnd = seed;\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const file, int line) {\n    (void)file;       /* unused parameter */\n    (void)line;       /* unused parameter */\n    QF_INT_DISABLE(); /* make sure that interrupts are disabled */\n    for (;;) {\n    }\n}\n\n/*..........................................................................*/\nvoid QF_onStartup(void) { /* entered with interrupts locked */\n    T2CON = 0x0000U; /* Use Internal Osc (Fcy), 16 bit mode, prescaler = 1 */\n    TMR2  = 0x0000U; /* Start counting from 0 and clear the prescaler count */\n    PR2   = (uint16_t)(BSP_TMR2_PERIOD - 1U); /* Timer2 period */\n    _T2IF = 0;               /* clear the interrupt for Timer 2 */\n    _T2IE = 1;               /* enable interrupt for Timer 2 */\n    T2CONbits.TON = 1;       /* start Timer 2 */\n\n    INTCON2bits.INT0EP = 0;  /* INT0 interrupt on positive edge */\n    _INT0IF = 0;             /* clear the interrupt for INT0 */\n    _INT0IE = 1;             /* enable INT0 interrupt */\n\n    /* explicitly assign priorities to all interrutps... */\n    _T2IP   = 4; /* Timer 2 interrupt priority (kernel aware) */\n    _INT0IP = 6; /* INT0 interrupt priority (kernel aware) */\n}\n/*..........................................................................*/\nvoid QF_onCleanup(void) {\n}\n/*..........................................................................*/\nvoid QV_onIdle(void) { /* entered with interrupts DISABLED, see NOTE01 */\n\n    /* NOTE: not enough LEDs on the Microstick II board to implement\n    *  the idle loop activity indicator ...\n    */\n    //LED_ON (); /* blink the IDLE LED, see NOTE01 */\n    //LED_OFF();\n\n#ifdef NDEBUG\n    __asm__ volatile(\"disi #0x0001\");\n    Idle(); /* transition to Idle mode, see NOTE02 */\n#else\n    QF_INT_ENABLE(); /* enable interrupts, see NOTE01 */\n#endif\n}\n\n/*****************************************************************************\n* NOTE01:\n* The callback function QV_onIdle() is called with interrupts disabled,\n* because the idle condition can be invalidated by any enabled interrupt\n* that would post events. The QV_onIdle() function *must* re-enable\n* interrupts internally\n*\n* NOTE02:\n* To be on the safe side, the DISICNT counter is set to just 1 cycle just\n* before entering the Idle mode (or Sleep mode, if you choose). This way,\n* interrupts (with priorities 1-6) get enabled at the same time as the\n* transition to the low-power mode.\n*/\n\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qv/xc16/nbproject/Makefile-default.mk",
    "content": "#\n# Generated Makefile - do not edit!\n#\n# Edit the Makefile in the project folder instead (../Makefile). Each target\n# has a -pre and a -post target defined where you can add customized code.\n#\n# This makefile implements configuration specific macros and targets.\n\n\n# Include project Makefile\nifeq \"${IGNORE_LOCAL}\" \"TRUE\"\n# do not include local makefile. User is passing all local related variables already\nelse\ninclude Makefile\n# Include makefile containing local settings\nifeq \"$(wildcard nbproject/Makefile-local-default.mk)\" \"nbproject/Makefile-local-default.mk\"\ninclude nbproject/Makefile-local-default.mk\nendif\nendif\n\n# Environment\nMKDIR=gnumkdir -p\nRM=rm -f \nMV=mv \nCP=cp \n\n# Macros\nCND_CONF=default\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nIMAGE_TYPE=debug\nOUTPUT_SUFFIX=elf\nDEBUGGABLE_SUFFIX=elf\nFINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nelse\nIMAGE_TYPE=production\nOUTPUT_SUFFIX=hex\nDEBUGGABLE_SUFFIX=elf\nFINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nendif\n\nifeq ($(COMPARE_BUILD), true)\nCOMPARISON_BUILD=-mafrlcsj\nelse\nCOMPARISON_BUILD=\nendif\n\nifdef SUB_IMAGE_ADDRESS\nSUB_IMAGE_ADDRESS_COMMAND=--image-address $(SUB_IMAGE_ADDRESS)\nelse\nSUB_IMAGE_ADDRESS_COMMAND=\nendif\n\n# Object Directory\nOBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE}\n\n# Distribution Directory\nDISTDIR=dist/${CND_CONF}/${IMAGE_TYPE}\n\n# Source Files Quoted if spaced\nSOURCEFILES_QUOTED_IF_SPACED=../../../../../src/qfn/qepn.c ../../../../../src/qfn/qfn.c bsp.c ../../../../../include/qstamp.c ../../main.c ../../philo.c ../../table.c ../../../../../src/qvn/qvn.c\n\n# Object Files Quoted if spaced\nOBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/_ext/329161665/qepn.o ${OBJECTDIR}/_ext/329161665/qfn.o ${OBJECTDIR}/bsp.o ${OBJECTDIR}/_ext/726959463/qstamp.o ${OBJECTDIR}/_ext/43898991/main.o ${OBJECTDIR}/_ext/43898991/philo.o ${OBJECTDIR}/_ext/43898991/table.o ${OBJECTDIR}/_ext/329161169/qvn.o\nPOSSIBLE_DEPFILES=${OBJECTDIR}/_ext/329161665/qepn.o.d ${OBJECTDIR}/_ext/329161665/qfn.o.d ${OBJECTDIR}/bsp.o.d ${OBJECTDIR}/_ext/726959463/qstamp.o.d ${OBJECTDIR}/_ext/43898991/main.o.d ${OBJECTDIR}/_ext/43898991/philo.o.d ${OBJECTDIR}/_ext/43898991/table.o.d ${OBJECTDIR}/_ext/329161169/qvn.o.d\n\n# Object Files\nOBJECTFILES=${OBJECTDIR}/_ext/329161665/qepn.o ${OBJECTDIR}/_ext/329161665/qfn.o ${OBJECTDIR}/bsp.o ${OBJECTDIR}/_ext/726959463/qstamp.o ${OBJECTDIR}/_ext/43898991/main.o ${OBJECTDIR}/_ext/43898991/philo.o ${OBJECTDIR}/_ext/43898991/table.o ${OBJECTDIR}/_ext/329161169/qvn.o\n\n# Source Files\nSOURCEFILES=../../../../../src/qfn/qepn.c ../../../../../src/qfn/qfn.c bsp.c ../../../../../include/qstamp.c ../../main.c ../../philo.c ../../table.c ../../../../../src/qvn/qvn.c\n\n\nCFLAGS=\nASFLAGS=\nLDLIBSOPTIONS=\n\n############# Tool locations ##########################################\n# If you copy a project from one host to another, the path where the  #\n# compiler is installed may be different.                             #\n# If you open this project with MPLAB X in the new host, this         #\n# makefile will be regenerated and the paths will be corrected.       #\n#######################################################################\n# fixDeps replaces a bunch of sed/cat/printf statements that slow down the build\nFIXDEPS=fixDeps\n\n.build-conf:  ${BUILD_SUBPROJECTS}\nifneq ($(INFORMATION_MESSAGE), )\n\t@echo $(INFORMATION_MESSAGE)\nendif\n\t${MAKE}  -f nbproject/Makefile-default.mk dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\n\nMP_PROCESSOR_OPTION=24FJ64GB002\nMP_LINKER_FILE_OPTION=,--script=p24FJ64GB002.gld\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: compile\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\n${OBJECTDIR}/_ext/329161665/qepn.o: ../../../../../src/qfn/qepn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qepn.c  -o ${OBJECTDIR}/_ext/329161665/qepn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qepn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qepn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161665/qfn.o: ../../../../../src/qfn/qfn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qfn.c  -o ${OBJECTDIR}/_ext/329161665/qfn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qfn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qfn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/bsp.o: bsp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}\" \n\t@${RM} ${OBJECTDIR}/bsp.o.d \n\t@${RM} ${OBJECTDIR}/bsp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  bsp.c  -o ${OBJECTDIR}/bsp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/bsp.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/bsp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/726959463/qstamp.o: ../../../../../include/qstamp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/726959463\" \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o.d \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../include/qstamp.c  -o ${OBJECTDIR}/_ext/726959463/qstamp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/main.o: ../../main.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../main.c  -o ${OBJECTDIR}/_ext/43898991/main.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/main.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/main.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/philo.o: ../../philo.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/philo.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/philo.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../philo.c  -o ${OBJECTDIR}/_ext/43898991/philo.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/philo.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/philo.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/table.o: ../../table.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/table.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/table.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../table.c  -o ${OBJECTDIR}/_ext/43898991/table.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/table.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/table.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161169/qvn.o: ../../../../../src/qvn/qvn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161169\" \n\t@${RM} ${OBJECTDIR}/_ext/329161169/qvn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161169/qvn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qvn/qvn.c  -o ${OBJECTDIR}/_ext/329161169/qvn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161169/qvn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161169/qvn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\nelse\n${OBJECTDIR}/_ext/329161665/qepn.o: ../../../../../src/qfn/qepn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qepn.c  -o ${OBJECTDIR}/_ext/329161665/qepn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qepn.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qepn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161665/qfn.o: ../../../../../src/qfn/qfn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qfn.c  -o ${OBJECTDIR}/_ext/329161665/qfn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qfn.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qfn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/bsp.o: bsp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}\" \n\t@${RM} ${OBJECTDIR}/bsp.o.d \n\t@${RM} ${OBJECTDIR}/bsp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  bsp.c  -o ${OBJECTDIR}/bsp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/bsp.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/bsp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/726959463/qstamp.o: ../../../../../include/qstamp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/726959463\" \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o.d \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../include/qstamp.c  -o ${OBJECTDIR}/_ext/726959463/qstamp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/main.o: ../../main.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../main.c  -o ${OBJECTDIR}/_ext/43898991/main.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/main.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/main.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/philo.o: ../../philo.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/philo.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/philo.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../philo.c  -o ${OBJECTDIR}/_ext/43898991/philo.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/philo.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/philo.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/table.o: ../../table.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/table.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/table.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../table.c  -o ${OBJECTDIR}/_ext/43898991/table.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/table.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/table.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161169/qvn.o: ../../../../../src/qvn/qvn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161169\" \n\t@${RM} ${OBJECTDIR}/_ext/329161169/qvn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161169/qvn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qvn/qvn.c  -o ${OBJECTDIR}/_ext/329161169/qvn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161169/qvn.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161169/qvn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: assemble\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nelse\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: assemblePreproc\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nelse\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: link\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\ndist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES}  nbproject/Makefile-${CND_CONF}.mk    \n\t@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} \n\t${MP_CC} $(MP_EXTRA_LD_PRE)  -o dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}      -mcpu=$(MP_PROCESSOR_OPTION)        -D__DEBUG=__DEBUG -D__MPLAB_DEBUGGER_PK3=1  -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)   -mreserve=data@0x800:0x81F -mreserve=data@0x820:0x821 -mreserve=data@0x822:0x823 -mreserve=data@0x824:0x825 -mreserve=data@0x826:0x84F   -Wl,,,--defsym=__MPLAB_BUILD=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,-D__DEBUG=__DEBUG,--defsym=__MPLAB_DEBUGGER_PK3=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,--report-mem,--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml$(MP_EXTRA_LD_POST) \n\t\nelse\ndist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES}  nbproject/Makefile-${CND_CONF}.mk   \n\t@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} \n\t${MP_CC} $(MP_EXTRA_LD_PRE)  -o dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}      -mcpu=$(MP_PROCESSOR_OPTION)        -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -Wl,,,--defsym=__MPLAB_BUILD=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,--report-mem,--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml$(MP_EXTRA_LD_POST) \n\t${MP_CC_DIR}\\\\xc16-bin2hex dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -a  -omf=elf  \n\t\nendif\n\n\n# Subprojects\n.build-subprojects:\n\n\n# Subprojects\n.clean-subprojects:\n\n# Clean Targets\n.clean-conf: ${CLEAN_SUBPROJECTS}\n\t${RM} -r build/default\n\t${RM} -r dist/default\n\n# Enable dependency checking\n.dep.inc: .depcheck-impl\n\nDEPFILES=$(shell mplabwildcard ${POSSIBLE_DEPFILES})\nifneq (${DEPFILES},)\ninclude ${DEPFILES}\nendif\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qv/xc16/nbproject/Makefile-genesis.properties",
    "content": "#\n#Tue Jun 11 14:58:10 EDT 2019\ndefault.languagetoolchain.version=1.36\nrelease.languagetoolchain.dir=C\\:\\\\tools\\\\Microchip\\\\xc16\\\\bin\ndefault.com-microchip-mplab-nbide-toolchainXC16-XC16LanguageToolchain.md5=a53e8c22b31e6f5bcc1968d7c72d01dd\nconf.ids=default,release\ndefault.languagetoolchain.dir=C\\:\\\\tools\\\\Microchip\\\\xc16\\\\bin\nconfigurations-xml=7dfda082572eb9e8bde104809c615514\ncom-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=37eccb08230908d044ad3fe14e24ea9a\nrelease.com-microchip-mplab-nbide-toolchainXC16-XC16LanguageToolchain.md5=a53e8c22b31e6f5bcc1968d7c72d01dd\nrelease.languagetoolchain.version=1.36\nhost.platform=windows\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qv/xc16/nbproject/Makefile-impl.mk",
    "content": "#\n# Generated Makefile - do not edit!\n#\n# Edit the Makefile in the project folder instead (../Makefile). Each target\n# has a pre- and a post- target defined where you can add customization code.\n#\n# This makefile implements macros and targets common to all configurations.\n#\n# NOCDDL\n\n\n# Building and Cleaning subprojects are done by default, but can be controlled with the SUB\n# macro. If SUB=no, subprojects will not be built or cleaned. The following macro\n# statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf\n# and .clean-reqprojects-conf unless SUB has the value 'no'\nSUB_no=NO\nSUBPROJECTS=${SUB_${SUB}}\nBUILD_SUBPROJECTS_=.build-subprojects\nBUILD_SUBPROJECTS_NO=\nBUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}}\nCLEAN_SUBPROJECTS_=.clean-subprojects\nCLEAN_SUBPROJECTS_NO=\nCLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}}\n\n\n# Project Name\nPROJECTNAME=xc16\n\n# Active Configuration\nDEFAULTCONF=default\nCONF=${DEFAULTCONF}\n\n# All Configurations\nALLCONFS=default release \n\n\n# build\n.build-impl: .build-pre\n\t${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-conf\n\n\n# clean\n.clean-impl: .clean-pre\n\t${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .clean-conf\n\n# clobber\n.clobber-impl: .clobber-pre .depcheck-impl\n\t    ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default clean\n\t    ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=release clean\n\n\n\n# all\n.all-impl: .all-pre .depcheck-impl\n\t    ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default build\n\t    ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=release build\n\n\n\n# dependency checking support\n.depcheck-impl:\n#\t@echo \"# This code depends on make tool being used\" >.dep.inc\n#\t@if [ -n \"${MAKE_VERSION}\" ]; then \\\n#\t    echo \"DEPFILES=\\$$(wildcard \\$$(addsuffix .d, \\$${OBJECTFILES}))\" >>.dep.inc; \\\n#\t    echo \"ifneq (\\$${DEPFILES},)\" >>.dep.inc; \\\n#\t    echo \"include \\$${DEPFILES}\" >>.dep.inc; \\\n#\t    echo \"endif\" >>.dep.inc; \\\n#\telse \\\n#\t    echo \".KEEP_STATE:\" >>.dep.inc; \\\n#\t    echo \".KEEP_STATE_FILE:.make.state.\\$${CONF}\" >>.dep.inc; \\\n#\tfi\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qv/xc16/nbproject/Makefile-local-default.mk",
    "content": "#\n# Generated Makefile - do not edit!\n#\n#\n# This file contains information about the location of compilers and other tools.\n# If you commmit this file into your revision control server, you will be able to \n# to checkout the project and build it from the command line with make. However,\n# if more than one person works on the same project, then this file might show\n# conflicts since different users are bound to have compilers in different places.\n# In that case you might choose to not commit this file and let MPLAB X recreate this file\n# for each user. The disadvantage of not commiting this file is that you must run MPLAB X at\n# least once so the file gets created and the project can be built. Finally, you can also\n# avoid using this file at all if you are only building from the command line with make.\n# You can invoke make with the values of the macros:\n# $ makeMP_CC=\"/opt/microchip/mplabc30/v3.30c/bin/pic30-gcc\" ...  \n#\nSHELL=cmd.exe\nPATH_TO_IDE_BIN=C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/\n# Adding MPLAB X bin directory to path.\nPATH:=C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/:$(PATH)\n# Path to java used to run MPLAB X when this makefile was created\nMP_JAVA_PATH=\"C:\\tools\\Microchip\\MPLABX\\sys\\java\\jre1.8.0_181/bin/\"\nOS_CURRENT=\"$(shell uname -s)\"\nMP_CC=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-gcc.exe\"\n# MP_CPPC is not defined\n# MP_BC is not defined\nMP_AS=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-as.exe\"\nMP_LD=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-ld.exe\"\nMP_AR=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-ar.exe\"\nDEP_GEN=${MP_JAVA_PATH}java -jar \"C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/extractobjectdependencies.jar\"\nMP_CC_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\n# MP_CPPC_DIR is not defined\n# MP_BC_DIR is not defined\nMP_AS_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\nMP_LD_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\nMP_AR_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\n# MP_BC_DIR is not defined\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qv/xc16/nbproject/Makefile-local-release.mk",
    "content": "#\n# Generated Makefile - do not edit!\n#\n#\n# This file contains information about the location of compilers and other tools.\n# If you commmit this file into your revision control server, you will be able to \n# to checkout the project and build it from the command line with make. However,\n# if more than one person works on the same project, then this file might show\n# conflicts since different users are bound to have compilers in different places.\n# In that case you might choose to not commit this file and let MPLAB X recreate this file\n# for each user. The disadvantage of not commiting this file is that you must run MPLAB X at\n# least once so the file gets created and the project can be built. Finally, you can also\n# avoid using this file at all if you are only building from the command line with make.\n# You can invoke make with the values of the macros:\n# $ makeMP_CC=\"/opt/microchip/mplabc30/v3.30c/bin/pic30-gcc\" ...  \n#\nSHELL=cmd.exe\nPATH_TO_IDE_BIN=C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/\n# Adding MPLAB X bin directory to path.\nPATH:=C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/:$(PATH)\n# Path to java used to run MPLAB X when this makefile was created\nMP_JAVA_PATH=\"C:\\tools\\Microchip\\MPLABX\\sys\\java\\jre1.8.0_181/bin/\"\nOS_CURRENT=\"$(shell uname -s)\"\nMP_CC=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-gcc.exe\"\n# MP_CPPC is not defined\n# MP_BC is not defined\nMP_AS=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-as.exe\"\nMP_LD=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-ld.exe\"\nMP_AR=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-ar.exe\"\nDEP_GEN=${MP_JAVA_PATH}java -jar \"C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/extractobjectdependencies.jar\"\nMP_CC_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\n# MP_CPPC_DIR is not defined\n# MP_BC_DIR is not defined\nMP_AS_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\nMP_LD_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\nMP_AR_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\n# MP_BC_DIR is not defined\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qv/xc16/nbproject/Makefile-release.mk",
    "content": "#\n# Generated Makefile - do not edit!\n#\n# Edit the Makefile in the project folder instead (../Makefile). Each target\n# has a -pre and a -post target defined where you can add customized code.\n#\n# This makefile implements configuration specific macros and targets.\n\n\n# Include project Makefile\nifeq \"${IGNORE_LOCAL}\" \"TRUE\"\n# do not include local makefile. User is passing all local related variables already\nelse\ninclude Makefile\n# Include makefile containing local settings\nifeq \"$(wildcard nbproject/Makefile-local-release.mk)\" \"nbproject/Makefile-local-release.mk\"\ninclude nbproject/Makefile-local-release.mk\nendif\nendif\n\n# Environment\nMKDIR=gnumkdir -p\nRM=rm -f \nMV=mv \nCP=cp \n\n# Macros\nCND_CONF=release\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nIMAGE_TYPE=debug\nOUTPUT_SUFFIX=elf\nDEBUGGABLE_SUFFIX=elf\nFINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nelse\nIMAGE_TYPE=production\nOUTPUT_SUFFIX=hex\nDEBUGGABLE_SUFFIX=elf\nFINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nendif\n\nifeq ($(COMPARE_BUILD), true)\nCOMPARISON_BUILD=-mafrlcsj\nelse\nCOMPARISON_BUILD=\nendif\n\nifdef SUB_IMAGE_ADDRESS\nSUB_IMAGE_ADDRESS_COMMAND=--image-address $(SUB_IMAGE_ADDRESS)\nelse\nSUB_IMAGE_ADDRESS_COMMAND=\nendif\n\n# Object Directory\nOBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE}\n\n# Distribution Directory\nDISTDIR=dist/${CND_CONF}/${IMAGE_TYPE}\n\n# Source Files Quoted if spaced\nSOURCEFILES_QUOTED_IF_SPACED=../../../../../src/qfn/qepn.c ../../../../../src/qfn/qfn.c ../../../../../src/qkn/qkn.c ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c bsp.c ../../../../../include/qstamp.c ../../main.c ../../philo.c ../../table.c\n\n# Object Files Quoted if spaced\nOBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/_ext/329161665/qepn.o ${OBJECTDIR}/_ext/329161665/qfn.o ${OBJECTDIR}/_ext/329161510/qkn.o ${OBJECTDIR}/_ext/1875001806/qkn_port.o ${OBJECTDIR}/bsp.o ${OBJECTDIR}/_ext/726959463/qstamp.o ${OBJECTDIR}/_ext/43898991/main.o ${OBJECTDIR}/_ext/43898991/philo.o ${OBJECTDIR}/_ext/43898991/table.o\nPOSSIBLE_DEPFILES=${OBJECTDIR}/_ext/329161665/qepn.o.d ${OBJECTDIR}/_ext/329161665/qfn.o.d ${OBJECTDIR}/_ext/329161510/qkn.o.d ${OBJECTDIR}/_ext/1875001806/qkn_port.o.d ${OBJECTDIR}/bsp.o.d ${OBJECTDIR}/_ext/726959463/qstamp.o.d ${OBJECTDIR}/_ext/43898991/main.o.d ${OBJECTDIR}/_ext/43898991/philo.o.d ${OBJECTDIR}/_ext/43898991/table.o.d\n\n# Object Files\nOBJECTFILES=${OBJECTDIR}/_ext/329161665/qepn.o ${OBJECTDIR}/_ext/329161665/qfn.o ${OBJECTDIR}/_ext/329161510/qkn.o ${OBJECTDIR}/_ext/1875001806/qkn_port.o ${OBJECTDIR}/bsp.o ${OBJECTDIR}/_ext/726959463/qstamp.o ${OBJECTDIR}/_ext/43898991/main.o ${OBJECTDIR}/_ext/43898991/philo.o ${OBJECTDIR}/_ext/43898991/table.o\n\n# Source Files\nSOURCEFILES=../../../../../src/qfn/qepn.c ../../../../../src/qfn/qfn.c ../../../../../src/qkn/qkn.c ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c bsp.c ../../../../../include/qstamp.c ../../main.c ../../philo.c ../../table.c\n\n\nCFLAGS=\nASFLAGS=\nLDLIBSOPTIONS=\n\n############# Tool locations ##########################################\n# If you copy a project from one host to another, the path where the  #\n# compiler is installed may be different.                             #\n# If you open this project with MPLAB X in the new host, this         #\n# makefile will be regenerated and the paths will be corrected.       #\n#######################################################################\n# fixDeps replaces a bunch of sed/cat/printf statements that slow down the build\nFIXDEPS=fixDeps\n\n.build-conf:  ${BUILD_SUBPROJECTS}\nifneq ($(INFORMATION_MESSAGE), )\n\t@echo $(INFORMATION_MESSAGE)\nendif\n\t${MAKE}  -f nbproject/Makefile-release.mk dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\n\nMP_PROCESSOR_OPTION=24FJ64GB002\nMP_LINKER_FILE_OPTION=,--script=p24FJ64GB002.gld\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: compile\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\n${OBJECTDIR}/_ext/329161665/qepn.o: ../../../../../src/qfn/qepn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qepn.c  -o ${OBJECTDIR}/_ext/329161665/qepn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qepn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qepn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161665/qfn.o: ../../../../../src/qfn/qfn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qfn.c  -o ${OBJECTDIR}/_ext/329161665/qfn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qfn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qfn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161510/qkn.o: ../../../../../src/qkn/qkn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161510\" \n\t@${RM} ${OBJECTDIR}/_ext/329161510/qkn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161510/qkn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qkn/qkn.c  -o ${OBJECTDIR}/_ext/329161510/qkn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161510/qkn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161510/qkn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/1875001806/qkn_port.o: ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/1875001806\" \n\t@${RM} ${OBJECTDIR}/_ext/1875001806/qkn_port.o.d \n\t@${RM} ${OBJECTDIR}/_ext/1875001806/qkn_port.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c  -o ${OBJECTDIR}/_ext/1875001806/qkn_port.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/1875001806/qkn_port.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/1875001806/qkn_port.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/bsp.o: bsp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}\" \n\t@${RM} ${OBJECTDIR}/bsp.o.d \n\t@${RM} ${OBJECTDIR}/bsp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  bsp.c  -o ${OBJECTDIR}/bsp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/bsp.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/bsp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/726959463/qstamp.o: ../../../../../include/qstamp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/726959463\" \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o.d \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../include/qstamp.c  -o ${OBJECTDIR}/_ext/726959463/qstamp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/main.o: ../../main.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../main.c  -o ${OBJECTDIR}/_ext/43898991/main.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/main.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/main.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/philo.o: ../../philo.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/philo.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/philo.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../philo.c  -o ${OBJECTDIR}/_ext/43898991/philo.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/philo.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/philo.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/table.o: ../../table.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/table.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/table.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../table.c  -o ${OBJECTDIR}/_ext/43898991/table.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/table.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/table.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\nelse\n${OBJECTDIR}/_ext/329161665/qepn.o: ../../../../../src/qfn/qepn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qepn.c  -o ${OBJECTDIR}/_ext/329161665/qepn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qepn.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qepn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161665/qfn.o: ../../../../../src/qfn/qfn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qfn.c  -o ${OBJECTDIR}/_ext/329161665/qfn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qfn.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qfn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161510/qkn.o: ../../../../../src/qkn/qkn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161510\" \n\t@${RM} ${OBJECTDIR}/_ext/329161510/qkn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161510/qkn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qkn/qkn.c  -o ${OBJECTDIR}/_ext/329161510/qkn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161510/qkn.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161510/qkn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/1875001806/qkn_port.o: ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/1875001806\" \n\t@${RM} ${OBJECTDIR}/_ext/1875001806/qkn_port.o.d \n\t@${RM} ${OBJECTDIR}/_ext/1875001806/qkn_port.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c  -o ${OBJECTDIR}/_ext/1875001806/qkn_port.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/1875001806/qkn_port.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/1875001806/qkn_port.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/bsp.o: bsp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}\" \n\t@${RM} ${OBJECTDIR}/bsp.o.d \n\t@${RM} ${OBJECTDIR}/bsp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  bsp.c  -o ${OBJECTDIR}/bsp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/bsp.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/bsp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/726959463/qstamp.o: ../../../../../include/qstamp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/726959463\" \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o.d \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../include/qstamp.c  -o ${OBJECTDIR}/_ext/726959463/qstamp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/main.o: ../../main.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../main.c  -o ${OBJECTDIR}/_ext/43898991/main.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/main.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/main.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/philo.o: ../../philo.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/philo.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/philo.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../philo.c  -o ${OBJECTDIR}/_ext/43898991/philo.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/philo.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/philo.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/table.o: ../../table.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/table.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/table.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../table.c  -o ${OBJECTDIR}/_ext/43898991/table.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/table.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/table.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: assemble\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nelse\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: assemblePreproc\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nelse\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: link\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\ndist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES}  nbproject/Makefile-${CND_CONF}.mk    \n\t@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} \n\t${MP_CC} $(MP_EXTRA_LD_PRE)  -o dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}      -mcpu=$(MP_PROCESSOR_OPTION)        -D__DEBUG=__DEBUG -D__MPLAB_DEBUGGER_PK3=1  -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)   -mreserve=data@0x800:0x81F -mreserve=data@0x820:0x821 -mreserve=data@0x822:0x823 -mreserve=data@0x824:0x825 -mreserve=data@0x826:0x84F   -Wl,,,--defsym=__MPLAB_BUILD=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,-D__DEBUG=__DEBUG,--defsym=__MPLAB_DEBUGGER_PK3=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,--report-mem,--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml$(MP_EXTRA_LD_POST) \n\t\nelse\ndist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES}  nbproject/Makefile-${CND_CONF}.mk   \n\t@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} \n\t${MP_CC} $(MP_EXTRA_LD_PRE)  -o dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}      -mcpu=$(MP_PROCESSOR_OPTION)        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Wl,,,--defsym=__MPLAB_BUILD=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,--report-mem,--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml$(MP_EXTRA_LD_POST) \n\t${MP_CC_DIR}\\\\xc16-bin2hex dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -a  -omf=elf  \n\t\nendif\n\n\n# Subprojects\n.build-subprojects:\n\n\n# Subprojects\n.clean-subprojects:\n\n# Clean Targets\n.clean-conf: ${CLEAN_SUBPROJECTS}\n\t${RM} -r build/release\n\t${RM} -r dist/release\n\n# Enable dependency checking\n.dep.inc: .depcheck-impl\n\nDEPFILES=$(shell mplabwildcard ${POSSIBLE_DEPFILES})\nifneq (${DEPFILES},)\ninclude ${DEPFILES}\nendif\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qv/xc16/nbproject/Makefile-variables.mk",
    "content": "#\n# Generated - do not edit!\n#\n# NOCDDL\n#\nCND_BASEDIR=`pwd`\n# default configuration\nCND_ARTIFACT_DIR_default=dist/default/production\nCND_ARTIFACT_NAME_default=xc16.production.hex\nCND_ARTIFACT_PATH_default=dist/default/production/xc16.production.hex\nCND_PACKAGE_DIR_default=${CND_DISTDIR}/default/package\nCND_PACKAGE_NAME_default=xc16.tar\nCND_PACKAGE_PATH_default=${CND_DISTDIR}/default/package/xc16.tar\n# release configuration\nCND_ARTIFACT_DIR_release=dist/release/production\nCND_ARTIFACT_NAME_release=xc16.production.hex\nCND_ARTIFACT_PATH_release=dist/release/production/xc16.production.hex\nCND_PACKAGE_DIR_release=${CND_DISTDIR}/release/package\nCND_PACKAGE_NAME_release=xc16.tar\nCND_PACKAGE_PATH_release=${CND_DISTDIR}/release/package/xc16.tar\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qv/xc16/nbproject/Package-default.bash",
    "content": "#!/bin/bash -x\n\n#\n# Generated - do not edit!\n#\n\n# Macros\nTOP=`pwd`\nCND_CONF=default\nCND_DISTDIR=dist\nTMPDIR=build/${CND_CONF}/${IMAGE_TYPE}/tmp-packaging\nTMPDIRNAME=tmp-packaging\nOUTPUT_PATH=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nOUTPUT_BASENAME=xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nPACKAGE_TOP_DIR=xc16/\n\n# Functions\nfunction checkReturnCode\n{\n    rc=$?\n    if [ $rc != 0 ]\n    then\n        exit $rc\n    fi\n}\nfunction makeDirectory\n# $1 directory path\n# $2 permission (optional)\n{\n    mkdir -p \"$1\"\n    checkReturnCode\n    if [ \"$2\" != \"\" ]\n    then\n      chmod $2 \"$1\"\n      checkReturnCode\n    fi\n}\nfunction copyFileToTmpDir\n# $1 from-file path\n# $2 to-file path\n# $3 permission\n{\n    cp \"$1\" \"$2\"\n    checkReturnCode\n    if [ \"$3\" != \"\" ]\n    then\n        chmod $3 \"$2\"\n        checkReturnCode\n    fi\n}\n\n# Setup\ncd \"${TOP}\"\nmkdir -p ${CND_DISTDIR}/${CND_CONF}/package\nrm -rf ${TMPDIR}\nmkdir -p ${TMPDIR}\n\n# Copy files and create directories and links\ncd \"${TOP}\"\nmakeDirectory ${TMPDIR}/xc16/bin\ncopyFileToTmpDir \"${OUTPUT_PATH}\" \"${TMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}\" 0755\n\n\n# Generate tar file\ncd \"${TOP}\"\nrm -f ${CND_DISTDIR}/${CND_CONF}/package/xc16.tar\ncd ${TMPDIR}\ntar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/package/xc16.tar *\ncheckReturnCode\n\n# Cleanup\ncd \"${TOP}\"\nrm -rf ${TMPDIR}\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qv/xc16/nbproject/Package-release.bash",
    "content": "#!/bin/bash -x\n\n#\n# Generated - do not edit!\n#\n\n# Macros\nTOP=`pwd`\nCND_CONF=release\nCND_DISTDIR=dist\nTMPDIR=build/${CND_CONF}/${IMAGE_TYPE}/tmp-packaging\nTMPDIRNAME=tmp-packaging\nOUTPUT_PATH=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nOUTPUT_BASENAME=xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nPACKAGE_TOP_DIR=xc16/\n\n# Functions\nfunction checkReturnCode\n{\n    rc=$?\n    if [ $rc != 0 ]\n    then\n        exit $rc\n    fi\n}\nfunction makeDirectory\n# $1 directory path\n# $2 permission (optional)\n{\n    mkdir -p \"$1\"\n    checkReturnCode\n    if [ \"$2\" != \"\" ]\n    then\n      chmod $2 \"$1\"\n      checkReturnCode\n    fi\n}\nfunction copyFileToTmpDir\n# $1 from-file path\n# $2 to-file path\n# $3 permission\n{\n    cp \"$1\" \"$2\"\n    checkReturnCode\n    if [ \"$3\" != \"\" ]\n    then\n        chmod $3 \"$2\"\n        checkReturnCode\n    fi\n}\n\n# Setup\ncd \"${TOP}\"\nmkdir -p ${CND_DISTDIR}/${CND_CONF}/package\nrm -rf ${TMPDIR}\nmkdir -p ${TMPDIR}\n\n# Copy files and create directories and links\ncd \"${TOP}\"\nmakeDirectory ${TMPDIR}/xc16/bin\ncopyFileToTmpDir \"${OUTPUT_PATH}\" \"${TMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}\" 0755\n\n\n# Generate tar file\ncd \"${TOP}\"\nrm -f ${CND_DISTDIR}/${CND_CONF}/package/xc16.tar\ncd ${TMPDIR}\ntar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/package/xc16.tar *\ncheckReturnCode\n\n# Cleanup\ncd \"${TOP}\"\nrm -rf ${TMPDIR}\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qv/xc16/nbproject/configurations.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<configurationDescriptor version=\"65\">\n  <logicalFolder name=\"root\" displayName=\"root\" projectFiles=\"true\">\n    <logicalFolder name=\"HeaderFiles\"\n                   displayName=\"Header Files\"\n                   projectFiles=\"true\">\n    </logicalFolder>\n    <logicalFolder name=\"LinkerScript\"\n                   displayName=\"Linker Files\"\n                   projectFiles=\"true\">\n    </logicalFolder>\n    <logicalFolder name=\"f1\" displayName=\"QP-nano\" projectFiles=\"true\">\n      <itemPath>../../../../../src/qfn/qepn.c</itemPath>\n      <itemPath>../../../../../src/qfn/qfn.c</itemPath>\n      <itemPath>../../../../../src/qvn/qvn.c</itemPath>\n    </logicalFolder>\n    <logicalFolder name=\"SourceFiles\"\n                   displayName=\"Source Files\"\n                   projectFiles=\"true\">\n      <itemPath>bsp.c</itemPath>\n      <itemPath>../../../../../include/qstamp.c</itemPath>\n      <itemPath>../../bsp.h</itemPath>\n      <itemPath>../../dpp.h</itemPath>\n      <itemPath>../../main.c</itemPath>\n      <itemPath>../../philo.c</itemPath>\n      <itemPath>../../table.c</itemPath>\n    </logicalFolder>\n    <logicalFolder name=\"ExternalFiles\"\n                   displayName=\"Important Files\"\n                   projectFiles=\"false\">\n      <itemPath>Makefile</itemPath>\n    </logicalFolder>\n  </logicalFolder>\n  <sourceRootList>\n    <Elem>../../../../../src/qf</Elem>\n    <Elem>../../../../../src/qk</Elem>\n    <Elem>../../../../../include</Elem>\n    <Elem>../../../../../src/qs</Elem>\n    <Elem>../..</Elem>\n    <Elem>../../../../../src/qv</Elem>\n    <Elem>../../../../../ports/pic24_dspic/qk/xc16</Elem>\n    <Elem>../../../../../src/qfn</Elem>\n    <Elem>../../../../../src/qkn</Elem>\n    <Elem>../../../../../src/qvn</Elem>\n  </sourceRootList>\n  <projectmakefile>Makefile</projectmakefile>\n  <confs>\n    <conf name=\"default\" type=\"2\">\n      <toolsSet>\n        <developmentServer>localhost</developmentServer>\n        <targetDevice>PIC24FJ64GB002</targetDevice>\n        <targetHeader></targetHeader>\n        <targetPluginBoard></targetPluginBoard>\n        <platformTool>PKOBSKDEPlatformTool</platformTool>\n        <languageToolchain>XC16</languageToolchain>\n        <languageToolchainVersion>1.36</languageToolchainVersion>\n        <platform>3</platform>\n      </toolsSet>\n      <packs>\n        <pack name=\"PIC24F-GA-GB_DFP\" vendor=\"Microchip\" version=\"1.0.58\"/>\n      </packs>\n      <compileType>\n        <linkerTool>\n          <linkerLibItems>\n          </linkerLibItems>\n        </linkerTool>\n        <archiverTool>\n        </archiverTool>\n        <loading>\n          <useAlternateLoadableFile>false</useAlternateLoadableFile>\n          <parseOnProdLoad>false</parseOnProdLoad>\n          <alternateLoadableFile></alternateLoadableFile>\n        </loading>\n        <subordinates>\n        </subordinates>\n      </compileType>\n      <makeCustomizationType>\n        <makeCustomizationPreStepEnabled>false</makeCustomizationPreStepEnabled>\n        <makeCustomizationPreStep></makeCustomizationPreStep>\n        <makeCustomizationPostStepEnabled>false</makeCustomizationPostStepEnabled>\n        <makeCustomizationPostStep></makeCustomizationPostStep>\n        <makeCustomizationPutChecksumInUserID>false</makeCustomizationPutChecksumInUserID>\n        <makeCustomizationEnableLongLines>false</makeCustomizationEnableLongLines>\n        <makeCustomizationNormalizeHexFile>false</makeCustomizationNormalizeHexFile>\n      </makeCustomizationType>\n      <C30>\n        <property key=\"code-model\" value=\"default\"/>\n        <property key=\"const-model\" value=\"default\"/>\n        <property key=\"data-model\" value=\"default\"/>\n        <property key=\"disable-instruction-scheduling\" value=\"false\"/>\n        <property key=\"enable-all-warnings\" value=\"true\"/>\n        <property key=\"enable-ansi-std\" value=\"false\"/>\n        <property key=\"enable-ansi-warnings\" value=\"false\"/>\n        <property key=\"enable-fatal-warnings\" value=\"false\"/>\n        <property key=\"enable-large-arrays\" value=\"false\"/>\n        <property key=\"enable-omit-frame-pointer\" value=\"false\"/>\n        <property key=\"enable-procedural-abstraction\" value=\"false\"/>\n        <property key=\"enable-short-double\" value=\"false\"/>\n        <property key=\"enable-symbols\" value=\"true\"/>\n        <property key=\"enable-unroll-loops\" value=\"false\"/>\n        <property key=\"extra-include-directories\"\n                  value=\"..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\src;..\\..\\..\\..\\..\\ports\\pic24_dspic\\qv\\xc16\"/>\n        <property key=\"isolate-each-function\" value=\"false\"/>\n        <property key=\"keep-inline\" value=\"false\"/>\n        <property key=\"oXC16gcc-align-arr\" value=\"false\"/>\n        <property key=\"oXC16gcc-cnsts-mauxflash\" value=\"false\"/>\n        <property key=\"oXC16gcc-data-sects\" value=\"false\"/>\n        <property key=\"oXC16gcc-errata\" value=\"\"/>\n        <property key=\"oXC16gcc-fillupper\" value=\"\"/>\n        <property key=\"oXC16gcc-large-aggregate\" value=\"false\"/>\n        <property key=\"oXC16gcc-mauxflash\" value=\"false\"/>\n        <property key=\"oXC16gcc-mpa-lvl\" value=\"\"/>\n        <property key=\"oXC16gcc-name-text-sec\" value=\"\"/>\n        <property key=\"oXC16gcc-near-chars\" value=\"false\"/>\n        <property key=\"oXC16gcc-no-isr-warn\" value=\"false\"/>\n        <property key=\"oXC16gcc-sfr-warn\" value=\"false\"/>\n        <property key=\"oXC16gcc-smar-io-lvl\" value=\"1\"/>\n        <property key=\"oXC16gcc-smart-io-fmt\" value=\"\"/>\n        <property key=\"optimization-level\" value=\"0\"/>\n        <property key=\"post-instruction-scheduling\" value=\"default\"/>\n        <property key=\"pre-instruction-scheduling\" value=\"default\"/>\n        <property key=\"preprocessor-macros\" value=\"\"/>\n        <property key=\"scalar-model\" value=\"default\"/>\n        <property key=\"use-cci\" value=\"false\"/>\n        <property key=\"use-iar\" value=\"false\"/>\n      </C30>\n      <C30-AR>\n        <property key=\"additional-options-chop-files\" value=\"false\"/>\n      </C30-AR>\n      <C30-AS>\n        <property key=\"assembler-symbols\" value=\"\"/>\n        <property key=\"expand-macros\" value=\"false\"/>\n        <property key=\"extra-include-directories-for-assembler\" value=\"\"/>\n        <property key=\"extra-include-directories-for-preprocessor\" value=\"\"/>\n        <property key=\"false-conditionals\" value=\"false\"/>\n        <property key=\"keep-locals\" value=\"false\"/>\n        <property key=\"list-assembly\" value=\"false\"/>\n        <property key=\"list-section-info\" value=\"false\"/>\n        <property key=\"list-source\" value=\"false\"/>\n        <property key=\"list-symbols\" value=\"false\"/>\n        <property key=\"oXC16asm-extra-opts\" value=\"\"/>\n        <property key=\"oXC16asm-list-to-file\" value=\"false\"/>\n        <property key=\"omit-debug-dirs\" value=\"false\"/>\n        <property key=\"omit-forms\" value=\"false\"/>\n        <property key=\"preprocessor-macros\" value=\"\"/>\n        <property key=\"relax\" value=\"false\"/>\n        <property key=\"warning-level\" value=\"emit-warnings\"/>\n      </C30-AS>\n      <C30-LD>\n        <property key=\"additional-options-use-response-files\" value=\"false\"/>\n        <property key=\"boot-eeprom\" value=\"no_eeprom\"/>\n        <property key=\"boot-flash\" value=\"no_flash\"/>\n        <property key=\"boot-ram\" value=\"no_ram\"/>\n        <property key=\"boot-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"enable-check-sections\" value=\"false\"/>\n        <property key=\"enable-data-init\" value=\"true\"/>\n        <property key=\"enable-default-isr\" value=\"true\"/>\n        <property key=\"enable-handles\" value=\"true\"/>\n        <property key=\"enable-pack-data\" value=\"true\"/>\n        <property key=\"extra-lib-directories\" value=\"\"/>\n        <property key=\"fill-flash-options-addr\" value=\"\"/>\n        <property key=\"fill-flash-options-const\" value=\"\"/>\n        <property key=\"fill-flash-options-how\" value=\"0\"/>\n        <property key=\"fill-flash-options-inc-const\" value=\"1\"/>\n        <property key=\"fill-flash-options-increment\" value=\"\"/>\n        <property key=\"fill-flash-options-seq\" value=\"\"/>\n        <property key=\"fill-flash-options-what\" value=\"0\"/>\n        <property key=\"general-code-protect\" value=\"no_code_protect\"/>\n        <property key=\"general-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"generate-cross-reference-file\" value=\"false\"/>\n        <property key=\"heap-size\" value=\"\"/>\n        <property key=\"input-libraries\" value=\"\"/>\n        <property key=\"linker-stack\" value=\"true\"/>\n        <property key=\"linker-symbols\" value=\"\"/>\n        <property key=\"map-file\" value=\"\"/>\n        <property key=\"no-ivt\" value=\"false\"/>\n        <property key=\"oXC16ld-extra-opts\" value=\"\"/>\n        <property key=\"oXC16ld-fill-upper\" value=\"0\"/>\n        <property key=\"oXC16ld-force-link\" value=\"false\"/>\n        <property key=\"oXC16ld-no-smart-io\" value=\"false\"/>\n        <property key=\"oXC16ld-nostdlib\" value=\"false\"/>\n        <property key=\"oXC16ld-stackguard\" value=\"16\"/>\n        <property key=\"preprocessor-macros\" value=\"\"/>\n        <property key=\"remove-unused-sections\" value=\"false\"/>\n        <property key=\"report-memory-usage\" value=\"true\"/>\n        <property key=\"secure-eeprom\" value=\"no_eeprom\"/>\n        <property key=\"secure-flash\" value=\"no_flash\"/>\n        <property key=\"secure-ram\" value=\"no_ram\"/>\n        <property key=\"secure-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"stack-size\" value=\"16\"/>\n        <property key=\"symbol-stripping\" value=\"\"/>\n        <property key=\"trace-symbols\" value=\"\"/>\n        <property key=\"warn-section-align\" value=\"false\"/>\n      </C30-LD>\n      <C30Global>\n        <property key=\"common-include-directories\" value=\"\"/>\n        <property key=\"dual-boot-partition\" value=\"0\"/>\n        <property key=\"fast-math\" value=\"false\"/>\n        <property key=\"generic-16-bit\" value=\"false\"/>\n        <property key=\"legacy-libc\" value=\"true\"/>\n        <property key=\"mpreserve-all\" value=\"false\"/>\n        <property key=\"oXC16glb-macros\" value=\"\"/>\n        <property key=\"output-file-format\" value=\"elf\"/>\n        <property key=\"preserve-all\" value=\"false\"/>\n        <property key=\"preserve-file\" value=\"\"/>\n        <property key=\"relaxed-math\" value=\"false\"/>\n        <property key=\"save-temps\" value=\"false\"/>\n      </C30Global>\n      <PKOBSKDEPlatformTool>\n        <property key=\"AutoSelectMemRanges\" value=\"auto\"/>\n        <property key=\"SecureSegment.SegmentProgramming\" value=\"FullChipProgramming\"/>\n        <property key=\"ToolFirmwareFilePath\"\n                  value=\"Press to browse for a specific firmware version\"/>\n        <property key=\"ToolFirmwareOption.UseLatestFirmware\" value=\"true\"/>\n        <property key=\"firmware.download.all\" value=\"false\"/>\n        <property key=\"memories.configurationmemory\" value=\"true\"/>\n        <property key=\"memories.dataflash\" value=\"true\"/>\n        <property key=\"memories.eeprom\" value=\"true\"/>\n        <property key=\"memories.id\" value=\"true\"/>\n        <property key=\"memories.programmemory\" value=\"true\"/>\n        <property key=\"memories.programmemory.ranges\" value=\"0-abf7\"/>\n        <property key=\"memories.userotp\" value=\"true\"/>\n        <property key=\"programoptions.donoteraseauxmem\" value=\"false\"/>\n        <property key=\"programoptions.eraseb4program\" value=\"true\"/>\n        <property key=\"programoptions.preservedataflash\" value=\"false\"/>\n        <property key=\"programoptions.preservedataflash.ranges\" value=\"\"/>\n        <property key=\"programoptions.preserveeeprom\" value=\"false\"/>\n        <property key=\"programoptions.preserveeeprom.ranges\"\n                  value=\"${memories.eedata.default}\"/>\n        <property key=\"programoptions.preserveprogram.ranges\" value=\"\"/>\n        <property key=\"programoptions.preserveprogramrange\" value=\"false\"/>\n        <property key=\"programoptions.usehighvoltageonmclr\" value=\"false\"/>\n        <property key=\"programoptions.uselvpprogramming\" value=\"true\"/>\n      </PKOBSKDEPlatformTool>\n    </conf>\n    <conf name=\"release\" type=\"2\">\n      <toolsSet>\n        <developmentServer>localhost</developmentServer>\n        <targetDevice>PIC24FJ64GB002</targetDevice>\n        <targetHeader></targetHeader>\n        <targetPluginBoard></targetPluginBoard>\n        <platformTool>PKOBSKDEPlatformTool</platformTool>\n        <languageToolchain>XC16</languageToolchain>\n        <languageToolchainVersion>1.36</languageToolchainVersion>\n        <platform>3</platform>\n      </toolsSet>\n      <packs>\n        <pack name=\"PIC24F-GA-GB_DFP\" vendor=\"Microchip\" version=\"1.0.58\"/>\n      </packs>\n      <compileType>\n        <linkerTool>\n          <linkerLibItems>\n          </linkerLibItems>\n        </linkerTool>\n        <archiverTool>\n        </archiverTool>\n        <loading>\n          <useAlternateLoadableFile>false</useAlternateLoadableFile>\n          <parseOnProdLoad>false</parseOnProdLoad>\n          <alternateLoadableFile></alternateLoadableFile>\n        </loading>\n        <subordinates>\n        </subordinates>\n      </compileType>\n      <makeCustomizationType>\n        <makeCustomizationPreStepEnabled>false</makeCustomizationPreStepEnabled>\n        <makeCustomizationPreStep></makeCustomizationPreStep>\n        <makeCustomizationPostStepEnabled>false</makeCustomizationPostStepEnabled>\n        <makeCustomizationPostStep></makeCustomizationPostStep>\n        <makeCustomizationPutChecksumInUserID>false</makeCustomizationPutChecksumInUserID>\n        <makeCustomizationEnableLongLines>false</makeCustomizationEnableLongLines>\n        <makeCustomizationNormalizeHexFile>false</makeCustomizationNormalizeHexFile>\n      </makeCustomizationType>\n      <C30>\n        <property key=\"code-model\" value=\"default\"/>\n        <property key=\"const-model\" value=\"default\"/>\n        <property key=\"data-model\" value=\"default\"/>\n        <property key=\"disable-instruction-scheduling\" value=\"false\"/>\n        <property key=\"enable-all-warnings\" value=\"true\"/>\n        <property key=\"enable-ansi-std\" value=\"false\"/>\n        <property key=\"enable-ansi-warnings\" value=\"false\"/>\n        <property key=\"enable-fatal-warnings\" value=\"false\"/>\n        <property key=\"enable-large-arrays\" value=\"false\"/>\n        <property key=\"enable-omit-frame-pointer\" value=\"false\"/>\n        <property key=\"enable-procedural-abstraction\" value=\"false\"/>\n        <property key=\"enable-short-double\" value=\"false\"/>\n        <property key=\"enable-symbols\" value=\"false\"/>\n        <property key=\"enable-unroll-loops\" value=\"false\"/>\n        <property key=\"extra-include-directories\"\n                  value=\"..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\src;..\\..\\..\\..\\..\\ports\\pic24_dspic\\qv\\xc16\"/>\n        <property key=\"isolate-each-function\" value=\"false\"/>\n        <property key=\"keep-inline\" value=\"false\"/>\n        <property key=\"oXC16gcc-align-arr\" value=\"false\"/>\n        <property key=\"oXC16gcc-cnsts-mauxflash\" value=\"false\"/>\n        <property key=\"oXC16gcc-data-sects\" value=\"false\"/>\n        <property key=\"oXC16gcc-errata\" value=\"\"/>\n        <property key=\"oXC16gcc-fillupper\" value=\"\"/>\n        <property key=\"oXC16gcc-large-aggregate\" value=\"false\"/>\n        <property key=\"oXC16gcc-mauxflash\" value=\"false\"/>\n        <property key=\"oXC16gcc-mpa-lvl\" value=\"\"/>\n        <property key=\"oXC16gcc-name-text-sec\" value=\"\"/>\n        <property key=\"oXC16gcc-near-chars\" value=\"false\"/>\n        <property key=\"oXC16gcc-no-isr-warn\" value=\"false\"/>\n        <property key=\"oXC16gcc-sfr-warn\" value=\"false\"/>\n        <property key=\"oXC16gcc-smar-io-lvl\" value=\"1\"/>\n        <property key=\"oXC16gcc-smart-io-fmt\" value=\"\"/>\n        <property key=\"optimization-level\" value=\"s\"/>\n        <property key=\"post-instruction-scheduling\" value=\"default\"/>\n        <property key=\"pre-instruction-scheduling\" value=\"default\"/>\n        <property key=\"preprocessor-macros\" value=\"NDEBUG\"/>\n        <property key=\"scalar-model\" value=\"default\"/>\n        <property key=\"use-cci\" value=\"false\"/>\n        <property key=\"use-iar\" value=\"false\"/>\n      </C30>\n      <C30-AR>\n        <property key=\"additional-options-chop-files\" value=\"false\"/>\n      </C30-AR>\n      <C30-AS>\n        <property key=\"assembler-symbols\" value=\"\"/>\n        <property key=\"expand-macros\" value=\"false\"/>\n        <property key=\"extra-include-directories-for-assembler\" value=\"\"/>\n        <property key=\"extra-include-directories-for-preprocessor\" value=\"\"/>\n        <property key=\"false-conditionals\" value=\"false\"/>\n        <property key=\"keep-locals\" value=\"false\"/>\n        <property key=\"list-assembly\" value=\"false\"/>\n        <property key=\"list-section-info\" value=\"false\"/>\n        <property key=\"list-source\" value=\"false\"/>\n        <property key=\"list-symbols\" value=\"false\"/>\n        <property key=\"oXC16asm-extra-opts\" value=\"\"/>\n        <property key=\"oXC16asm-list-to-file\" value=\"false\"/>\n        <property key=\"omit-debug-dirs\" value=\"false\"/>\n        <property key=\"omit-forms\" value=\"false\"/>\n        <property key=\"preprocessor-macros\" value=\"\"/>\n        <property key=\"relax\" value=\"false\"/>\n        <property key=\"warning-level\" value=\"emit-warnings\"/>\n      </C30-AS>\n      <C30-LD>\n        <property key=\"additional-options-use-response-files\" value=\"false\"/>\n        <property key=\"boot-eeprom\" value=\"no_eeprom\"/>\n        <property key=\"boot-flash\" value=\"no_flash\"/>\n        <property key=\"boot-ram\" value=\"no_ram\"/>\n        <property key=\"boot-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"enable-check-sections\" value=\"false\"/>\n        <property key=\"enable-data-init\" value=\"true\"/>\n        <property key=\"enable-default-isr\" value=\"true\"/>\n        <property key=\"enable-handles\" value=\"true\"/>\n        <property key=\"enable-pack-data\" value=\"true\"/>\n        <property key=\"extra-lib-directories\" value=\"\"/>\n        <property key=\"fill-flash-options-addr\" value=\"\"/>\n        <property key=\"fill-flash-options-const\" value=\"\"/>\n        <property key=\"fill-flash-options-how\" value=\"0\"/>\n        <property key=\"fill-flash-options-inc-const\" value=\"1\"/>\n        <property key=\"fill-flash-options-increment\" value=\"\"/>\n        <property key=\"fill-flash-options-seq\" value=\"\"/>\n        <property key=\"fill-flash-options-what\" value=\"0\"/>\n        <property key=\"general-code-protect\" value=\"no_code_protect\"/>\n        <property key=\"general-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"generate-cross-reference-file\" value=\"false\"/>\n        <property key=\"heap-size\" value=\"\"/>\n        <property key=\"input-libraries\" value=\"\"/>\n        <property key=\"linker-stack\" value=\"true\"/>\n        <property key=\"linker-symbols\" value=\"\"/>\n        <property key=\"map-file\" value=\"\"/>\n        <property key=\"no-ivt\" value=\"false\"/>\n        <property key=\"oXC16ld-extra-opts\" value=\"\"/>\n        <property key=\"oXC16ld-fill-upper\" value=\"0\"/>\n        <property key=\"oXC16ld-force-link\" value=\"false\"/>\n        <property key=\"oXC16ld-no-smart-io\" value=\"false\"/>\n        <property key=\"oXC16ld-nostdlib\" value=\"false\"/>\n        <property key=\"oXC16ld-stackguard\" value=\"16\"/>\n        <property key=\"preprocessor-macros\" value=\"\"/>\n        <property key=\"remove-unused-sections\" value=\"false\"/>\n        <property key=\"report-memory-usage\" value=\"true\"/>\n        <property key=\"secure-eeprom\" value=\"no_eeprom\"/>\n        <property key=\"secure-flash\" value=\"no_flash\"/>\n        <property key=\"secure-ram\" value=\"no_ram\"/>\n        <property key=\"secure-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"stack-size\" value=\"16\"/>\n        <property key=\"symbol-stripping\" value=\"\"/>\n        <property key=\"trace-symbols\" value=\"\"/>\n        <property key=\"warn-section-align\" value=\"false\"/>\n      </C30-LD>\n      <C30Global>\n        <property key=\"common-include-directories\" value=\"\"/>\n        <property key=\"dual-boot-partition\" value=\"0\"/>\n        <property key=\"fast-math\" value=\"false\"/>\n        <property key=\"generic-16-bit\" value=\"false\"/>\n        <property key=\"legacy-libc\" value=\"false\"/>\n        <property key=\"mpreserve-all\" value=\"false\"/>\n        <property key=\"oXC16glb-macros\" value=\"\"/>\n        <property key=\"output-file-format\" value=\"elf\"/>\n        <property key=\"preserve-all\" value=\"false\"/>\n        <property key=\"preserve-file\" value=\"\"/>\n        <property key=\"relaxed-math\" value=\"false\"/>\n        <property key=\"save-temps\" value=\"false\"/>\n      </C30Global>\n      <PKOBSKDEPlatformTool>\n        <property key=\"AutoSelectMemRanges\" value=\"auto\"/>\n        <property key=\"SecureSegment.SegmentProgramming\" value=\"FullChipProgramming\"/>\n        <property key=\"ToolFirmwareFilePath\"\n                  value=\"Press to browse for a specific firmware version\"/>\n        <property key=\"ToolFirmwareOption.UseLatestFirmware\" value=\"true\"/>\n        <property key=\"memories.configurationmemory\" value=\"true\"/>\n        <property key=\"memories.dataflash\" value=\"true\"/>\n        <property key=\"memories.eeprom\" value=\"false\"/>\n        <property key=\"memories.id\" value=\"false\"/>\n        <property key=\"memories.programmemory\" value=\"true\"/>\n        <property key=\"memories.programmemory.ranges\" value=\"0-abf7\"/>\n        <property key=\"memories.userotp\" value=\"true\"/>\n        <property key=\"programoptions.donoteraseauxmem\" value=\"false\"/>\n        <property key=\"programoptions.eraseb4program\" value=\"true\"/>\n        <property key=\"programoptions.preservedataflash\" value=\"false\"/>\n        <property key=\"programoptions.preservedataflash.ranges\" value=\"\"/>\n        <property key=\"programoptions.preserveeeprom\" value=\"false\"/>\n        <property key=\"programoptions.preserveeeprom.ranges\"\n                  value=\"${memories.eedata.default}\"/>\n        <property key=\"programoptions.preserveprogram.ranges\" value=\"\"/>\n        <property key=\"programoptions.preserveprogramrange\" value=\"false\"/>\n        <property key=\"programoptions.usehighvoltageonmclr\" value=\"false\"/>\n        <property key=\"programoptions.uselvpprogramming\" value=\"false\"/>\n      </PKOBSKDEPlatformTool>\n    </conf>\n  </confs>\n</configurationDescriptor>\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qv/xc16/nbproject/private/configurations.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<configurationDescriptor version=\"65\">\n  <projectmakefile>Makefile</projectmakefile>\n  <defaultConf>0</defaultConf>\n  <confs>\n    <conf name=\"default\" type=\"2\">\n      <platformToolSN>:=MPLABComm-USB-Microchip:=&lt;vid>04D8:=&lt;pid>8107:=&lt;rev>0002:=&lt;man>Microchip Technology Incorporated:=&lt;prod>Microstick II SK:=&lt;sn>BUR123045184:=&lt;drv>x:=&lt;xpt>h:=end</platformToolSN>\n      <languageToolchainDir>C:\\tools\\Microchip\\xc16\\bin</languageToolchainDir>\n      <mdbdebugger version=\"1\">\n        <placeholder1>place holder 1</placeholder1>\n        <placeholder2>place holder 2</placeholder2>\n      </mdbdebugger>\n      <runprofile version=\"6\">\n        <args></args>\n        <rundir></rundir>\n        <buildfirst>true</buildfirst>\n        <console-type>0</console-type>\n        <terminal-type>0</terminal-type>\n        <remove-instrumentation>0</remove-instrumentation>\n        <environment>\n        </environment>\n      </runprofile>\n    </conf>\n    <conf name=\"release\" type=\"2\">\n      <platformToolSN>:=MPLABComm-USB-Microchip:=&lt;vid>04D8:=&lt;pid>8107:=&lt;rev>0002:=&lt;man>Microchip Technology Incorporated:=&lt;prod>Microstick II SK:=&lt;sn>BUR123045184:=&lt;drv>x:=&lt;xpt>h:=end</platformToolSN>\n      <languageToolchainDir>C:\\tools\\Microchip\\xc16\\bin</languageToolchainDir>\n      <mdbdebugger version=\"1\">\n        <placeholder1>place holder 1</placeholder1>\n        <placeholder2>place holder 2</placeholder2>\n      </mdbdebugger>\n      <runprofile version=\"6\">\n        <args></args>\n        <rundir></rundir>\n        <buildfirst>true</buildfirst>\n        <console-type>0</console-type>\n        <terminal-type>0</terminal-type>\n        <remove-instrumentation>0</remove-instrumentation>\n        <environment>\n        </environment>\n      </runprofile>\n    </conf>\n  </confs>\n</configurationDescriptor>\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qv/xc16/nbproject/private/private.properties",
    "content": ""
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qv/xc16/nbproject/private/private.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project-private xmlns=\"http://www.netbeans.org/ns/project-private/1\">\n    <editor-bookmarks xmlns=\"http://www.netbeans.org/ns/editor-bookmarks/1\"/>\n    <editor-bookmarks xmlns=\"http://www.netbeans.org/ns/editor-bookmarks/2\" lastBookmarkId=\"0\"/>\n    <open-files xmlns=\"http://www.netbeans.org/ns/projectui-open-files/2\">\n        <group>\n            <file>file:/C:/qp_lab/qpn/examples/pic24_dspic/dpp_microstick2-pic24.X/qk/xc16/bsp.c</file>\n            <file>file:/C:/qp_lab/qpn/src/qvn/qvn.c</file>\n        </group>\n    </open-files>\n</project-private>\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qv/xc16/nbproject/project.properties",
    "content": ""
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/qv/xc16/nbproject/project.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://www.netbeans.org/ns/project/1\">\n    <type>com.microchip.mplab.nbide.embedded.makeproject</type>\n    <configuration>\n        <data xmlns=\"http://www.netbeans.org/ns/make-project/1\">\n            <name>dpp-microstick2-pic24-qvn</name>\n            <creation-uuid>ee2d0599-d83a-4c0e-b85a-bafd0cebc5f8</creation-uuid>\n            <make-project-type>0</make-project-type>\n            <c-extensions>c</c-extensions>\n            <cpp-extensions/>\n            <header-extensions>h</header-extensions>\n            <sourceEncoding>ISO-8859-1</sourceEncoding>\n            <asminc-extensions/>\n            <make-dep-projects/>\n            <sourceRootList>\n                <sourceRootElem>../../../../../src/qf</sourceRootElem>\n                <sourceRootElem>../../../../../src/qk</sourceRootElem>\n                <sourceRootElem>../../../../../include</sourceRootElem>\n                <sourceRootElem>../../../../../src/qs</sourceRootElem>\n                <sourceRootElem>../..</sourceRootElem>\n                <sourceRootElem>../../../../../src/qv</sourceRootElem>\n                <sourceRootElem>../../../../../ports/pic24_dspic/qk/xc16</sourceRootElem>\n                <sourceRootElem>../../../../../src/qfn</sourceRootElem>\n                <sourceRootElem>../../../../../src/qkn</sourceRootElem>\n                <sourceRootElem>../../../../../src/qvn</sourceRootElem>\n            </sourceRootList>\n            <confList>\n                <confElem>\n                    <name>default</name>\n                    <type>2</type>\n                </confElem>\n                <confElem>\n                    <name>release</name>\n                    <type>2</type>\n                </confElem>\n            </confList>\n            <formatting>\n                <project-formatting-style>false</project-formatting-style>\n            </formatting>\n        </data>\n    </configuration>\n</project>\n"
  },
  {
    "path": "examples/pic24_dspic/dpp_microstick2-pic24/table.c",
    "content": "/*.$file${.::table.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: dpp.qm\n* File:  ${.::table.c}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::table.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"  /* QP-nano port */\n#include \"bsp.h\"  /* Board Support Package */\n#include \"dpp.h\"  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(\"table\")\n\n/* Active object class -----------------------------------------------------*/\n/*.$declare${AOs::Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table} ...........................................................*/\ntypedef struct Table {\n/* protected: */\n    QActive super;\n\n/* private: */\n    uint8_t fork[N_PHILO];\n    uint8_t isHungry[N_PHILO];\n} Table;\n\n/* protected: */\nstatic QState Table_initial(Table * const me);\nstatic QState Table_active(Table * const me);\nstatic QState Table_serving(Table * const me);\nstatic QState Table_paused(Table * const me);\n/*.$enddecl${AOs::Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Global objects ----------------------------------------------------------*/\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 650U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.5.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Table} ........................................................*/\nstruct Table AO_Table;\n/*.$enddef${AOs::AO_Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n#define RIGHT(n_) ((uint8_t)(((n_) + (N_PHILO - 1U)) % N_PHILO))\n#define LEFT(n_)  ((uint8_t)(((n_) + 1U) % N_PHILO))\n#define FREE      ((uint8_t)0)\n#define USED      ((uint8_t)1)\n\n/*..........................................................................*/\n/*.$define${AOs::Table_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table_ctor} ......................................................*/\nvoid Table_ctor(void) {\n    uint8_t n;\n    Table *me = &AO_Table;\n\n    QActive_ctor(&me->super, Q_STATE_CAST(&Table_initial));\n    for (n = 0U; n < N_PHILO; ++n) {\n        me->fork[n] = FREE;\n        me->isHungry[n] = 0U;\n    }\n}\n/*.$enddef${AOs::Table_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table} ...........................................................*/\n/*.${AOs::Table::SM} .......................................................*/\nstatic QState Table_initial(Table * const me) {\n    /*.${AOs::Table::SM::initial} */\n    uint8_t n;\n    for (n = 0U; n < N_PHILO; ++n) {\n        me->fork[n] = FREE;\n        me->isHungry[n] = 0U;\n        BSP_displayPhilStat(n, \"thinking\");\n    }\n    return Q_TRAN(&Table_serving);\n}\n/*.${AOs::Table::SM::active} ...............................................*/\nstatic QState Table_active(Table * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Table::SM::active::TERMINATE} */\n        case TERMINATE_SIG: {\n            BSP_terminate(0);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::EAT} */\n        case EAT_SIG: {\n            Q_ERROR();\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Table::SM::active::serving} ......................................*/\nstatic QState Table_serving(Table * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Table::SM::active::serving} */\n        case Q_ENTRY_SIG: {\n            uint8_t n;\n            for (n = 0U; n < N_PHILO; ++n) { /* give permissions to eat... */\n                if ((me->isHungry[n] != 0U)\n                    && (me->fork[LEFT(n)] == FREE)\n                    && (me->fork[n] == FREE))\n                {\n                    QActive *philo;\n\n                    me->fork[LEFT(n)] = USED;\n                    me->fork[n] = USED;\n                    philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\n                    QACTIVE_POST(philo, EAT_SIG, n);\n                    me->isHungry[n] = 0U;\n                    BSP_displayPhilStat(n, \"eating  \");\n                }\n            }\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::HUNGRY} */\n        case HUNGRY_SIG: {\n            uint8_t n, m;\n            QActive *philo;\n\n            n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* phil ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n\n            BSP_displayPhilStat(n, \"hungry  \");\n            m = LEFT(n);\n            /*.${AOs::Table::SM::active::serving::HUNGRY::[bothfree]} */\n            if ((me->fork[m] == FREE) && (me->fork[n] == FREE)) {\n                me->fork[m] = USED;\n                me->fork[n] = USED;\n                philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\n                QACTIVE_POST(philo, EAT_SIG, n);\n                BSP_displayPhilStat(n, \"eating  \");\n                status_ = Q_HANDLED();\n            }\n            /*.${AOs::Table::SM::active::serving::HUNGRY::[else]} */\n            else {\n                me->isHungry[n] = 1U;\n                status_ = Q_HANDLED();\n            }\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::DONE} */\n        case DONE_SIG: {\n            uint8_t n, m;\n            QActive *philo;\n\n            n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* phil ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n\n            BSP_displayPhilStat(n, \"thinking\");\n            m = LEFT(n);\n            /* both forks of Phil[n] must be used */\n            Q_ASSERT((me->fork[n] == USED) && (me->fork[m] == USED));\n\n            me->fork[m] = FREE;\n            me->fork[n] = FREE;\n            m = RIGHT(n); /* check the right neighbor */\n\n            if ((me->isHungry[m] != 0U) && (me->fork[m] == FREE)) {\n                me->fork[n] = USED;\n                me->fork[m] = USED;\n                me->isHungry[m] = 0U;\n                philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n                QACTIVE_POST(philo, EAT_SIG, m);\n                BSP_displayPhilStat(m, \"eating  \");\n            }\n            m = LEFT(n); /* check the left neighbor */\n            n = LEFT(m); /* left fork of the left neighbor */\n            if ((me->isHungry[m] != 0U) && (me->fork[n] == FREE)) {\n                me->fork[m] = USED;\n                me->fork[n] = USED;\n                me->isHungry[m] = 0U;\n                philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n                QACTIVE_POST(philo, EAT_SIG, m);\n                BSP_displayPhilStat(m, \"eating  \");\n            }\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::EAT} */\n        case EAT_SIG: {\n            Q_ERROR();\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::PAUSE} */\n        case PAUSE_SIG: {\n            status_ = Q_TRAN(&Table_paused);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Table_active);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Table::SM::active::paused} .......................................*/\nstatic QState Table_paused(Table * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Table::SM::active::paused} */\n        case Q_ENTRY_SIG: {\n            BSP_displayPaused(1U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused} */\n        case Q_EXIT_SIG: {\n            BSP_displayPaused(0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused::SERVE} */\n        case SERVE_SIG: {\n            status_ = Q_TRAN(&Table_serving);\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused::HUNGRY} */\n        case HUNGRY_SIG: {\n            uint8_t n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* philo ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n            me->isHungry[n] = 1U;\n            BSP_displayPhilStat(n, \"hungry  \");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused::DONE} */\n        case DONE_SIG: {\n            uint8_t n, m;\n\n            n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* phil ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n\n            BSP_displayPhilStat(n, \"thinking\");\n            m = LEFT(n);\n            /* both forks of Phil[n] must be used */\n            Q_ASSERT((me->fork[n] == USED) && (me->fork[m] == USED));\n\n            me->fork[m] = FREE;\n            me->fork[n] = FREE;\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Table_active);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${AOs::Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/bsp.h",
    "content": "/*****************************************************************************\n* Product: BSP for PELICAN crossing example\n* Last updated for version 5.4.0\n* Last updated on  2015-05-18\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, www.state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BSP_H\n#define BSP_H\n\n#define BSP_TICKS_PER_SEC   100U\n\nenum BSP_CarsSignal {\n    CARS_RED, CARS_YELLOW, CARS_GREEN, CARS_BLANK\n};\n\nenum BSP_PedsSignal {\n    PEDS_DONT_WALK, PEDS_WALK, PEDS_BLANK\n};\n\nvoid BSP_init(void);\nvoid BSP_showState(char_t const *state);\nvoid BSP_signalCars(enum BSP_CarsSignal sig);\nvoid BSP_signalPeds(enum BSP_PedsSignal sig);\n\n#endif /* BSP_H */\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/main.c",
    "content": "/*****************************************************************************\n* Product: PELICAN crossing example\n* Last updated for version 5.8.0\n* Last updated on  2016-11-06\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"     /* QP-nano */\n#include \"bsp.h\"     /* Board Support Package (BSP) */\n#include \"pelican.h\" /* application interface */\n\n/*..........................................................................*/\nstatic QEvt  l_pelicanQueue[3];\n\n/* QF_active[] array defines all active object control blocks --------------*/\nQActiveCB const Q_ROM QF_active[] = {\n    { (QActive *)0,           (QEvt *)0,      0U                    },\n    { (QActive *)&AO_Pelican, l_pelicanQueue, Q_DIM(l_pelicanQueue) }\n};\n\n/*..........................................................................*/\nint main (void) {\n    Pelican_ctor();   /* instantiate the  Pelican AO */\n    QF_init(Q_DIM(QF_active)); /* initialize the QF-nano framework */\n    BSP_init();      /* initialize the Board Support Package */\n    return QF_run();  /* transfer control to QF-nano */\n}\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/pelican.c",
    "content": "/*.$file${.::pelican.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: pelican.qm\n* File:  ${.::pelican.c}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::pelican.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"     /* QP-nano */\n#include \"bsp.h\"     /* Board Support Package (BSP) */\n#include \"pelican.h\" /* application interface */\n\n/*Q_DEFINE_THIS_FILE*/\n\n#define CARS_GREEN_MIN_TOUT (QTimeEvtCtr)(BSP_TICKS_PER_SEC * 8U)\n#define CARS_YELLOW_TOUT    (QTimeEvtCtr)(BSP_TICKS_PER_SEC * 3U)\n#define PEDS_WALK_TOUT      (QTimeEvtCtr)(BSP_TICKS_PER_SEC * 3U)\n#define PEDS_FLASH_TOUT     (QTimeEvtCtr)(BSP_TICKS_PER_SEC / 5U)\n#define PEDS_FLASH_NUM      (uint8_t)(5U * 2U)\n#define OFF_FLASH_TOUT      (QTimeEvtCtr)(BSP_TICKS_PER_SEC / 2U)\n\n/* Pelican class declaration -----------------------------------------------*/\n/*.$declare${components::Pelican} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${components::Pelican} ..................................................*/\ntypedef struct Pelican {\n/* protected: */\n    QActive super;\n\n/* private: */\n    uint8_t flashCtr;\n} Pelican;\n\n/* protected: */\nstatic QState Pelican_initial(Pelican * const me);\nstatic QState Pelican_operational(Pelican * const me);\nstatic QState Pelican_carsEnabled(Pelican * const me);\nstatic QState Pelican_carsGreen(Pelican * const me);\nstatic QState Pelican_carsGreenNoPed(Pelican * const me);\nstatic QState Pelican_carsGreenInt(Pelican * const me);\nstatic QState Pelican_carsGreenPedWait(Pelican * const me);\nstatic QState Pelican_carsYellow(Pelican * const me);\nstatic QState Pelican_pedsEnabled(Pelican * const me);\nstatic QState Pelican_pedsWalk(Pelican * const me);\nstatic QState Pelican_pedsFlash(Pelican * const me);\nstatic QState Pelican_offline(Pelican * const me);\n/*.$enddecl${components::Pelican} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Global objects ----------------------------------------------------------*/\nstruct Pelican AO_Pelican; /* the single instance of the Pelican AO */\n\n/* Pelican class definition ------------------------------------------------*/\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 650U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.5.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${components::Pelican_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${components::Pelican_ctor} .............................................*/\nvoid Pelican_ctor(void) {\n    QActive_ctor(&AO_Pelican.super, Q_STATE_CAST(&Pelican_initial));\n}\n/*.$enddef${components::Pelican_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${components::Pelican} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${components::Pelican} ..................................................*/\n/*.${components::Pelican::SM} ..............................................*/\nstatic QState Pelican_initial(Pelican * const me) {\n    /*.${components::Pelican::SM::initial} */\n    return Q_TRAN(&Pelican_operational);\n}\n/*.${components::Pelican::SM::operational} .................................*/\nstatic QState Pelican_operational(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${components::Pelican::SM::operational} */\n        case Q_ENTRY_SIG: {\n            BSP_signalCars(CARS_RED);\n            BSP_signalPeds(PEDS_DONT_WALK);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::initial} */\n        case Q_INIT_SIG: {\n            status_ = Q_TRAN(&Pelican_carsEnabled);\n            break;\n        }\n        /*.${components::Pelican::SM::operational::OFF} */\n        case OFF_SIG: {\n            status_ = Q_TRAN(&Pelican_offline);\n            break;\n        }\n        /*.${components::Pelican::SM::operational::TERMINATE} */\n        case TERMINATE_SIG: {\n            QF_stop();\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${components::Pelican::SM::operational::carsEnabled} ....................*/\nstatic QState Pelican_carsEnabled(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${components::Pelican::SM::operational::carsEnabled} */\n        case Q_EXIT_SIG: {\n            BSP_signalCars(CARS_RED);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::carsEnabled::initial} */\n        case Q_INIT_SIG: {\n            status_ = Q_TRAN(&Pelican_carsGreen);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Pelican_operational);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${components::Pelican::SM::operational::carsEnabled::carsGreen} .........*/\nstatic QState Pelican_carsGreen(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${components::Pelican::SM::operational::carsEnabled::carsGreen} */\n        case Q_ENTRY_SIG: {\n            BSP_signalCars(CARS_GREEN);\n            /* one-shot timeout in CARS_GREEN_MIN_TOUT ticks */\n            QActive_armX(&me->super, 0U, CARS_GREEN_MIN_TOUT, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::carsEnabled::carsGreen} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::carsEnabled::carsGreen::initial} */\n        case Q_INIT_SIG: {\n            status_ = Q_TRAN(&Pelican_carsGreenNoPed);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Pelican_carsEnabled);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenNoPed} */\nstatic QState Pelican_carsGreenNoPed(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenNoPed} */\n        case Q_ENTRY_SIG: {\n            BSP_showState(\"carsGreenNoPed\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenNoPed::PEDS_WAITING} */\n        case PEDS_WAITING_SIG: {\n            status_ = Q_TRAN(&Pelican_carsGreenPedWait);\n            break;\n        }\n        /*.${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenNoPed::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Pelican_carsGreenInt);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Pelican_carsGreen);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenInt} */\nstatic QState Pelican_carsGreenInt(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenInt} */\n        case Q_ENTRY_SIG: {\n            BSP_showState(\"carsGreenInt\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenInt::PEDS_WAITING} */\n        case PEDS_WAITING_SIG: {\n            status_ = Q_TRAN(&Pelican_carsYellow);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Pelican_carsGreen);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenPedWait} */\nstatic QState Pelican_carsGreenPedWait(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenPedWait} */\n        case Q_ENTRY_SIG: {\n            BSP_showState(\"carsGreenPedWait\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenPedWait::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Pelican_carsYellow);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Pelican_carsGreen);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${components::Pelican::SM::operational::carsEnabled::carsYellow} ........*/\nstatic QState Pelican_carsYellow(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${components::Pelican::SM::operational::carsEnabled::carsYellow} */\n        case Q_ENTRY_SIG: {\n            BSP_showState(\"carsYellow\");\n            BSP_signalCars(CARS_YELLOW);\n\n            /* one-shot timeout in CARS_YELLOW_TOUT ticks */\n            QActive_armX(&me->super, 0U, CARS_YELLOW_TOUT, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::carsEnabled::carsYellow} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::carsEnabled::carsYellow::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Pelican_pedsEnabled);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Pelican_carsEnabled);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${components::Pelican::SM::operational::pedsEnabled} ....................*/\nstatic QState Pelican_pedsEnabled(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${components::Pelican::SM::operational::pedsEnabled} */\n        case Q_EXIT_SIG: {\n            BSP_signalPeds(PEDS_DONT_WALK);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::pedsEnabled::initial} */\n        case Q_INIT_SIG: {\n            status_ = Q_TRAN(&Pelican_pedsWalk);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Pelican_operational);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${components::Pelican::SM::operational::pedsEnabled::pedsWalk} ..........*/\nstatic QState Pelican_pedsWalk(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${components::Pelican::SM::operational::pedsEnabled::pedsWalk} */\n        case Q_ENTRY_SIG: {\n            BSP_showState(\"pedsWalk\");\n            BSP_signalPeds(PEDS_WALK);\n            /* one-shot timeout in PEDS_WALK_TOUT ticks */\n            QActive_armX(&me->super, 0U, PEDS_WALK_TOUT, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::pedsEnabled::pedsWalk} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::pedsEnabled::pedsWalk::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Pelican_pedsFlash);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Pelican_pedsEnabled);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${components::Pelican::SM::operational::pedsEnabled::pedsFlash} .........*/\nstatic QState Pelican_pedsFlash(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${components::Pelican::SM::operational::pedsEnabled::pedsFlash} */\n        case Q_ENTRY_SIG: {\n            BSP_showState(\"pedsFlash\");\n            /* periodic timeout in PEDS_FLASH_TOUT and every PEDS_FLASH_TOUT ticks */\n            QActive_armX(&me->super, 0U, PEDS_FLASH_TOUT, PEDS_FLASH_TOUT);\n            me->flashCtr = (PEDS_FLASH_NUM * 2U) + 1U;\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::pedsEnabled::pedsFlash} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::pedsEnabled::pedsFlash::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            /*.${components::Pelican::SM::operational::pedsEnabled::pedsFlash::Q_TIMEOUT::[me->flashCtr!=0U]} */\n            if (me->flashCtr != 0U) {\n                --me->flashCtr;\n                /*.${components::Pelican::SM::operational::pedsEnabled::pedsFlash::Q_TIMEOUT::[me->flashCtr!=0~::[(me->flashCtr&1U)==0U]} */\n                if ((me->flashCtr & 1U) == 0U) {\n                    BSP_signalPeds(PEDS_DONT_WALK);\n                    status_ = Q_HANDLED();\n                }\n                /*.${components::Pelican::SM::operational::pedsEnabled::pedsFlash::Q_TIMEOUT::[me->flashCtr!=0~::[else]} */\n                else {\n                    BSP_signalPeds(PEDS_BLANK);\n                    status_ = Q_HANDLED();\n                }\n            }\n            /*.${components::Pelican::SM::operational::pedsEnabled::pedsFlash::Q_TIMEOUT::[else]} */\n            else {\n                status_ = Q_TRAN(&Pelican_carsEnabled);\n            }\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Pelican_pedsEnabled);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${components::Pelican::SM::offline} .....................................*/\nstatic QState Pelican_offline(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${components::Pelican::SM::offline} */\n        case Q_ENTRY_SIG: {\n            BSP_showState(\"offline\");\n            /* periodic timeout in OFF_FLASH_TOUT and every OFF_FLASH_TOUT ticks */\n            QActive_armX(&me->super, 0U, OFF_FLASH_TOUT, OFF_FLASH_TOUT);\n            me->flashCtr = 0U;\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::offline} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::offline::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            me->flashCtr ^= 1U;\n            /*.${components::Pelican::SM::offline::Q_TIMEOUT::[(me->flashCtr&1U)==0U]} */\n            if ((me->flashCtr & 1U) == 0U) {\n                BSP_signalCars(CARS_RED);\n                BSP_signalPeds(PEDS_DONT_WALK);\n                status_ = Q_HANDLED();\n            }\n            /*.${components::Pelican::SM::offline::Q_TIMEOUT::[else]} */\n            else {\n                BSP_signalCars(CARS_BLANK);\n                BSP_signalPeds(PEDS_BLANK);\n                status_ = Q_HANDLED();\n            }\n            break;\n        }\n        /*.${components::Pelican::SM::offline::ON} */\n        case ON_SIG: {\n            status_ = Q_TRAN(&Pelican_operational);\n            break;\n        }\n        /*.${components::Pelican::SM::offline::TERMINATE} */\n        case TERMINATE_SIG: {\n            QF_stop();\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${components::Pelican} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/pelican.h",
    "content": "/*.$file${.::pelican.h} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: pelican.qm\n* File:  ${.::pelican.h}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::pelican.h} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#ifndef PELICAN_H\n#define PELICAN_H\n\nenum PelicanSignals {\n    PEDS_WAITING_SIG = Q_USER_SIG,\n    OFF_SIG,\n    ON_SIG,\n    TERMINATE_SIG\n};\n\n/* active objects ................................................*/\n/*.$declare${components::Pelican_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${components::Pelican_ctor} .............................................*/\nvoid Pelican_ctor(void);\n/*.$enddecl${components::Pelican_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\nextern struct Pelican AO_Pelican;\n\n#endif /* PELICAN_H */\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/pelican.qm",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<model version=\"4.6.0\" links=\"1\">\n <documentation>PEdestrian LIght CONtrolled (PELICAN) crossing example</documentation>\n <!--${qpn}-->\n <framework name=\"qpn\"/>\n <!--${components}-->\n <package name=\"components\" stereotype=\"0x02\">\n  <!--${components::Pelican}-->\n  <class name=\"Pelican\" superclass=\"qpn::QActive\">\n   <documentation>PEdestrian LIght CONtrolled (PELICAN) crossing</documentation>\n   <!--${components::Pelican::flashCtr}-->\n   <attribute name=\"flashCtr\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${components::Pelican::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${components::Pelican::SM::initial}-->\n    <initial target=\"../1\">\n     <initial_glyph conn=\"2,2,5,1,72,4,-2\">\n      <action box=\"1,-2,27,4\"/>\n     </initial_glyph>\n    </initial>\n    <!--${components::Pelican::SM::operational}-->\n    <state name=\"operational\">\n     <entry brief=\"CARS_RED; PEDS_DONT_WALK\">BSP_signalCars(CARS_RED);\nBSP_signalPeds(PEDS_DONT_WALK);</entry>\n     <!--${components::Pelican::SM::operational::initial}-->\n     <initial target=\"../3\">\n      <initial_glyph conn=\"3,9,5,1,34,9,-2\">\n       <action box=\"1,-2,6,2\"/>\n      </initial_glyph>\n     </initial>\n     <!--${components::Pelican::SM::operational::OFF}-->\n     <tran trig=\"OFF\" target=\"../../2\">\n      <tran_glyph conn=\"2,14,3,1,72,66,-2\">\n       <action box=\"0,-2,5,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${components::Pelican::SM::operational::TERMINATE}-->\n     <tran trig=\"TERMINATE\">\n      <action>QF_stop();</action>\n      <tran_glyph conn=\"2,12,3,-1,15\">\n       <action box=\"0,-2,10,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${components::Pelican::SM::operational::carsEnabled}-->\n     <state name=\"carsEnabled\">\n      <exit brief=\"CARS_RED\">BSP_signalCars(CARS_RED);</exit>\n      <!--${components::Pelican::SM::operational::carsEnabled::initial}-->\n      <initial target=\"../1\">\n       <initial_glyph conn=\"5,21,5,1,26,4,-2\">\n        <action box=\"1,-2,6,2\"/>\n       </initial_glyph>\n      </initial>\n      <!--${components::Pelican::SM::operational::carsEnabled::carsGreen}-->\n      <state name=\"carsGreen\">\n       <entry brief=\"CARS_GREEN\">BSP_signalCars(CARS_GREEN);\n/* one-shot timeout in CARS_GREEN_MIN_TOUT ticks */\nQActive_armX(&amp;me-&gt;super, 0U, CARS_GREEN_MIN_TOUT, 0U);</entry>\n       <exit>QActive_disarmX(&amp;me-&gt;super, 0U);</exit>\n       <!--${components::Pelican::SM::operational::carsEnabled::carsGreen::initial}-->\n       <initial target=\"../1\">\n        <initial_glyph conn=\"7,31,5,1,17,3,-2\">\n         <action box=\"0,-2,6,2\"/>\n        </initial_glyph>\n       </initial>\n       <!--${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenNoPed}-->\n       <state name=\"carsGreenNoPed\">\n        <entry>BSP_showState(&quot;carsGreenNoPed&quot;);</entry>\n        <!--${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenNoPed::PEDS_WAITING}-->\n        <tran trig=\"PEDS_WAITING\" target=\"../../3\">\n         <tran_glyph conn=\"8,38,3,1,19,15,-5\">\n          <action box=\"0,-2,11,2\"/>\n         </tran_glyph>\n        </tran>\n        <!--${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenNoPed::Q_TIMEOUT}-->\n        <tran trig=\"Q_TIMEOUT\" target=\"../../2\">\n         <tran_glyph conn=\"8,41,3,1,17,4,-3\">\n          <action box=\"0,-2,10,2\"/>\n         </tran_glyph>\n        </tran>\n        <state_glyph node=\"8,32,14,10\">\n         <entry box=\"1,2,5,2\"/>\n        </state_glyph>\n       </state>\n       <!--${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenInt}-->\n       <state name=\"carsGreenInt\">\n        <entry>BSP_showState(&quot;carsGreenInt&quot;);</entry>\n        <!--${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenInt::PEDS_WAITING}-->\n        <tran trig=\"PEDS_WAITING\" target=\"../../../2\">\n         <tran_glyph conn=\"8,49,3,1,25,20,-4\">\n          <action box=\"0,-2,11,2\"/>\n         </tran_glyph>\n        </tran>\n        <state_glyph node=\"8,43,14,7\">\n         <entry box=\"1,2,5,2\"/>\n        </state_glyph>\n       </state>\n       <!--${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenPedWait}-->\n       <state name=\"carsGreenPedWait\">\n        <entry>BSP_showState(&quot;carsGreenPedWait&quot;);</entry>\n        <!--${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenPedWait::Q_TIMEOUT}-->\n        <tran trig=\"Q_TIMEOUT\" target=\"../../../2\">\n         <tran_glyph conn=\"8,57,3,1,23,9,-2\">\n          <action box=\"0,-2,10,2\"/>\n         </tran_glyph>\n        </tran>\n        <state_glyph node=\"8,51,14,7\">\n         <entry box=\"1,2,5,2\"/>\n        </state_glyph>\n       </state>\n       <state_glyph node=\"6,23,23,37\">\n        <entry box=\"1,2,17,2\"/>\n        <exit box=\"1,4,5,2\"/>\n       </state_glyph>\n      </state>\n      <!--${components::Pelican::SM::operational::carsEnabled::carsYellow}-->\n      <state name=\"carsYellow\">\n       <entry brief=\"CARS_YELLOW\">BSP_showState(&quot;carsYellow&quot;);\nBSP_signalCars(CARS_YELLOW);\n\n/* one-shot timeout in CARS_YELLOW_TOUT ticks */\nQActive_armX(&amp;me-&gt;super, 0U, CARS_YELLOW_TOUT, 0U);</entry>\n       <exit>QActive_disarmX(&amp;me-&gt;super, 0U);</exit>\n       <!--${components::Pelican::SM::operational::carsEnabled::carsYellow::Q_TIMEOUT}-->\n       <tran trig=\"Q_TIMEOUT\" target=\"../../../4\">\n        <tran_glyph conn=\"6,71,3,3,33\">\n         <action box=\"0,-2,8,2\"/>\n        </tran_glyph>\n       </tran>\n       <state_glyph node=\"6,62,23,10\">\n        <entry box=\"1,2,17,2\"/>\n        <exit box=\"1,4,5,2\"/>\n       </state_glyph>\n      </state>\n      <state_glyph node=\"4,16,31,58\">\n       <exit box=\"1,2,5,2\"/>\n      </state_glyph>\n     </state>\n     <!--${components::Pelican::SM::operational::pedsEnabled}-->\n     <state name=\"pedsEnabled\">\n      <exit brief=\"PEDS_DONT_WALK\">BSP_signalPeds(PEDS_DONT_WALK);</exit>\n      <!--${components::Pelican::SM::operational::pedsEnabled::initial}-->\n      <initial target=\"../1\">\n       <initial_glyph conn=\"40,21,5,1,21,4,-2\">\n        <action box=\"0,-2,6,2\"/>\n       </initial_glyph>\n      </initial>\n      <!--${components::Pelican::SM::operational::pedsEnabled::pedsWalk}-->\n      <state name=\"pedsWalk\">\n       <entry brief=\"PEDS_WALK\">BSP_showState(&quot;pedsWalk&quot;);\nBSP_signalPeds(PEDS_WALK);\n/* one-shot timeout in PEDS_WALK_TOUT ticks */\nQActive_armX(&amp;me-&gt;super, 0U, PEDS_WALK_TOUT, 0U);</entry>\n       <exit>QActive_disarmX(&amp;me-&gt;super, 0U);</exit>\n       <!--${components::Pelican::SM::operational::pedsEnabled::pedsWalk::Q_TIMEOUT}-->\n       <tran trig=\"Q_TIMEOUT\" target=\"../../2\">\n        <tran_glyph conn=\"41,31,3,1,27,7,-2\">\n         <action box=\"0,-2,8,2\"/>\n        </tran_glyph>\n       </tran>\n       <state_glyph node=\"41,23,18,10\">\n        <entry box=\"1,2,15,2\"/>\n        <exit box=\"1,4,5,2\"/>\n       </state_glyph>\n      </state>\n      <!--${components::Pelican::SM::operational::pedsEnabled::pedsFlash}-->\n      <state name=\"pedsFlash\">\n       <entry>BSP_showState(&quot;pedsFlash&quot;);\n/* periodic timeout in PEDS_FLASH_TOUT and every PEDS_FLASH_TOUT ticks */\nQActive_armX(&amp;me-&gt;super, 0U, PEDS_FLASH_TOUT, PEDS_FLASH_TOUT);\nme-&gt;flashCtr = (PEDS_FLASH_NUM * 2U) + 1U;</entry>\n       <exit>QActive_disarmX(&amp;me-&gt;super, 0U);</exit>\n       <!--${components::Pelican::SM::operational::pedsEnabled::pedsFlash::Q_TIMEOUT}-->\n       <tran trig=\"Q_TIMEOUT\">\n        <!--${components::Pelican::SM::operational::pedsEnabled::pedsFlash::Q_TIMEOUT::[me->flashCtr!=0U]}-->\n        <choice>\n         <guard>me-&gt;flashCtr != 0U</guard>\n         <action>--me-&gt;flashCtr;</action>\n         <!--${components::Pelican::SM::operational::pedsEnabled::pedsFlash::Q_TIMEOUT::[me->flashCtr!=0~::[(me->flashCtr&1U)==0U]}-->\n         <choice>\n          <guard>(me-&gt;flashCtr &amp; 1U) == 0U</guard>\n          <action>BSP_signalPeds(PEDS_DONT_WALK);</action>\n          <choice_glyph conn=\"49,54,5,-1,-5,9,16\">\n           <action box=\"-7,9,26,5\"/>\n          </choice_glyph>\n         </choice>\n         <!--${components::Pelican::SM::operational::pedsEnabled::pedsFlash::Q_TIMEOUT::[me->flashCtr!=0~::[else]}-->\n         <choice>\n          <guard>else</guard>\n          <action>BSP_signalPeds(PEDS_BLANK);</action>\n          <choice_glyph conn=\"49,54,4,-1,3,11\">\n           <action box=\"0,3,22,4\"/>\n          </choice_glyph>\n         </choice>\n         <choice_glyph conn=\"49,45,5,-1,11,9,-11\">\n          <action box=\"1,0,16,4\"/>\n         </choice_glyph>\n        </choice>\n        <!--${components::Pelican::SM::operational::pedsEnabled::pedsFlash::Q_TIMEOUT::[else]}-->\n        <choice target=\"../../../../3\">\n         <guard>else</guard>\n         <choice_glyph conn=\"49,45,4,1,3,-14\">\n          <action box=\"-7,3,6,2\"/>\n         </choice_glyph>\n        </choice>\n        <tran_glyph conn=\"41,45,3,-1,8\">\n         <action box=\"0,-2,8,2\"/>\n        </tran_glyph>\n       </tran>\n       <state_glyph node=\"41,36,25,32\">\n        <entry box=\"1,2,5,2\"/>\n        <exit box=\"1,4,5,2\"/>\n       </state_glyph>\n      </state>\n      <state_glyph node=\"39,16,31,58\">\n       <exit box=\"1,2,5,2\"/>\n      </state_glyph>\n     </state>\n     <state_glyph node=\"2,4,70,72\">\n      <entry box=\"1,2,28,2\"/>\n     </state_glyph>\n    </state>\n    <!--${components::Pelican::SM::offline}-->\n    <state name=\"offline\">\n     <entry>BSP_showState(&quot;offline&quot;);\n/* periodic timeout in OFF_FLASH_TOUT and every OFF_FLASH_TOUT ticks */\nQActive_armX(&amp;me-&gt;super, 0U, OFF_FLASH_TOUT, OFF_FLASH_TOUT);\nme-&gt;flashCtr = 0U;</entry>\n     <exit>QActive_disarmX(&amp;me-&gt;super, 0U);</exit>\n     <!--${components::Pelican::SM::offline::Q_TIMEOUT}-->\n     <tran trig=\"Q_TIMEOUT\">\n      <action>me-&gt;flashCtr ^= 1U;</action>\n      <!--${components::Pelican::SM::offline::Q_TIMEOUT::[(me->flashCtr&1U)==0U]}-->\n      <choice>\n       <guard>(me-&gt;flashCtr &amp; 1U) == 0U</guard>\n       <action brief=\"\\CARS_RED; PEDS_DONT_WALK;\">BSP_signalCars(CARS_RED);\nBSP_signalPeds(PEDS_DONT_WALK);</action>\n       <choice_glyph conn=\"36,89,5,-1,29\">\n        <action box=\"1,0,23,4\"/>\n       </choice_glyph>\n      </choice>\n      <!--${components::Pelican::SM::offline::Q_TIMEOUT::[else]}-->\n      <choice>\n       <guard>else</guard>\n       <action brief=\"CARS_BLANK; PEDS_BLANK;\">BSP_signalCars(CARS_BLANK);\nBSP_signalPeds(PEDS_BLANK);</action>\n       <choice_glyph conn=\"36,89,4,-1,5,29\">\n        <action box=\"1,5,26,2\"/>\n       </choice_glyph>\n      </choice>\n      <tran_glyph conn=\"2,89,3,-1,34\">\n       <action box=\"0,-2,22,4\"/>\n      </tran_glyph>\n     </tran>\n     <!--${components::Pelican::SM::offline::ON}-->\n     <tran trig=\"ON\" target=\"../../1\">\n      <tran_glyph conn=\"2,86,3,2,63,-10\">\n       <action box=\"0,-2,6,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${components::Pelican::SM::offline::TERMINATE}-->\n     <tran trig=\"TERMINATE\">\n      <action>QF_stop();</action>\n      <tran_glyph conn=\"2,93,3,-1,14\">\n       <action box=\"0,-2,10,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,78,70,19\">\n      <entry box=\"1,2,5,2\"/>\n      <exit box=\"1,4,5,2\"/>\n     </state_glyph>\n    </state>\n    <state_diagram size=\"76,99\"/>\n   </statechart>\n  </class>\n  <!--${components::AO_Pelican}-->\n  <attribute name=\"AO_Pelican\" type=\"QActive * const\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${components::Pelican_ctor}-->\n  <operation name=\"Pelican_ctor\" type=\"void\" visibility=\"0x00\" properties=\"0x01\">\n   <documentation>constructor</documentation>\n   <code>QActive_ctor(&amp;AO_Pelican.super, Q_STATE_CAST(&amp;Pelican_initial));</code>\n  </operation>\n </package>\n <!--${.}-->\n <directory name=\".\">\n  <!--${.::pelican.h}-->\n  <file name=\"pelican.h\">\n   <text>#ifndef PELICAN_H\n#define PELICAN_H\n\nenum PelicanSignals {\n    PEDS_WAITING_SIG = Q_USER_SIG,\n    OFF_SIG,\n    ON_SIG,\n    TERMINATE_SIG\n};\n\n/* active objects ................................................*/\n$declare(components::Pelican_ctor)\n\nextern struct Pelican AO_Pelican;\n\n#endif /* PELICAN_H */\n</text>\n  </file>\n  <!--${.::pelican.c}-->\n  <file name=\"pelican.c\">\n   <text>#include &quot;qpn.h&quot;     /* QP-nano */\n#include &quot;bsp.h&quot;     /* Board Support Package (BSP) */\n#include &quot;pelican.h&quot; /* application interface */\n\n/*Q_DEFINE_THIS_FILE*/\n\n#define CARS_GREEN_MIN_TOUT (QTimeEvtCtr)(BSP_TICKS_PER_SEC * 8U)\n#define CARS_YELLOW_TOUT    (QTimeEvtCtr)(BSP_TICKS_PER_SEC * 3U)\n#define PEDS_WALK_TOUT      (QTimeEvtCtr)(BSP_TICKS_PER_SEC * 3U)\n#define PEDS_FLASH_TOUT     (QTimeEvtCtr)(BSP_TICKS_PER_SEC / 5U)\n#define PEDS_FLASH_NUM      (uint8_t)(5U * 2U)\n#define OFF_FLASH_TOUT      (QTimeEvtCtr)(BSP_TICKS_PER_SEC / 2U)\n\n/* Pelican class declaration -----------------------------------------------*/\n$declare(components::Pelican)\n\n/* Global objects ----------------------------------------------------------*/\nstruct Pelican AO_Pelican; /* the single instance of the Pelican AO */\n\n/* Pelican class definition ------------------------------------------------*/\n$define(components::Pelican_ctor)\n$define(components::Pelican)</text>\n  </file>\n </directory>\n</model>\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qk/xc16/Makefile",
    "content": "#\n#  There exist several targets which are by default empty and which can be\n#  used for execution of your targets. These targets are usually executed\n#  before and after some main targets. They are:\n#\n#     .build-pre:              called before 'build' target\n#     .build-post:             called after 'build' target\n#     .clean-pre:              called before 'clean' target\n#     .clean-post:             called after 'clean' target\n#     .clobber-pre:            called before 'clobber' target\n#     .clobber-post:           called after 'clobber' target\n#     .all-pre:                called before 'all' target\n#     .all-post:               called after 'all' target\n#     .help-pre:               called before 'help' target\n#     .help-post:              called after 'help' target\n#\n#  Targets beginning with '.' are not intended to be called on their own.\n#\n#  Main targets can be executed directly, and they are:\n#\n#     build                    build a specific configuration\n#     clean                    remove built files from a configuration\n#     clobber                  remove all built files\n#     all                      build all configurations\n#     help                     print help mesage\n#\n#  Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and\n#  .help-impl are implemented in nbproject/makefile-impl.mk.\n#\n#  Available make variables:\n#\n#     CND_BASEDIR                base directory for relative paths\n#     CND_DISTDIR                default top distribution directory (build artifacts)\n#     CND_BUILDDIR               default top build directory (object files, ...)\n#     CONF                       name of current configuration\n#     CND_ARTIFACT_DIR_${CONF}   directory of build artifact (current configuration)\n#     CND_ARTIFACT_NAME_${CONF}  name of build artifact (current configuration)\n#     CND_ARTIFACT_PATH_${CONF}  path to build artifact (current configuration)\n#     CND_PACKAGE_DIR_${CONF}    directory of package (current configuration)\n#     CND_PACKAGE_NAME_${CONF}   name of package (current configuration)\n#     CND_PACKAGE_PATH_${CONF}   path to package (current configuration)\n#\n# NOCDDL\n\n\n# Environment\nMKDIR=mkdir\nCP=cp\nCCADMIN=CCadmin\nRANLIB=ranlib\n\n\n# build\nbuild: .build-post\n\n.build-pre:\n# Add your pre 'build' code here...\n\n.build-post: .build-impl\n# Add your post 'build' code here...\n\n\n# clean\nclean: .clean-post\n\n.clean-pre:\n# Add your pre 'clean' code here...\n\n.clean-post: .clean-impl\n# Add your post 'clean' code here...\n\n\n# clobber\nclobber: .clobber-post\n\n.clobber-pre:\n# Add your pre 'clobber' code here...\n\n.clobber-post: .clobber-impl\n# Add your post 'clobber' code here...\n\n\n# all\nall: .all-post\n\n.all-pre:\n# Add your pre 'all' code here...\n\n.all-post: .all-impl\n# Add your post 'all' code here...\n\n\n# help\nhelp: .help-post\n\n.help-pre:\n# Add your pre 'help' code here...\n\n.help-post: .help-impl\n# Add your post 'help' code here...\n\n\n\n# include project implementation makefile\ninclude nbproject/Makefile-impl.mk\n\n# include project make variables\ninclude nbproject/Makefile-variables.mk\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qk/xc16/bsp.c",
    "content": "/*****************************************************************************\n* BSP for PELICAN example, Microstick II board, preemptive QK-nano kernel\n* Last updated for version 6.5.1\n* Last updated on  2019-06-10\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"bsp.h\"\n#include \"pelican.h\"\n\n#include \"p24FJ64GB002.h\"  /* header for PIC24F device in use */\n\nQ_DEFINE_THIS_FILE\n\n/* configure Fast RC Oscillator (FRC) */\n#pragma config FNOSC=FRC\n\n/* Local-scope objects -----------------------------------------------------*/\n\n/* frequency of the FRC oscillator ~ 8 MHz */\n#define FOSC_HZ                 8000000.0\n/* instruction cycle clock frequency */\n#define FCY_HZ                  (FOSC_HZ / 2.0)\n/* system clock tick period in CPU clocks / TMR2 prescaler */\n#define BSP_TMR2_PERIOD         ((uint16_t)(FCY_HZ / BSP_TICKS_PER_SEC))\n\n/* controlling the LED of Microstick II */\n#define LED_ON()                (LATA |= (1U << 0))\n#define LED_OFF()               (LATA &= ~(1U << 0))\n#define LED_TOGGLE()            (LATA ^= (1U << 0))\n\n\n/* ISRs --------------------------------------------------------------------*/\nQK_ISR(no_auto_psv) _T2Interrupt() {\n    _T2IF = 0; /* clear Timer 2 interrupt flag */\n\n    QF_tickXISR(0U);   /* process time events for rate 0 */\n\n    QK_ISR_EXIT(); /* inform QK about exiting the ISR */\n}\n/*..........................................................................*/\nQK_ISR(auto_psv) _INT0Interrupt() {\n    _INT0IF = 0;\n\n    QACTIVE_POST_ISR((QActive *)&AO_Pelican, PEDS_WAITING_SIG, 0U);\n\n    QK_ISR_EXIT(); /* inform QK about exiting the ISR */\n}\n\n/*--------------------------------------------------------------------------*/\nvoid BSP_init(void) {\n    RCONbits.SWDTEN = 0; /* disable Watchdog */\n\n    TRISA = 0x00; /* set LED pins as outputs */\n    PORTA = 0x00; /* set LED drive state low */\n\n}\n/*..........................................................................*/\nvoid BSP_terminate(int16_t result) {\n    (void)result;\n}\n/*..........................................................................*/\nvoid BSP_showState(char_t const *state) {\n    (void)state;\n}\n/*..........................................................................*/\nvoid BSP_signalCars(enum BSP_CarsSignal sig) {\n    switch (sig) {\n        case CARS_RED: {\n            //\n            break;\n        }\n        case CARS_YELLOW: {\n            //\n            break;\n        }\n        case CARS_GREEN: {\n            //\n            break;\n        }\n        case CARS_BLANK: {\n            //\n            break;\n        }\n    }\n}\n/*..........................................................................*/\nvoid BSP_signalPeds(enum BSP_PedsSignal sig) {\n    switch (sig) {\n        case PEDS_DONT_WALK: {\n            LED_OFF();\n            break;\n        }\n        case PEDS_BLANK: {\n            LED_OFF();\n            break;\n        }\n        case PEDS_WALK: {\n            LED_ON();\n            break;\n        }\n    }\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const file, int line) {\n    (void)file;       /* unused parameter */\n    (void)line;       /* unused parameter */\n    QF_INT_DISABLE(); /* make sure that interrupts are disabled */\n    for (;;) {\n    }\n}\n\n/*..........................................................................*/\nvoid QF_onStartup(void) { /* entered with interrupts locked */\n    T2CON = 0x0000U; /* Use Internal Osc (Fcy), 16 bit mode, prescaler = 1 */\n    TMR2  = 0x0000U; /* Start counting from 0 and clear the prescaler count */\n    PR2   = (uint16_t)(BSP_TMR2_PERIOD - 1U); /* Timer2 period */\n    _T2IF = 0;               /* clear the interrupt for Timer 2 */\n    _T2IE = 1;               /* enable interrupt for Timer 2 */\n    T2CONbits.TON = 1;       /* start Timer 2 */\n\n    INTCON2bits.INT0EP = 0;  /* INT0 interrupt on positive edge */\n    _INT0IF = 0;             /* clear the interrupt for INT0 */\n    _INT0IE = 1;             /* enable INT0 interrupt */\n\n    /* explicitly assign priorities to all interrutps... */\n    _T2IP   = 4; /* Timer 2 interrupt priority (kernel aware) */\n    _INT0IP = 6; /* INT0 interrupt priority (kernel aware) */\n}\n/*..........................................................................*/\nvoid QF_onCleanup(void) {\n}\n/*..........................................................................*/\nvoid QF_stop(void) {\n}\n/*..........................................................................*/\nvoid QK_onIdle(void) {\n\n    /* NOTE: not enough LEDs on the Microstick II board to implement\n    *  the idle loop activity indicator ...\n    */\n    //LED_ON (); /* blink the IDLE LED, see NOTE01 */\n    //LED_OFF();\n#ifdef NDEBUG\n    Idle(); /* transition to Idle mode */\n#endif\n}\n\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qk/xc16/nbproject/Makefile-default.mk",
    "content": "#\n# Generated Makefile - do not edit!\n#\n# Edit the Makefile in the project folder instead (../Makefile). Each target\n# has a -pre and a -post target defined where you can add customized code.\n#\n# This makefile implements configuration specific macros and targets.\n\n\n# Include project Makefile\nifeq \"${IGNORE_LOCAL}\" \"TRUE\"\n# do not include local makefile. User is passing all local related variables already\nelse\ninclude Makefile\n# Include makefile containing local settings\nifeq \"$(wildcard nbproject/Makefile-local-default.mk)\" \"nbproject/Makefile-local-default.mk\"\ninclude nbproject/Makefile-local-default.mk\nendif\nendif\n\n# Environment\nMKDIR=gnumkdir -p\nRM=rm -f \nMV=mv \nCP=cp \n\n# Macros\nCND_CONF=default\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nIMAGE_TYPE=debug\nOUTPUT_SUFFIX=elf\nDEBUGGABLE_SUFFIX=elf\nFINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nelse\nIMAGE_TYPE=production\nOUTPUT_SUFFIX=hex\nDEBUGGABLE_SUFFIX=elf\nFINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nendif\n\nifeq ($(COMPARE_BUILD), true)\nCOMPARISON_BUILD=-mafrlcsj\nelse\nCOMPARISON_BUILD=\nendif\n\nifdef SUB_IMAGE_ADDRESS\nSUB_IMAGE_ADDRESS_COMMAND=--image-address $(SUB_IMAGE_ADDRESS)\nelse\nSUB_IMAGE_ADDRESS_COMMAND=\nendif\n\n# Object Directory\nOBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE}\n\n# Distribution Directory\nDISTDIR=dist/${CND_CONF}/${IMAGE_TYPE}\n\n# Source Files Quoted if spaced\nSOURCEFILES_QUOTED_IF_SPACED=../../../../../src/qfn/qepn.c ../../../../../src/qfn/qfn.c ../../../../../src/qkn/qkn.c ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c bsp.c ../../../../../include/qstamp.c ../../main.c ../../pelican.c\n\n# Object Files Quoted if spaced\nOBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/_ext/329161665/qepn.o ${OBJECTDIR}/_ext/329161665/qfn.o ${OBJECTDIR}/_ext/329161510/qkn.o ${OBJECTDIR}/_ext/1875001806/qkn_port.o ${OBJECTDIR}/bsp.o ${OBJECTDIR}/_ext/726959463/qstamp.o ${OBJECTDIR}/_ext/43898991/main.o ${OBJECTDIR}/_ext/43898991/pelican.o\nPOSSIBLE_DEPFILES=${OBJECTDIR}/_ext/329161665/qepn.o.d ${OBJECTDIR}/_ext/329161665/qfn.o.d ${OBJECTDIR}/_ext/329161510/qkn.o.d ${OBJECTDIR}/_ext/1875001806/qkn_port.o.d ${OBJECTDIR}/bsp.o.d ${OBJECTDIR}/_ext/726959463/qstamp.o.d ${OBJECTDIR}/_ext/43898991/main.o.d ${OBJECTDIR}/_ext/43898991/pelican.o.d\n\n# Object Files\nOBJECTFILES=${OBJECTDIR}/_ext/329161665/qepn.o ${OBJECTDIR}/_ext/329161665/qfn.o ${OBJECTDIR}/_ext/329161510/qkn.o ${OBJECTDIR}/_ext/1875001806/qkn_port.o ${OBJECTDIR}/bsp.o ${OBJECTDIR}/_ext/726959463/qstamp.o ${OBJECTDIR}/_ext/43898991/main.o ${OBJECTDIR}/_ext/43898991/pelican.o\n\n# Source Files\nSOURCEFILES=../../../../../src/qfn/qepn.c ../../../../../src/qfn/qfn.c ../../../../../src/qkn/qkn.c ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c bsp.c ../../../../../include/qstamp.c ../../main.c ../../pelican.c\n\n\nCFLAGS=\nASFLAGS=\nLDLIBSOPTIONS=\n\n############# Tool locations ##########################################\n# If you copy a project from one host to another, the path where the  #\n# compiler is installed may be different.                             #\n# If you open this project with MPLAB X in the new host, this         #\n# makefile will be regenerated and the paths will be corrected.       #\n#######################################################################\n# fixDeps replaces a bunch of sed/cat/printf statements that slow down the build\nFIXDEPS=fixDeps\n\n.build-conf:  ${BUILD_SUBPROJECTS}\nifneq ($(INFORMATION_MESSAGE), )\n\t@echo $(INFORMATION_MESSAGE)\nendif\n\t${MAKE}  -f nbproject/Makefile-default.mk dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\n\nMP_PROCESSOR_OPTION=24FJ64GB002\nMP_LINKER_FILE_OPTION=,--script=p24FJ64GB002.gld\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: compile\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\n${OBJECTDIR}/_ext/329161665/qepn.o: ../../../../../src/qfn/qepn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qepn.c  -o ${OBJECTDIR}/_ext/329161665/qepn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qepn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qepn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161665/qfn.o: ../../../../../src/qfn/qfn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qfn.c  -o ${OBJECTDIR}/_ext/329161665/qfn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qfn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qfn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161510/qkn.o: ../../../../../src/qkn/qkn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161510\" \n\t@${RM} ${OBJECTDIR}/_ext/329161510/qkn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161510/qkn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qkn/qkn.c  -o ${OBJECTDIR}/_ext/329161510/qkn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161510/qkn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161510/qkn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/1875001806/qkn_port.o: ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/1875001806\" \n\t@${RM} ${OBJECTDIR}/_ext/1875001806/qkn_port.o.d \n\t@${RM} ${OBJECTDIR}/_ext/1875001806/qkn_port.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c  -o ${OBJECTDIR}/_ext/1875001806/qkn_port.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/1875001806/qkn_port.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/1875001806/qkn_port.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/bsp.o: bsp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}\" \n\t@${RM} ${OBJECTDIR}/bsp.o.d \n\t@${RM} ${OBJECTDIR}/bsp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  bsp.c  -o ${OBJECTDIR}/bsp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/bsp.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/bsp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/726959463/qstamp.o: ../../../../../include/qstamp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/726959463\" \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o.d \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../include/qstamp.c  -o ${OBJECTDIR}/_ext/726959463/qstamp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/main.o: ../../main.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../main.c  -o ${OBJECTDIR}/_ext/43898991/main.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/main.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/main.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/pelican.o: ../../pelican.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/pelican.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/pelican.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../pelican.c  -o ${OBJECTDIR}/_ext/43898991/pelican.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/pelican.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/pelican.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\nelse\n${OBJECTDIR}/_ext/329161665/qepn.o: ../../../../../src/qfn/qepn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qepn.c  -o ${OBJECTDIR}/_ext/329161665/qepn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qepn.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qepn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161665/qfn.o: ../../../../../src/qfn/qfn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qfn.c  -o ${OBJECTDIR}/_ext/329161665/qfn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qfn.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qfn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161510/qkn.o: ../../../../../src/qkn/qkn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161510\" \n\t@${RM} ${OBJECTDIR}/_ext/329161510/qkn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161510/qkn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qkn/qkn.c  -o ${OBJECTDIR}/_ext/329161510/qkn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161510/qkn.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161510/qkn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/1875001806/qkn_port.o: ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/1875001806\" \n\t@${RM} ${OBJECTDIR}/_ext/1875001806/qkn_port.o.d \n\t@${RM} ${OBJECTDIR}/_ext/1875001806/qkn_port.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c  -o ${OBJECTDIR}/_ext/1875001806/qkn_port.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/1875001806/qkn_port.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/1875001806/qkn_port.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/bsp.o: bsp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}\" \n\t@${RM} ${OBJECTDIR}/bsp.o.d \n\t@${RM} ${OBJECTDIR}/bsp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  bsp.c  -o ${OBJECTDIR}/bsp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/bsp.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/bsp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/726959463/qstamp.o: ../../../../../include/qstamp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/726959463\" \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o.d \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../include/qstamp.c  -o ${OBJECTDIR}/_ext/726959463/qstamp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/main.o: ../../main.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../main.c  -o ${OBJECTDIR}/_ext/43898991/main.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/main.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/main.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/pelican.o: ../../pelican.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/pelican.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/pelican.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../pelican.c  -o ${OBJECTDIR}/_ext/43898991/pelican.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/pelican.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/pelican.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: assemble\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nelse\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: assemblePreproc\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nelse\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: link\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\ndist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES}  nbproject/Makefile-${CND_CONF}.mk    \n\t@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} \n\t${MP_CC} $(MP_EXTRA_LD_PRE)  -o dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}      -mcpu=$(MP_PROCESSOR_OPTION)        -D__DEBUG=__DEBUG -D__MPLAB_DEBUGGER_PK3=1  -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)   -mreserve=data@0x800:0x81F -mreserve=data@0x820:0x821 -mreserve=data@0x822:0x823 -mreserve=data@0x824:0x825 -mreserve=data@0x826:0x84F   -Wl,,,--defsym=__MPLAB_BUILD=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,-D__DEBUG=__DEBUG,--defsym=__MPLAB_DEBUGGER_PK3=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,--report-mem,--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml$(MP_EXTRA_LD_POST) \n\t\nelse\ndist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES}  nbproject/Makefile-${CND_CONF}.mk   \n\t@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} \n\t${MP_CC} $(MP_EXTRA_LD_PRE)  -o dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}      -mcpu=$(MP_PROCESSOR_OPTION)        -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -Wl,,,--defsym=__MPLAB_BUILD=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,--report-mem,--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml$(MP_EXTRA_LD_POST) \n\t${MP_CC_DIR}\\\\xc16-bin2hex dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -a  -omf=elf  \n\t\nendif\n\n\n# Subprojects\n.build-subprojects:\n\n\n# Subprojects\n.clean-subprojects:\n\n# Clean Targets\n.clean-conf: ${CLEAN_SUBPROJECTS}\n\t${RM} -r build/default\n\t${RM} -r dist/default\n\n# Enable dependency checking\n.dep.inc: .depcheck-impl\n\nDEPFILES=$(shell mplabwildcard ${POSSIBLE_DEPFILES})\nifneq (${DEPFILES},)\ninclude ${DEPFILES}\nendif\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qk/xc16/nbproject/Makefile-genesis.properties",
    "content": "#\n#Tue Jun 11 15:08:46 EDT 2019\ndefault.languagetoolchain.version=1.36\nrelease.languagetoolchain.dir=C\\:\\\\tools\\\\Microchip\\\\xc16\\\\bin\ndefault.com-microchip-mplab-nbide-toolchainXC16-XC16LanguageToolchain.md5=a53e8c22b31e6f5bcc1968d7c72d01dd\nconf.ids=default,release\ndefault.languagetoolchain.dir=C\\:\\\\tools\\\\Microchip\\\\xc16\\\\bin\nconfigurations-xml=8ae3294aed6b1feb320d4ce8fb105d0f\ncom-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=37eccb08230908d044ad3fe14e24ea9a\nrelease.com-microchip-mplab-nbide-toolchainXC16-XC16LanguageToolchain.md5=a53e8c22b31e6f5bcc1968d7c72d01dd\nrelease.languagetoolchain.version=1.36\nhost.platform=windows\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qk/xc16/nbproject/Makefile-impl.mk",
    "content": "#\n# Generated Makefile - do not edit!\n#\n# Edit the Makefile in the project folder instead (../Makefile). Each target\n# has a pre- and a post- target defined where you can add customization code.\n#\n# This makefile implements macros and targets common to all configurations.\n#\n# NOCDDL\n\n\n# Building and Cleaning subprojects are done by default, but can be controlled with the SUB\n# macro. If SUB=no, subprojects will not be built or cleaned. The following macro\n# statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf\n# and .clean-reqprojects-conf unless SUB has the value 'no'\nSUB_no=NO\nSUBPROJECTS=${SUB_${SUB}}\nBUILD_SUBPROJECTS_=.build-subprojects\nBUILD_SUBPROJECTS_NO=\nBUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}}\nCLEAN_SUBPROJECTS_=.clean-subprojects\nCLEAN_SUBPROJECTS_NO=\nCLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}}\n\n\n# Project Name\nPROJECTNAME=xc16\n\n# Active Configuration\nDEFAULTCONF=default\nCONF=${DEFAULTCONF}\n\n# All Configurations\nALLCONFS=default release \n\n\n# build\n.build-impl: .build-pre\n\t${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-conf\n\n\n# clean\n.clean-impl: .clean-pre\n\t${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .clean-conf\n\n# clobber\n.clobber-impl: .clobber-pre .depcheck-impl\n\t    ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default clean\n\t    ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=release clean\n\n\n\n# all\n.all-impl: .all-pre .depcheck-impl\n\t    ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default build\n\t    ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=release build\n\n\n\n# dependency checking support\n.depcheck-impl:\n#\t@echo \"# This code depends on make tool being used\" >.dep.inc\n#\t@if [ -n \"${MAKE_VERSION}\" ]; then \\\n#\t    echo \"DEPFILES=\\$$(wildcard \\$$(addsuffix .d, \\$${OBJECTFILES}))\" >>.dep.inc; \\\n#\t    echo \"ifneq (\\$${DEPFILES},)\" >>.dep.inc; \\\n#\t    echo \"include \\$${DEPFILES}\" >>.dep.inc; \\\n#\t    echo \"endif\" >>.dep.inc; \\\n#\telse \\\n#\t    echo \".KEEP_STATE:\" >>.dep.inc; \\\n#\t    echo \".KEEP_STATE_FILE:.make.state.\\$${CONF}\" >>.dep.inc; \\\n#\tfi\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qk/xc16/nbproject/Makefile-local-default.mk",
    "content": "#\n# Generated Makefile - do not edit!\n#\n#\n# This file contains information about the location of compilers and other tools.\n# If you commmit this file into your revision control server, you will be able to \n# to checkout the project and build it from the command line with make. However,\n# if more than one person works on the same project, then this file might show\n# conflicts since different users are bound to have compilers in different places.\n# In that case you might choose to not commit this file and let MPLAB X recreate this file\n# for each user. The disadvantage of not commiting this file is that you must run MPLAB X at\n# least once so the file gets created and the project can be built. Finally, you can also\n# avoid using this file at all if you are only building from the command line with make.\n# You can invoke make with the values of the macros:\n# $ makeMP_CC=\"/opt/microchip/mplabc30/v3.30c/bin/pic30-gcc\" ...  \n#\nSHELL=cmd.exe\nPATH_TO_IDE_BIN=C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/\n# Adding MPLAB X bin directory to path.\nPATH:=C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/:$(PATH)\n# Path to java used to run MPLAB X when this makefile was created\nMP_JAVA_PATH=\"C:\\tools\\Microchip\\MPLABX\\sys\\java\\jre1.8.0_181/bin/\"\nOS_CURRENT=\"$(shell uname -s)\"\nMP_CC=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-gcc.exe\"\n# MP_CPPC is not defined\n# MP_BC is not defined\nMP_AS=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-as.exe\"\nMP_LD=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-ld.exe\"\nMP_AR=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-ar.exe\"\nDEP_GEN=${MP_JAVA_PATH}java -jar \"C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/extractobjectdependencies.jar\"\nMP_CC_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\n# MP_CPPC_DIR is not defined\n# MP_BC_DIR is not defined\nMP_AS_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\nMP_LD_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\nMP_AR_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\n# MP_BC_DIR is not defined\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qk/xc16/nbproject/Makefile-local-release.mk",
    "content": "#\n# Generated Makefile - do not edit!\n#\n#\n# This file contains information about the location of compilers and other tools.\n# If you commmit this file into your revision control server, you will be able to \n# to checkout the project and build it from the command line with make. However,\n# if more than one person works on the same project, then this file might show\n# conflicts since different users are bound to have compilers in different places.\n# In that case you might choose to not commit this file and let MPLAB X recreate this file\n# for each user. The disadvantage of not commiting this file is that you must run MPLAB X at\n# least once so the file gets created and the project can be built. Finally, you can also\n# avoid using this file at all if you are only building from the command line with make.\n# You can invoke make with the values of the macros:\n# $ makeMP_CC=\"/opt/microchip/mplabc30/v3.30c/bin/pic30-gcc\" ...  \n#\nSHELL=cmd.exe\nPATH_TO_IDE_BIN=C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/\n# Adding MPLAB X bin directory to path.\nPATH:=C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/:$(PATH)\n# Path to java used to run MPLAB X when this makefile was created\nMP_JAVA_PATH=\"C:\\tools\\Microchip\\MPLABX\\sys\\java\\jre1.8.0_181/bin/\"\nOS_CURRENT=\"$(shell uname -s)\"\nMP_CC=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-gcc.exe\"\n# MP_CPPC is not defined\n# MP_BC is not defined\nMP_AS=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-as.exe\"\nMP_LD=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-ld.exe\"\nMP_AR=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-ar.exe\"\nDEP_GEN=${MP_JAVA_PATH}java -jar \"C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/extractobjectdependencies.jar\"\nMP_CC_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\n# MP_CPPC_DIR is not defined\n# MP_BC_DIR is not defined\nMP_AS_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\nMP_LD_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\nMP_AR_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\n# MP_BC_DIR is not defined\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qk/xc16/nbproject/Makefile-release.mk",
    "content": "#\n# Generated Makefile - do not edit!\n#\n# Edit the Makefile in the project folder instead (../Makefile). Each target\n# has a -pre and a -post target defined where you can add customized code.\n#\n# This makefile implements configuration specific macros and targets.\n\n\n# Include project Makefile\nifeq \"${IGNORE_LOCAL}\" \"TRUE\"\n# do not include local makefile. User is passing all local related variables already\nelse\ninclude Makefile\n# Include makefile containing local settings\nifeq \"$(wildcard nbproject/Makefile-local-release.mk)\" \"nbproject/Makefile-local-release.mk\"\ninclude nbproject/Makefile-local-release.mk\nendif\nendif\n\n# Environment\nMKDIR=gnumkdir -p\nRM=rm -f \nMV=mv \nCP=cp \n\n# Macros\nCND_CONF=release\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nIMAGE_TYPE=debug\nOUTPUT_SUFFIX=elf\nDEBUGGABLE_SUFFIX=elf\nFINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nelse\nIMAGE_TYPE=production\nOUTPUT_SUFFIX=hex\nDEBUGGABLE_SUFFIX=elf\nFINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nendif\n\nifeq ($(COMPARE_BUILD), true)\nCOMPARISON_BUILD=-mafrlcsj\nelse\nCOMPARISON_BUILD=\nendif\n\nifdef SUB_IMAGE_ADDRESS\nSUB_IMAGE_ADDRESS_COMMAND=--image-address $(SUB_IMAGE_ADDRESS)\nelse\nSUB_IMAGE_ADDRESS_COMMAND=\nendif\n\n# Object Directory\nOBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE}\n\n# Distribution Directory\nDISTDIR=dist/${CND_CONF}/${IMAGE_TYPE}\n\n# Source Files Quoted if spaced\nSOURCEFILES_QUOTED_IF_SPACED=../../../../../src/qfn/qepn.c ../../../../../src/qfn/qfn.c ../../../../../src/qkn/qkn.c ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c bsp.c ../../../../../include/qstamp.c ../../main.c ../../pelican.c\n\n# Object Files Quoted if spaced\nOBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/_ext/329161665/qepn.o ${OBJECTDIR}/_ext/329161665/qfn.o ${OBJECTDIR}/_ext/329161510/qkn.o ${OBJECTDIR}/_ext/1875001806/qkn_port.o ${OBJECTDIR}/bsp.o ${OBJECTDIR}/_ext/726959463/qstamp.o ${OBJECTDIR}/_ext/43898991/main.o ${OBJECTDIR}/_ext/43898991/pelican.o\nPOSSIBLE_DEPFILES=${OBJECTDIR}/_ext/329161665/qepn.o.d ${OBJECTDIR}/_ext/329161665/qfn.o.d ${OBJECTDIR}/_ext/329161510/qkn.o.d ${OBJECTDIR}/_ext/1875001806/qkn_port.o.d ${OBJECTDIR}/bsp.o.d ${OBJECTDIR}/_ext/726959463/qstamp.o.d ${OBJECTDIR}/_ext/43898991/main.o.d ${OBJECTDIR}/_ext/43898991/pelican.o.d\n\n# Object Files\nOBJECTFILES=${OBJECTDIR}/_ext/329161665/qepn.o ${OBJECTDIR}/_ext/329161665/qfn.o ${OBJECTDIR}/_ext/329161510/qkn.o ${OBJECTDIR}/_ext/1875001806/qkn_port.o ${OBJECTDIR}/bsp.o ${OBJECTDIR}/_ext/726959463/qstamp.o ${OBJECTDIR}/_ext/43898991/main.o ${OBJECTDIR}/_ext/43898991/pelican.o\n\n# Source Files\nSOURCEFILES=../../../../../src/qfn/qepn.c ../../../../../src/qfn/qfn.c ../../../../../src/qkn/qkn.c ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c bsp.c ../../../../../include/qstamp.c ../../main.c ../../pelican.c\n\n\nCFLAGS=\nASFLAGS=\nLDLIBSOPTIONS=\n\n############# Tool locations ##########################################\n# If you copy a project from one host to another, the path where the  #\n# compiler is installed may be different.                             #\n# If you open this project with MPLAB X in the new host, this         #\n# makefile will be regenerated and the paths will be corrected.       #\n#######################################################################\n# fixDeps replaces a bunch of sed/cat/printf statements that slow down the build\nFIXDEPS=fixDeps\n\n.build-conf:  ${BUILD_SUBPROJECTS}\nifneq ($(INFORMATION_MESSAGE), )\n\t@echo $(INFORMATION_MESSAGE)\nendif\n\t${MAKE}  -f nbproject/Makefile-release.mk dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\n\nMP_PROCESSOR_OPTION=24FJ64GB002\nMP_LINKER_FILE_OPTION=,--script=p24FJ64GB002.gld\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: compile\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\n${OBJECTDIR}/_ext/329161665/qepn.o: ../../../../../src/qfn/qepn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qepn.c  -o ${OBJECTDIR}/_ext/329161665/qepn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qepn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qepn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161665/qfn.o: ../../../../../src/qfn/qfn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qfn.c  -o ${OBJECTDIR}/_ext/329161665/qfn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qfn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qfn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161510/qkn.o: ../../../../../src/qkn/qkn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161510\" \n\t@${RM} ${OBJECTDIR}/_ext/329161510/qkn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161510/qkn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qkn/qkn.c  -o ${OBJECTDIR}/_ext/329161510/qkn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161510/qkn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161510/qkn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/1875001806/qkn_port.o: ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/1875001806\" \n\t@${RM} ${OBJECTDIR}/_ext/1875001806/qkn_port.o.d \n\t@${RM} ${OBJECTDIR}/_ext/1875001806/qkn_port.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c  -o ${OBJECTDIR}/_ext/1875001806/qkn_port.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/1875001806/qkn_port.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/1875001806/qkn_port.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/bsp.o: bsp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}\" \n\t@${RM} ${OBJECTDIR}/bsp.o.d \n\t@${RM} ${OBJECTDIR}/bsp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  bsp.c  -o ${OBJECTDIR}/bsp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/bsp.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/bsp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/726959463/qstamp.o: ../../../../../include/qstamp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/726959463\" \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o.d \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../include/qstamp.c  -o ${OBJECTDIR}/_ext/726959463/qstamp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/main.o: ../../main.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../main.c  -o ${OBJECTDIR}/_ext/43898991/main.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/main.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/main.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/pelican.o: ../../pelican.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/pelican.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/pelican.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../pelican.c  -o ${OBJECTDIR}/_ext/43898991/pelican.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/pelican.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/pelican.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\nelse\n${OBJECTDIR}/_ext/329161665/qepn.o: ../../../../../src/qfn/qepn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qepn.c  -o ${OBJECTDIR}/_ext/329161665/qepn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qepn.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qepn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161665/qfn.o: ../../../../../src/qfn/qfn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qfn.c  -o ${OBJECTDIR}/_ext/329161665/qfn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qfn.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qfn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161510/qkn.o: ../../../../../src/qkn/qkn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161510\" \n\t@${RM} ${OBJECTDIR}/_ext/329161510/qkn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161510/qkn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qkn/qkn.c  -o ${OBJECTDIR}/_ext/329161510/qkn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161510/qkn.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161510/qkn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/1875001806/qkn_port.o: ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/1875001806\" \n\t@${RM} ${OBJECTDIR}/_ext/1875001806/qkn_port.o.d \n\t@${RM} ${OBJECTDIR}/_ext/1875001806/qkn_port.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c  -o ${OBJECTDIR}/_ext/1875001806/qkn_port.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/1875001806/qkn_port.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/1875001806/qkn_port.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/bsp.o: bsp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}\" \n\t@${RM} ${OBJECTDIR}/bsp.o.d \n\t@${RM} ${OBJECTDIR}/bsp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  bsp.c  -o ${OBJECTDIR}/bsp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/bsp.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/bsp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/726959463/qstamp.o: ../../../../../include/qstamp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/726959463\" \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o.d \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../include/qstamp.c  -o ${OBJECTDIR}/_ext/726959463/qstamp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/main.o: ../../main.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../main.c  -o ${OBJECTDIR}/_ext/43898991/main.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/main.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/main.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/pelican.o: ../../pelican.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/pelican.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/pelican.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../pelican.c  -o ${OBJECTDIR}/_ext/43898991/pelican.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/pelican.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qk/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/pelican.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: assemble\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nelse\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: assemblePreproc\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nelse\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: link\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\ndist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES}  nbproject/Makefile-${CND_CONF}.mk    \n\t@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} \n\t${MP_CC} $(MP_EXTRA_LD_PRE)  -o dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}      -mcpu=$(MP_PROCESSOR_OPTION)        -D__DEBUG=__DEBUG -D__MPLAB_DEBUGGER_PK3=1  -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)   -mreserve=data@0x800:0x81F -mreserve=data@0x820:0x821 -mreserve=data@0x822:0x823 -mreserve=data@0x824:0x825 -mreserve=data@0x826:0x84F   -Wl,,,--defsym=__MPLAB_BUILD=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,-D__DEBUG=__DEBUG,--defsym=__MPLAB_DEBUGGER_PK3=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,--report-mem,--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml$(MP_EXTRA_LD_POST) \n\t\nelse\ndist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES}  nbproject/Makefile-${CND_CONF}.mk   \n\t@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} \n\t${MP_CC} $(MP_EXTRA_LD_PRE)  -o dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}      -mcpu=$(MP_PROCESSOR_OPTION)        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Wl,,,--defsym=__MPLAB_BUILD=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,--report-mem,--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml$(MP_EXTRA_LD_POST) \n\t${MP_CC_DIR}\\\\xc16-bin2hex dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -a  -omf=elf  \n\t\nendif\n\n\n# Subprojects\n.build-subprojects:\n\n\n# Subprojects\n.clean-subprojects:\n\n# Clean Targets\n.clean-conf: ${CLEAN_SUBPROJECTS}\n\t${RM} -r build/release\n\t${RM} -r dist/release\n\n# Enable dependency checking\n.dep.inc: .depcheck-impl\n\nDEPFILES=$(shell mplabwildcard ${POSSIBLE_DEPFILES})\nifneq (${DEPFILES},)\ninclude ${DEPFILES}\nendif\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qk/xc16/nbproject/Makefile-variables.mk",
    "content": "#\n# Generated - do not edit!\n#\n# NOCDDL\n#\nCND_BASEDIR=`pwd`\n# default configuration\nCND_ARTIFACT_DIR_default=dist/default/production\nCND_ARTIFACT_NAME_default=xc16.production.hex\nCND_ARTIFACT_PATH_default=dist/default/production/xc16.production.hex\nCND_PACKAGE_DIR_default=${CND_DISTDIR}/default/package\nCND_PACKAGE_NAME_default=xc16.tar\nCND_PACKAGE_PATH_default=${CND_DISTDIR}/default/package/xc16.tar\n# release configuration\nCND_ARTIFACT_DIR_release=dist/release/production\nCND_ARTIFACT_NAME_release=xc16.production.hex\nCND_ARTIFACT_PATH_release=dist/release/production/xc16.production.hex\nCND_PACKAGE_DIR_release=${CND_DISTDIR}/release/package\nCND_PACKAGE_NAME_release=xc16.tar\nCND_PACKAGE_PATH_release=${CND_DISTDIR}/release/package/xc16.tar\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qk/xc16/nbproject/Package-default.bash",
    "content": "#!/bin/bash -x\n\n#\n# Generated - do not edit!\n#\n\n# Macros\nTOP=`pwd`\nCND_CONF=default\nCND_DISTDIR=dist\nTMPDIR=build/${CND_CONF}/${IMAGE_TYPE}/tmp-packaging\nTMPDIRNAME=tmp-packaging\nOUTPUT_PATH=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nOUTPUT_BASENAME=xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nPACKAGE_TOP_DIR=xc16/\n\n# Functions\nfunction checkReturnCode\n{\n    rc=$?\n    if [ $rc != 0 ]\n    then\n        exit $rc\n    fi\n}\nfunction makeDirectory\n# $1 directory path\n# $2 permission (optional)\n{\n    mkdir -p \"$1\"\n    checkReturnCode\n    if [ \"$2\" != \"\" ]\n    then\n      chmod $2 \"$1\"\n      checkReturnCode\n    fi\n}\nfunction copyFileToTmpDir\n# $1 from-file path\n# $2 to-file path\n# $3 permission\n{\n    cp \"$1\" \"$2\"\n    checkReturnCode\n    if [ \"$3\" != \"\" ]\n    then\n        chmod $3 \"$2\"\n        checkReturnCode\n    fi\n}\n\n# Setup\ncd \"${TOP}\"\nmkdir -p ${CND_DISTDIR}/${CND_CONF}/package\nrm -rf ${TMPDIR}\nmkdir -p ${TMPDIR}\n\n# Copy files and create directories and links\ncd \"${TOP}\"\nmakeDirectory ${TMPDIR}/xc16/bin\ncopyFileToTmpDir \"${OUTPUT_PATH}\" \"${TMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}\" 0755\n\n\n# Generate tar file\ncd \"${TOP}\"\nrm -f ${CND_DISTDIR}/${CND_CONF}/package/xc16.tar\ncd ${TMPDIR}\ntar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/package/xc16.tar *\ncheckReturnCode\n\n# Cleanup\ncd \"${TOP}\"\nrm -rf ${TMPDIR}\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qk/xc16/nbproject/Package-release.bash",
    "content": "#!/bin/bash -x\n\n#\n# Generated - do not edit!\n#\n\n# Macros\nTOP=`pwd`\nCND_CONF=release\nCND_DISTDIR=dist\nTMPDIR=build/${CND_CONF}/${IMAGE_TYPE}/tmp-packaging\nTMPDIRNAME=tmp-packaging\nOUTPUT_PATH=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nOUTPUT_BASENAME=xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nPACKAGE_TOP_DIR=xc16/\n\n# Functions\nfunction checkReturnCode\n{\n    rc=$?\n    if [ $rc != 0 ]\n    then\n        exit $rc\n    fi\n}\nfunction makeDirectory\n# $1 directory path\n# $2 permission (optional)\n{\n    mkdir -p \"$1\"\n    checkReturnCode\n    if [ \"$2\" != \"\" ]\n    then\n      chmod $2 \"$1\"\n      checkReturnCode\n    fi\n}\nfunction copyFileToTmpDir\n# $1 from-file path\n# $2 to-file path\n# $3 permission\n{\n    cp \"$1\" \"$2\"\n    checkReturnCode\n    if [ \"$3\" != \"\" ]\n    then\n        chmod $3 \"$2\"\n        checkReturnCode\n    fi\n}\n\n# Setup\ncd \"${TOP}\"\nmkdir -p ${CND_DISTDIR}/${CND_CONF}/package\nrm -rf ${TMPDIR}\nmkdir -p ${TMPDIR}\n\n# Copy files and create directories and links\ncd \"${TOP}\"\nmakeDirectory ${TMPDIR}/xc16/bin\ncopyFileToTmpDir \"${OUTPUT_PATH}\" \"${TMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}\" 0755\n\n\n# Generate tar file\ncd \"${TOP}\"\nrm -f ${CND_DISTDIR}/${CND_CONF}/package/xc16.tar\ncd ${TMPDIR}\ntar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/package/xc16.tar *\ncheckReturnCode\n\n# Cleanup\ncd \"${TOP}\"\nrm -rf ${TMPDIR}\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qk/xc16/nbproject/configurations.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<configurationDescriptor version=\"65\">\n  <logicalFolder name=\"root\" displayName=\"root\" projectFiles=\"true\">\n    <logicalFolder name=\"HeaderFiles\"\n                   displayName=\"Header Files\"\n                   projectFiles=\"true\">\n    </logicalFolder>\n    <logicalFolder name=\"LinkerScript\"\n                   displayName=\"Linker Files\"\n                   projectFiles=\"true\">\n    </logicalFolder>\n    <logicalFolder name=\"f1\" displayName=\"QP-nano\" projectFiles=\"true\">\n      <itemPath>../../../../../src/qfn/qepn.c</itemPath>\n      <itemPath>../../../../../src/qfn/qfn.c</itemPath>\n      <itemPath>../../../../../src/qkn/qkn.c</itemPath>\n      <itemPath>../../../../../ports/pic24_dspic/qk/xc16/qkn_port.c</itemPath>\n    </logicalFolder>\n    <logicalFolder name=\"SourceFiles\"\n                   displayName=\"Source Files\"\n                   projectFiles=\"true\">\n      <itemPath>bsp.c</itemPath>\n      <itemPath>../../../../../include/qstamp.c</itemPath>\n      <itemPath>../../bsp.h</itemPath>\n      <itemPath>../../main.c</itemPath>\n      <itemPath>../../pelican.c</itemPath>\n      <itemPath>../../pelican.h</itemPath>\n      <itemPath>../../qpn_conf.h</itemPath>\n    </logicalFolder>\n    <logicalFolder name=\"ExternalFiles\"\n                   displayName=\"Important Files\"\n                   projectFiles=\"false\">\n      <itemPath>Makefile</itemPath>\n    </logicalFolder>\n  </logicalFolder>\n  <sourceRootList>\n    <Elem>../..</Elem>\n    <Elem>../../../../../include</Elem>\n    <Elem>../../../../../ports/pic24_dspic/qk/xc16</Elem>\n    <Elem>../../../../../src/qfn</Elem>\n    <Elem>../../../../../src/qkn</Elem>\n  </sourceRootList>\n  <projectmakefile>Makefile</projectmakefile>\n  <confs>\n    <conf name=\"default\" type=\"2\">\n      <toolsSet>\n        <developmentServer>localhost</developmentServer>\n        <targetDevice>PIC24FJ64GB002</targetDevice>\n        <targetHeader></targetHeader>\n        <targetPluginBoard></targetPluginBoard>\n        <platformTool>PKOBSKDEPlatformTool</platformTool>\n        <languageToolchain>XC16</languageToolchain>\n        <languageToolchainVersion>1.36</languageToolchainVersion>\n        <platform>3</platform>\n      </toolsSet>\n      <packs>\n        <pack name=\"PIC24F-GA-GB_DFP\" vendor=\"Microchip\" version=\"1.0.58\"/>\n      </packs>\n      <compileType>\n        <linkerTool>\n          <linkerLibItems>\n          </linkerLibItems>\n        </linkerTool>\n        <archiverTool>\n        </archiverTool>\n        <loading>\n          <useAlternateLoadableFile>false</useAlternateLoadableFile>\n          <parseOnProdLoad>false</parseOnProdLoad>\n          <alternateLoadableFile></alternateLoadableFile>\n        </loading>\n        <subordinates>\n        </subordinates>\n      </compileType>\n      <makeCustomizationType>\n        <makeCustomizationPreStepEnabled>false</makeCustomizationPreStepEnabled>\n        <makeCustomizationPreStep></makeCustomizationPreStep>\n        <makeCustomizationPostStepEnabled>false</makeCustomizationPostStepEnabled>\n        <makeCustomizationPostStep></makeCustomizationPostStep>\n        <makeCustomizationPutChecksumInUserID>false</makeCustomizationPutChecksumInUserID>\n        <makeCustomizationEnableLongLines>false</makeCustomizationEnableLongLines>\n        <makeCustomizationNormalizeHexFile>false</makeCustomizationNormalizeHexFile>\n      </makeCustomizationType>\n      <C30>\n        <property key=\"code-model\" value=\"default\"/>\n        <property key=\"const-model\" value=\"default\"/>\n        <property key=\"data-model\" value=\"default\"/>\n        <property key=\"disable-instruction-scheduling\" value=\"false\"/>\n        <property key=\"enable-all-warnings\" value=\"true\"/>\n        <property key=\"enable-ansi-std\" value=\"false\"/>\n        <property key=\"enable-ansi-warnings\" value=\"false\"/>\n        <property key=\"enable-fatal-warnings\" value=\"false\"/>\n        <property key=\"enable-large-arrays\" value=\"false\"/>\n        <property key=\"enable-omit-frame-pointer\" value=\"false\"/>\n        <property key=\"enable-procedural-abstraction\" value=\"false\"/>\n        <property key=\"enable-short-double\" value=\"false\"/>\n        <property key=\"enable-symbols\" value=\"true\"/>\n        <property key=\"enable-unroll-loops\" value=\"false\"/>\n        <property key=\"extra-include-directories\"\n                  value=\"..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\src;..\\..\\..\\..\\..\\ports\\pic24_dspic\\qk\\xc16\"/>\n        <property key=\"isolate-each-function\" value=\"false\"/>\n        <property key=\"keep-inline\" value=\"false\"/>\n        <property key=\"oXC16gcc-align-arr\" value=\"false\"/>\n        <property key=\"oXC16gcc-cnsts-mauxflash\" value=\"false\"/>\n        <property key=\"oXC16gcc-data-sects\" value=\"false\"/>\n        <property key=\"oXC16gcc-errata\" value=\"\"/>\n        <property key=\"oXC16gcc-fillupper\" value=\"\"/>\n        <property key=\"oXC16gcc-large-aggregate\" value=\"false\"/>\n        <property key=\"oXC16gcc-mauxflash\" value=\"false\"/>\n        <property key=\"oXC16gcc-mpa-lvl\" value=\"\"/>\n        <property key=\"oXC16gcc-name-text-sec\" value=\"\"/>\n        <property key=\"oXC16gcc-near-chars\" value=\"false\"/>\n        <property key=\"oXC16gcc-no-isr-warn\" value=\"false\"/>\n        <property key=\"oXC16gcc-sfr-warn\" value=\"false\"/>\n        <property key=\"oXC16gcc-smar-io-lvl\" value=\"1\"/>\n        <property key=\"oXC16gcc-smart-io-fmt\" value=\"\"/>\n        <property key=\"optimization-level\" value=\"0\"/>\n        <property key=\"post-instruction-scheduling\" value=\"default\"/>\n        <property key=\"pre-instruction-scheduling\" value=\"default\"/>\n        <property key=\"preprocessor-macros\" value=\"\"/>\n        <property key=\"scalar-model\" value=\"default\"/>\n        <property key=\"use-cci\" value=\"false\"/>\n        <property key=\"use-iar\" value=\"false\"/>\n      </C30>\n      <C30-AR>\n        <property key=\"additional-options-chop-files\" value=\"false\"/>\n      </C30-AR>\n      <C30-AS>\n        <property key=\"assembler-symbols\" value=\"\"/>\n        <property key=\"expand-macros\" value=\"false\"/>\n        <property key=\"extra-include-directories-for-assembler\" value=\"\"/>\n        <property key=\"extra-include-directories-for-preprocessor\" value=\"\"/>\n        <property key=\"false-conditionals\" value=\"false\"/>\n        <property key=\"keep-locals\" value=\"false\"/>\n        <property key=\"list-assembly\" value=\"false\"/>\n        <property key=\"list-section-info\" value=\"false\"/>\n        <property key=\"list-source\" value=\"false\"/>\n        <property key=\"list-symbols\" value=\"false\"/>\n        <property key=\"oXC16asm-extra-opts\" value=\"\"/>\n        <property key=\"oXC16asm-list-to-file\" value=\"false\"/>\n        <property key=\"omit-debug-dirs\" value=\"false\"/>\n        <property key=\"omit-forms\" value=\"false\"/>\n        <property key=\"preprocessor-macros\" value=\"\"/>\n        <property key=\"relax\" value=\"false\"/>\n        <property key=\"warning-level\" value=\"emit-warnings\"/>\n      </C30-AS>\n      <C30-LD>\n        <property key=\"additional-options-use-response-files\" value=\"false\"/>\n        <property key=\"boot-eeprom\" value=\"no_eeprom\"/>\n        <property key=\"boot-flash\" value=\"no_flash\"/>\n        <property key=\"boot-ram\" value=\"no_ram\"/>\n        <property key=\"boot-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"enable-check-sections\" value=\"false\"/>\n        <property key=\"enable-data-init\" value=\"true\"/>\n        <property key=\"enable-default-isr\" value=\"true\"/>\n        <property key=\"enable-handles\" value=\"true\"/>\n        <property key=\"enable-pack-data\" value=\"true\"/>\n        <property key=\"extra-lib-directories\" value=\"\"/>\n        <property key=\"fill-flash-options-addr\" value=\"\"/>\n        <property key=\"fill-flash-options-const\" value=\"\"/>\n        <property key=\"fill-flash-options-how\" value=\"0\"/>\n        <property key=\"fill-flash-options-inc-const\" value=\"1\"/>\n        <property key=\"fill-flash-options-increment\" value=\"\"/>\n        <property key=\"fill-flash-options-seq\" value=\"\"/>\n        <property key=\"fill-flash-options-what\" value=\"0\"/>\n        <property key=\"general-code-protect\" value=\"no_code_protect\"/>\n        <property key=\"general-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"generate-cross-reference-file\" value=\"false\"/>\n        <property key=\"heap-size\" value=\"\"/>\n        <property key=\"input-libraries\" value=\"\"/>\n        <property key=\"linker-stack\" value=\"true\"/>\n        <property key=\"linker-symbols\" value=\"\"/>\n        <property key=\"map-file\" value=\"\"/>\n        <property key=\"no-ivt\" value=\"false\"/>\n        <property key=\"oXC16ld-extra-opts\" value=\"\"/>\n        <property key=\"oXC16ld-fill-upper\" value=\"0\"/>\n        <property key=\"oXC16ld-force-link\" value=\"false\"/>\n        <property key=\"oXC16ld-no-smart-io\" value=\"false\"/>\n        <property key=\"oXC16ld-nostdlib\" value=\"false\"/>\n        <property key=\"oXC16ld-stackguard\" value=\"16\"/>\n        <property key=\"preprocessor-macros\" value=\"\"/>\n        <property key=\"remove-unused-sections\" value=\"false\"/>\n        <property key=\"report-memory-usage\" value=\"true\"/>\n        <property key=\"secure-eeprom\" value=\"no_eeprom\"/>\n        <property key=\"secure-flash\" value=\"no_flash\"/>\n        <property key=\"secure-ram\" value=\"no_ram\"/>\n        <property key=\"secure-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"stack-size\" value=\"16\"/>\n        <property key=\"symbol-stripping\" value=\"\"/>\n        <property key=\"trace-symbols\" value=\"\"/>\n        <property key=\"warn-section-align\" value=\"false\"/>\n      </C30-LD>\n      <C30Global>\n        <property key=\"common-include-directories\" value=\"\"/>\n        <property key=\"dual-boot-partition\" value=\"0\"/>\n        <property key=\"fast-math\" value=\"false\"/>\n        <property key=\"generic-16-bit\" value=\"false\"/>\n        <property key=\"legacy-libc\" value=\"true\"/>\n        <property key=\"mpreserve-all\" value=\"false\"/>\n        <property key=\"oXC16glb-macros\" value=\"\"/>\n        <property key=\"output-file-format\" value=\"elf\"/>\n        <property key=\"preserve-all\" value=\"false\"/>\n        <property key=\"preserve-file\" value=\"\"/>\n        <property key=\"relaxed-math\" value=\"false\"/>\n        <property key=\"save-temps\" value=\"false\"/>\n      </C30Global>\n      <PKOBSKDEPlatformTool>\n        <property key=\"AutoSelectMemRanges\" value=\"auto\"/>\n        <property key=\"SecureSegment.SegmentProgramming\" value=\"FullChipProgramming\"/>\n        <property key=\"ToolFirmwareFilePath\"\n                  value=\"Press to browse for a specific firmware version\"/>\n        <property key=\"ToolFirmwareOption.UseLatestFirmware\" value=\"true\"/>\n        <property key=\"firmware.download.all\" value=\"false\"/>\n        <property key=\"memories.configurationmemory\" value=\"true\"/>\n        <property key=\"memories.dataflash\" value=\"true\"/>\n        <property key=\"memories.eeprom\" value=\"true\"/>\n        <property key=\"memories.id\" value=\"true\"/>\n        <property key=\"memories.programmemory\" value=\"true\"/>\n        <property key=\"memories.programmemory.ranges\" value=\"0-abf7\"/>\n        <property key=\"memories.userotp\" value=\"true\"/>\n        <property key=\"programoptions.donoteraseauxmem\" value=\"false\"/>\n        <property key=\"programoptions.eraseb4program\" value=\"true\"/>\n        <property key=\"programoptions.preservedataflash\" value=\"false\"/>\n        <property key=\"programoptions.preservedataflash.ranges\" value=\"\"/>\n        <property key=\"programoptions.preserveeeprom\" value=\"false\"/>\n        <property key=\"programoptions.preserveeeprom.ranges\"\n                  value=\"${memories.eedata.default}\"/>\n        <property key=\"programoptions.preserveprogram.ranges\" value=\"\"/>\n        <property key=\"programoptions.preserveprogramrange\" value=\"false\"/>\n        <property key=\"programoptions.usehighvoltageonmclr\" value=\"false\"/>\n        <property key=\"programoptions.uselvpprogramming\" value=\"true\"/>\n      </PKOBSKDEPlatformTool>\n    </conf>\n    <conf name=\"release\" type=\"2\">\n      <toolsSet>\n        <developmentServer>localhost</developmentServer>\n        <targetDevice>PIC24FJ64GB002</targetDevice>\n        <targetHeader></targetHeader>\n        <targetPluginBoard></targetPluginBoard>\n        <platformTool>PKOBSKDEPlatformTool</platformTool>\n        <languageToolchain>XC16</languageToolchain>\n        <languageToolchainVersion>1.36</languageToolchainVersion>\n        <platform>3</platform>\n      </toolsSet>\n      <packs>\n        <pack name=\"PIC24F-GA-GB_DFP\" vendor=\"Microchip\" version=\"1.0.58\"/>\n      </packs>\n      <compileType>\n        <linkerTool>\n          <linkerLibItems>\n          </linkerLibItems>\n        </linkerTool>\n        <archiverTool>\n        </archiverTool>\n        <loading>\n          <useAlternateLoadableFile>false</useAlternateLoadableFile>\n          <parseOnProdLoad>false</parseOnProdLoad>\n          <alternateLoadableFile></alternateLoadableFile>\n        </loading>\n        <subordinates>\n        </subordinates>\n      </compileType>\n      <makeCustomizationType>\n        <makeCustomizationPreStepEnabled>false</makeCustomizationPreStepEnabled>\n        <makeCustomizationPreStep></makeCustomizationPreStep>\n        <makeCustomizationPostStepEnabled>false</makeCustomizationPostStepEnabled>\n        <makeCustomizationPostStep></makeCustomizationPostStep>\n        <makeCustomizationPutChecksumInUserID>false</makeCustomizationPutChecksumInUserID>\n        <makeCustomizationEnableLongLines>false</makeCustomizationEnableLongLines>\n        <makeCustomizationNormalizeHexFile>false</makeCustomizationNormalizeHexFile>\n      </makeCustomizationType>\n      <C30>\n        <property key=\"code-model\" value=\"default\"/>\n        <property key=\"const-model\" value=\"default\"/>\n        <property key=\"data-model\" value=\"default\"/>\n        <property key=\"disable-instruction-scheduling\" value=\"false\"/>\n        <property key=\"enable-all-warnings\" value=\"true\"/>\n        <property key=\"enable-ansi-std\" value=\"false\"/>\n        <property key=\"enable-ansi-warnings\" value=\"false\"/>\n        <property key=\"enable-fatal-warnings\" value=\"false\"/>\n        <property key=\"enable-large-arrays\" value=\"false\"/>\n        <property key=\"enable-omit-frame-pointer\" value=\"false\"/>\n        <property key=\"enable-procedural-abstraction\" value=\"false\"/>\n        <property key=\"enable-short-double\" value=\"false\"/>\n        <property key=\"enable-symbols\" value=\"false\"/>\n        <property key=\"enable-unroll-loops\" value=\"false\"/>\n        <property key=\"extra-include-directories\"\n                  value=\"..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\src;..\\..\\..\\..\\..\\ports\\pic24_dspic\\qk\\xc16\"/>\n        <property key=\"isolate-each-function\" value=\"false\"/>\n        <property key=\"keep-inline\" value=\"false\"/>\n        <property key=\"oXC16gcc-align-arr\" value=\"false\"/>\n        <property key=\"oXC16gcc-cnsts-mauxflash\" value=\"false\"/>\n        <property key=\"oXC16gcc-data-sects\" value=\"false\"/>\n        <property key=\"oXC16gcc-errata\" value=\"\"/>\n        <property key=\"oXC16gcc-fillupper\" value=\"\"/>\n        <property key=\"oXC16gcc-large-aggregate\" value=\"false\"/>\n        <property key=\"oXC16gcc-mauxflash\" value=\"false\"/>\n        <property key=\"oXC16gcc-mpa-lvl\" value=\"\"/>\n        <property key=\"oXC16gcc-name-text-sec\" value=\"\"/>\n        <property key=\"oXC16gcc-near-chars\" value=\"false\"/>\n        <property key=\"oXC16gcc-no-isr-warn\" value=\"false\"/>\n        <property key=\"oXC16gcc-sfr-warn\" value=\"false\"/>\n        <property key=\"oXC16gcc-smar-io-lvl\" value=\"1\"/>\n        <property key=\"oXC16gcc-smart-io-fmt\" value=\"\"/>\n        <property key=\"optimization-level\" value=\"s\"/>\n        <property key=\"post-instruction-scheduling\" value=\"default\"/>\n        <property key=\"pre-instruction-scheduling\" value=\"default\"/>\n        <property key=\"preprocessor-macros\" value=\"NDEBUG\"/>\n        <property key=\"scalar-model\" value=\"default\"/>\n        <property key=\"use-cci\" value=\"false\"/>\n        <property key=\"use-iar\" value=\"false\"/>\n      </C30>\n      <C30-AR>\n        <property key=\"additional-options-chop-files\" value=\"false\"/>\n      </C30-AR>\n      <C30-AS>\n        <property key=\"assembler-symbols\" value=\"\"/>\n        <property key=\"expand-macros\" value=\"false\"/>\n        <property key=\"extra-include-directories-for-assembler\" value=\"\"/>\n        <property key=\"extra-include-directories-for-preprocessor\" value=\"\"/>\n        <property key=\"false-conditionals\" value=\"false\"/>\n        <property key=\"keep-locals\" value=\"false\"/>\n        <property key=\"list-assembly\" value=\"false\"/>\n        <property key=\"list-section-info\" value=\"false\"/>\n        <property key=\"list-source\" value=\"false\"/>\n        <property key=\"list-symbols\" value=\"false\"/>\n        <property key=\"oXC16asm-extra-opts\" value=\"\"/>\n        <property key=\"oXC16asm-list-to-file\" value=\"false\"/>\n        <property key=\"omit-debug-dirs\" value=\"false\"/>\n        <property key=\"omit-forms\" value=\"false\"/>\n        <property key=\"preprocessor-macros\" value=\"\"/>\n        <property key=\"relax\" value=\"false\"/>\n        <property key=\"warning-level\" value=\"emit-warnings\"/>\n      </C30-AS>\n      <C30-LD>\n        <property key=\"additional-options-use-response-files\" value=\"false\"/>\n        <property key=\"boot-eeprom\" value=\"no_eeprom\"/>\n        <property key=\"boot-flash\" value=\"no_flash\"/>\n        <property key=\"boot-ram\" value=\"no_ram\"/>\n        <property key=\"boot-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"enable-check-sections\" value=\"false\"/>\n        <property key=\"enable-data-init\" value=\"true\"/>\n        <property key=\"enable-default-isr\" value=\"true\"/>\n        <property key=\"enable-handles\" value=\"true\"/>\n        <property key=\"enable-pack-data\" value=\"true\"/>\n        <property key=\"extra-lib-directories\" value=\"\"/>\n        <property key=\"fill-flash-options-addr\" value=\"\"/>\n        <property key=\"fill-flash-options-const\" value=\"\"/>\n        <property key=\"fill-flash-options-how\" value=\"0\"/>\n        <property key=\"fill-flash-options-inc-const\" value=\"1\"/>\n        <property key=\"fill-flash-options-increment\" value=\"\"/>\n        <property key=\"fill-flash-options-seq\" value=\"\"/>\n        <property key=\"fill-flash-options-what\" value=\"0\"/>\n        <property key=\"general-code-protect\" value=\"no_code_protect\"/>\n        <property key=\"general-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"generate-cross-reference-file\" value=\"false\"/>\n        <property key=\"heap-size\" value=\"\"/>\n        <property key=\"input-libraries\" value=\"\"/>\n        <property key=\"linker-stack\" value=\"true\"/>\n        <property key=\"linker-symbols\" value=\"\"/>\n        <property key=\"map-file\" value=\"\"/>\n        <property key=\"no-ivt\" value=\"false\"/>\n        <property key=\"oXC16ld-extra-opts\" value=\"\"/>\n        <property key=\"oXC16ld-fill-upper\" value=\"0\"/>\n        <property key=\"oXC16ld-force-link\" value=\"false\"/>\n        <property key=\"oXC16ld-no-smart-io\" value=\"false\"/>\n        <property key=\"oXC16ld-nostdlib\" value=\"false\"/>\n        <property key=\"oXC16ld-stackguard\" value=\"16\"/>\n        <property key=\"preprocessor-macros\" value=\"\"/>\n        <property key=\"remove-unused-sections\" value=\"false\"/>\n        <property key=\"report-memory-usage\" value=\"true\"/>\n        <property key=\"secure-eeprom\" value=\"no_eeprom\"/>\n        <property key=\"secure-flash\" value=\"no_flash\"/>\n        <property key=\"secure-ram\" value=\"no_ram\"/>\n        <property key=\"secure-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"stack-size\" value=\"16\"/>\n        <property key=\"symbol-stripping\" value=\"\"/>\n        <property key=\"trace-symbols\" value=\"\"/>\n        <property key=\"warn-section-align\" value=\"false\"/>\n      </C30-LD>\n      <C30Global>\n        <property key=\"common-include-directories\" value=\"\"/>\n        <property key=\"dual-boot-partition\" value=\"0\"/>\n        <property key=\"fast-math\" value=\"false\"/>\n        <property key=\"generic-16-bit\" value=\"false\"/>\n        <property key=\"legacy-libc\" value=\"false\"/>\n        <property key=\"mpreserve-all\" value=\"false\"/>\n        <property key=\"oXC16glb-macros\" value=\"\"/>\n        <property key=\"output-file-format\" value=\"elf\"/>\n        <property key=\"preserve-all\" value=\"false\"/>\n        <property key=\"preserve-file\" value=\"\"/>\n        <property key=\"relaxed-math\" value=\"false\"/>\n        <property key=\"save-temps\" value=\"false\"/>\n      </C30Global>\n      <PKOBSKDEPlatformTool>\n        <property key=\"AutoSelectMemRanges\" value=\"auto\"/>\n        <property key=\"SecureSegment.SegmentProgramming\" value=\"FullChipProgramming\"/>\n        <property key=\"ToolFirmwareFilePath\"\n                  value=\"Press to browse for a specific firmware version\"/>\n        <property key=\"ToolFirmwareOption.UseLatestFirmware\" value=\"true\"/>\n        <property key=\"memories.configurationmemory\" value=\"true\"/>\n        <property key=\"memories.dataflash\" value=\"true\"/>\n        <property key=\"memories.eeprom\" value=\"false\"/>\n        <property key=\"memories.id\" value=\"false\"/>\n        <property key=\"memories.programmemory\" value=\"true\"/>\n        <property key=\"memories.programmemory.ranges\" value=\"0-abf7\"/>\n        <property key=\"memories.userotp\" value=\"true\"/>\n        <property key=\"programoptions.donoteraseauxmem\" value=\"false\"/>\n        <property key=\"programoptions.eraseb4program\" value=\"true\"/>\n        <property key=\"programoptions.preservedataflash\" value=\"false\"/>\n        <property key=\"programoptions.preservedataflash.ranges\" value=\"\"/>\n        <property key=\"programoptions.preserveeeprom\" value=\"false\"/>\n        <property key=\"programoptions.preserveeeprom.ranges\"\n                  value=\"${memories.eedata.default}\"/>\n        <property key=\"programoptions.preserveprogram.ranges\" value=\"\"/>\n        <property key=\"programoptions.preserveprogramrange\" value=\"false\"/>\n        <property key=\"programoptions.usehighvoltageonmclr\" value=\"false\"/>\n        <property key=\"programoptions.uselvpprogramming\" value=\"false\"/>\n      </PKOBSKDEPlatformTool>\n    </conf>\n  </confs>\n</configurationDescriptor>\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qk/xc16/nbproject/private/configurations.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<configurationDescriptor version=\"65\">\n  <projectmakefile>Makefile</projectmakefile>\n  <defaultConf>0</defaultConf>\n  <confs>\n    <conf name=\"default\" type=\"2\">\n      <platformToolSN>:=MPLABComm-USB-Microchip:=&lt;vid>04D8:=&lt;pid>8107:=&lt;rev>0002:=&lt;man>Microchip Technology Incorporated:=&lt;prod>Microstick II SK:=&lt;sn>BUR123045184:=&lt;drv>x:=&lt;xpt>h:=end</platformToolSN>\n      <languageToolchainDir>C:\\tools\\Microchip\\xc16\\bin</languageToolchainDir>\n      <mdbdebugger version=\"1\">\n        <placeholder1>place holder 1</placeholder1>\n        <placeholder2>place holder 2</placeholder2>\n      </mdbdebugger>\n      <runprofile version=\"6\">\n        <args></args>\n        <rundir></rundir>\n        <buildfirst>true</buildfirst>\n        <console-type>0</console-type>\n        <terminal-type>0</terminal-type>\n        <remove-instrumentation>0</remove-instrumentation>\n        <environment>\n        </environment>\n      </runprofile>\n    </conf>\n    <conf name=\"release\" type=\"2\">\n      <platformToolSN>:=MPLABComm-USB-Microchip:=&lt;vid>04D8:=&lt;pid>8107:=&lt;rev>0002:=&lt;man>Microchip Technology Incorporated:=&lt;prod>Microstick II SK:=&lt;sn>BUR123045184:=&lt;drv>x:=&lt;xpt>h:=end</platformToolSN>\n      <languageToolchainDir>C:\\tools\\Microchip\\xc16\\bin</languageToolchainDir>\n      <mdbdebugger version=\"1\">\n        <placeholder1>place holder 1</placeholder1>\n        <placeholder2>place holder 2</placeholder2>\n      </mdbdebugger>\n      <runprofile version=\"6\">\n        <args></args>\n        <rundir></rundir>\n        <buildfirst>true</buildfirst>\n        <console-type>0</console-type>\n        <terminal-type>0</terminal-type>\n        <remove-instrumentation>0</remove-instrumentation>\n        <environment>\n        </environment>\n      </runprofile>\n    </conf>\n  </confs>\n</configurationDescriptor>\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qk/xc16/nbproject/private/private.properties",
    "content": ""
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qk/xc16/nbproject/private/private.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project-private xmlns=\"http://www.netbeans.org/ns/project-private/1\">\n    <editor-bookmarks xmlns=\"http://www.netbeans.org/ns/editor-bookmarks/1\"/>\n    <editor-bookmarks xmlns=\"http://www.netbeans.org/ns/editor-bookmarks/2\" lastBookmarkId=\"0\"/>\n    <open-files xmlns=\"http://www.netbeans.org/ns/projectui-open-files/2\">\n        <group/>\n    </open-files>\n</project-private>\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qk/xc16/nbproject/project.properties",
    "content": ""
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qk/xc16/nbproject/project.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://www.netbeans.org/ns/project/1\">\n    <type>com.microchip.mplab.nbide.embedded.makeproject</type>\n    <configuration>\n        <data xmlns=\"http://www.netbeans.org/ns/make-project/1\">\n            <name>pelican-microstick2-pic24-qkn</name>\n            <creation-uuid>ee2d0599-d83a-4c0e-b85a-bafd0cebc5f8</creation-uuid>\n            <make-project-type>0</make-project-type>\n            <c-extensions>c</c-extensions>\n            <cpp-extensions/>\n            <header-extensions>h</header-extensions>\n            <sourceEncoding>ISO-8859-1</sourceEncoding>\n            <asminc-extensions/>\n            <make-dep-projects/>\n            <sourceRootList>\n                <sourceRootElem>../..</sourceRootElem>\n                <sourceRootElem>../../../../../include</sourceRootElem>\n                <sourceRootElem>../../../../../ports/pic24_dspic/qk/xc16</sourceRootElem>\n                <sourceRootElem>../../../../../src/qfn</sourceRootElem>\n                <sourceRootElem>../../../../../src/qkn</sourceRootElem>\n            </sourceRootList>\n            <confList>\n                <confElem>\n                    <name>default</name>\n                    <type>2</type>\n                </confElem>\n                <confElem>\n                    <name>release</name>\n                    <type>2</type>\n                </confElem>\n            </confList>\n            <formatting>\n                <project-formatting-style>false</project-formatting-style>\n            </formatting>\n        </data>\n    </configuration>\n</project>\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qpn_conf.h",
    "content": "/*****************************************************************************\n* Product: QP-nano configuration for the PELICAN example\n* Last updated for version 6.5.1\n* Last updated on  2019-06-10\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef QPN_CONF_H\n#define QPN_CONF_H\n\n#define Q_PARAM_SIZE            2U\n#define QF_MAX_TICK_RATE        1U\n#define QF_TIMEEVT_CTR_SIZE     2U\n#define QF_TIMEEVT_PERIODIC\n\n#endif  /* QPN_CONF_H */\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qv/xc16/Makefile",
    "content": "#\n#  There exist several targets which are by default empty and which can be\n#  used for execution of your targets. These targets are usually executed\n#  before and after some main targets. They are:\n#\n#     .build-pre:              called before 'build' target\n#     .build-post:             called after 'build' target\n#     .clean-pre:              called before 'clean' target\n#     .clean-post:             called after 'clean' target\n#     .clobber-pre:            called before 'clobber' target\n#     .clobber-post:           called after 'clobber' target\n#     .all-pre:                called before 'all' target\n#     .all-post:               called after 'all' target\n#     .help-pre:               called before 'help' target\n#     .help-post:              called after 'help' target\n#\n#  Targets beginning with '.' are not intended to be called on their own.\n#\n#  Main targets can be executed directly, and they are:\n#\n#     build                    build a specific configuration\n#     clean                    remove built files from a configuration\n#     clobber                  remove all built files\n#     all                      build all configurations\n#     help                     print help mesage\n#\n#  Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and\n#  .help-impl are implemented in nbproject/makefile-impl.mk.\n#\n#  Available make variables:\n#\n#     CND_BASEDIR                base directory for relative paths\n#     CND_DISTDIR                default top distribution directory (build artifacts)\n#     CND_BUILDDIR               default top build directory (object files, ...)\n#     CONF                       name of current configuration\n#     CND_ARTIFACT_DIR_${CONF}   directory of build artifact (current configuration)\n#     CND_ARTIFACT_NAME_${CONF}  name of build artifact (current configuration)\n#     CND_ARTIFACT_PATH_${CONF}  path to build artifact (current configuration)\n#     CND_PACKAGE_DIR_${CONF}    directory of package (current configuration)\n#     CND_PACKAGE_NAME_${CONF}   name of package (current configuration)\n#     CND_PACKAGE_PATH_${CONF}   path to package (current configuration)\n#\n# NOCDDL\n\n\n# Environment\nMKDIR=mkdir\nCP=cp\nCCADMIN=CCadmin\nRANLIB=ranlib\n\n\n# build\nbuild: .build-post\n\n.build-pre:\n# Add your pre 'build' code here...\n\n.build-post: .build-impl\n# Add your post 'build' code here...\n\n\n# clean\nclean: .clean-post\n\n.clean-pre:\n# Add your pre 'clean' code here...\n\n.clean-post: .clean-impl\n# Add your post 'clean' code here...\n\n\n# clobber\nclobber: .clobber-post\n\n.clobber-pre:\n# Add your pre 'clobber' code here...\n\n.clobber-post: .clobber-impl\n# Add your post 'clobber' code here...\n\n\n# all\nall: .all-post\n\n.all-pre:\n# Add your pre 'all' code here...\n\n.all-post: .all-impl\n# Add your post 'all' code here...\n\n\n# help\nhelp: .help-post\n\n.help-pre:\n# Add your pre 'help' code here...\n\n.help-post: .help-impl\n# Add your post 'help' code here...\n\n\n\n# include project implementation makefile\ninclude nbproject/Makefile-impl.mk\n\n# include project make variables\ninclude nbproject/Makefile-variables.mk\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qv/xc16/bsp.c",
    "content": "/*****************************************************************************\n* BSP for DPP example, Microstick II board, cooperative QV-nano kernel\n* Last updated for version 6.5.1\n* Last updated on  2019-06-10\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"bsp.h\"\n#include \"pelican.h\"\n\n#include \"p24FJ64GB002.h\"  /* header for PIC24F device in use */\n\nQ_DEFINE_THIS_FILE\n\n/* configure Fast RC Oscillator (FRC) */\n#pragma config FNOSC=FRC\n\n/* Local-scope objects -----------------------------------------------------*/\n\n/* frequency of the FRC oscillator ~ 8 MHz */\n#define FOSC_HZ                 8000000.0\n/* instruction cycle clock frequency */\n#define FCY_HZ                  (FOSC_HZ / 2.0)\n/* system clock tick period in CPU clocks / TMR2 prescaler */\n#define BSP_TMR2_PERIOD         ((uint16_t)(FCY_HZ / BSP_TICKS_PER_SEC))\n\n/* controlling the LED of Microstick II */\n#define LED_ON()                (LATA |= (1U << 0))\n#define LED_OFF()               (LATA &= ~(1U << 0))\n#define LED_TOGGLE()            (LATA ^= (1U << 0))\n\n\n/* ISRs --------------------------------------------------------------------*/\nvoid  __attribute__((__interrupt__, auto_psv))\n_T2Interrupt(void) {\n    _T2IF = 0; /* clear Timer 2 interrupt flag */\n\n    QF_tickXISR(0U);   /* process time events for rate 0 */\n\n}\n/*..........................................................................*/\nvoid  __attribute__((__interrupt__, auto_psv))\n_INT0Interrupt() {\n    _INT0IF = 0;\n\n    QACTIVE_POST_ISR((QActive *)&AO_Pelican, PEDS_WAITING_SIG, 0U);\n}\n\n/*--------------------------------------------------------------------------*/\nvoid BSP_init(void) {\n    RCONbits.SWDTEN = 0; /* disable Watchdog */\n\n    TRISA = 0x00; /* set LED pins as outputs */\n    PORTA = 0x00; /* set LED drive state low */\n\n}\n/*..........................................................................*/\nvoid BSP_terminate(int16_t result) {\n    (void)result;\n}\n/*..........................................................................*/\nvoid BSP_showState(char_t const *state) {\n    (void)state;\n}\n/*..........................................................................*/\nvoid BSP_signalCars(enum BSP_CarsSignal sig) {\n    switch (sig) {\n        case CARS_RED: {\n            //\n            break;\n        }\n        case CARS_YELLOW: {\n            //\n            break;\n        }\n        case CARS_GREEN: {\n            //\n            break;\n        }\n        case CARS_BLANK: {\n            //\n            break;\n        }\n    }\n}\n/*..........................................................................*/\nvoid BSP_signalPeds(enum BSP_PedsSignal sig) {\n    switch (sig) {\n        case PEDS_DONT_WALK: {\n            LED_OFF();\n            break;\n        }\n        case PEDS_BLANK: {\n            LED_OFF();\n            break;\n        }\n        case PEDS_WALK: {\n            LED_ON();\n            break;\n        }\n    }\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char const Q_ROM * const file, int line) {\n    (void)file;       /* unused parameter */\n    (void)line;       /* unused parameter */\n    QF_INT_DISABLE(); /* make sure that interrupts are disabled */\n    for (;;) {\n    }\n}\n\n/*..........................................................................*/\nvoid QF_onStartup(void) { /* entered with interrupts locked */\n    T2CON = 0x0000U; /* Use Internal Osc (Fcy), 16 bit mode, prescaler = 1 */\n    TMR2  = 0x0000U; /* Start counting from 0 and clear the prescaler count */\n    PR2   = (uint16_t)(BSP_TMR2_PERIOD - 1U); /* Timer2 period */\n    _T2IF = 0;               /* clear the interrupt for Timer 2 */\n    _T2IE = 1;               /* enable interrupt for Timer 2 */\n    T2CONbits.TON = 1;       /* start Timer 2 */\n\n    INTCON2bits.INT0EP = 0;  /* INT0 interrupt on positive edge */\n    _INT0IF = 0;             /* clear the interrupt for INT0 */\n    _INT0IE = 1;             /* enable INT0 interrupt */\n\n    /* explicitly assign priorities to all interrutps... */\n    _T2IP   = 4; /* Timer 2 interrupt priority (kernel aware) */\n    _INT0IP = 6; /* INT0 interrupt priority (kernel aware) */\n}\n/*..........................................................................*/\nvoid QF_onCleanup(void) {\n}\n/*..........................................................................*/\nvoid QF_stop(void) {\n}\n/*..........................................................................*/\nvoid QV_onIdle(void) { /* entered with interrupts DISABLED, see NOTE01 */\n\n    /* NOTE: not enough LEDs on the Microstick II board to implement\n    *  the idle loop activity indicator ...\n    */\n    //LED_ON (); /* blink the IDLE LED, see NOTE01 */\n    //LED_OFF();\n\n#ifdef NDEBUG\n    __asm__ volatile(\"disi #0x0001\");\n    Idle(); /* transition to Idle mode, see NOTE02 */\n#else\n    QF_INT_ENABLE(); /* enable interrupts, see NOTE01 */\n#endif\n}\n\n/*****************************************************************************\n* NOTE01:\n* The callback function QV_onIdle() is called with interrupts disabled,\n* because the idle condition can be invalidated by any enabled interrupt\n* that would post events. The QV_onIdle() function *must* re-enable\n* interrupts internally\n*\n* NOTE02:\n* To be on the safe side, the DISICNT counter is set to just 1 cycle just\n* before entering the Idle mode (or Sleep mode, if you choose). This way,\n* interrupts (with priorities 1-6) get enabled at the same time as the\n* transition to the low-power mode.\n*/\n\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qv/xc16/nbproject/Makefile-default.mk",
    "content": "#\n# Generated Makefile - do not edit!\n#\n# Edit the Makefile in the project folder instead (../Makefile). Each target\n# has a -pre and a -post target defined where you can add customized code.\n#\n# This makefile implements configuration specific macros and targets.\n\n\n# Include project Makefile\nifeq \"${IGNORE_LOCAL}\" \"TRUE\"\n# do not include local makefile. User is passing all local related variables already\nelse\ninclude Makefile\n# Include makefile containing local settings\nifeq \"$(wildcard nbproject/Makefile-local-default.mk)\" \"nbproject/Makefile-local-default.mk\"\ninclude nbproject/Makefile-local-default.mk\nendif\nendif\n\n# Environment\nMKDIR=gnumkdir -p\nRM=rm -f \nMV=mv \nCP=cp \n\n# Macros\nCND_CONF=default\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nIMAGE_TYPE=debug\nOUTPUT_SUFFIX=elf\nDEBUGGABLE_SUFFIX=elf\nFINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nelse\nIMAGE_TYPE=production\nOUTPUT_SUFFIX=hex\nDEBUGGABLE_SUFFIX=elf\nFINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nendif\n\nifeq ($(COMPARE_BUILD), true)\nCOMPARISON_BUILD=-mafrlcsj\nelse\nCOMPARISON_BUILD=\nendif\n\nifdef SUB_IMAGE_ADDRESS\nSUB_IMAGE_ADDRESS_COMMAND=--image-address $(SUB_IMAGE_ADDRESS)\nelse\nSUB_IMAGE_ADDRESS_COMMAND=\nendif\n\n# Object Directory\nOBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE}\n\n# Distribution Directory\nDISTDIR=dist/${CND_CONF}/${IMAGE_TYPE}\n\n# Source Files Quoted if spaced\nSOURCEFILES_QUOTED_IF_SPACED=../../../../../src/qfn/qepn.c ../../../../../src/qfn/qfn.c ../../../../../src/qvn/qvn.c bsp.c ../../../../../include/qstamp.c ../../main.c ../../pelican.c\n\n# Object Files Quoted if spaced\nOBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/_ext/329161665/qepn.o ${OBJECTDIR}/_ext/329161665/qfn.o ${OBJECTDIR}/_ext/329161169/qvn.o ${OBJECTDIR}/bsp.o ${OBJECTDIR}/_ext/726959463/qstamp.o ${OBJECTDIR}/_ext/43898991/main.o ${OBJECTDIR}/_ext/43898991/pelican.o\nPOSSIBLE_DEPFILES=${OBJECTDIR}/_ext/329161665/qepn.o.d ${OBJECTDIR}/_ext/329161665/qfn.o.d ${OBJECTDIR}/_ext/329161169/qvn.o.d ${OBJECTDIR}/bsp.o.d ${OBJECTDIR}/_ext/726959463/qstamp.o.d ${OBJECTDIR}/_ext/43898991/main.o.d ${OBJECTDIR}/_ext/43898991/pelican.o.d\n\n# Object Files\nOBJECTFILES=${OBJECTDIR}/_ext/329161665/qepn.o ${OBJECTDIR}/_ext/329161665/qfn.o ${OBJECTDIR}/_ext/329161169/qvn.o ${OBJECTDIR}/bsp.o ${OBJECTDIR}/_ext/726959463/qstamp.o ${OBJECTDIR}/_ext/43898991/main.o ${OBJECTDIR}/_ext/43898991/pelican.o\n\n# Source Files\nSOURCEFILES=../../../../../src/qfn/qepn.c ../../../../../src/qfn/qfn.c ../../../../../src/qvn/qvn.c bsp.c ../../../../../include/qstamp.c ../../main.c ../../pelican.c\n\n\nCFLAGS=\nASFLAGS=\nLDLIBSOPTIONS=\n\n############# Tool locations ##########################################\n# If you copy a project from one host to another, the path where the  #\n# compiler is installed may be different.                             #\n# If you open this project with MPLAB X in the new host, this         #\n# makefile will be regenerated and the paths will be corrected.       #\n#######################################################################\n# fixDeps replaces a bunch of sed/cat/printf statements that slow down the build\nFIXDEPS=fixDeps\n\n.build-conf:  ${BUILD_SUBPROJECTS}\nifneq ($(INFORMATION_MESSAGE), )\n\t@echo $(INFORMATION_MESSAGE)\nendif\n\t${MAKE}  -f nbproject/Makefile-default.mk dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\n\nMP_PROCESSOR_OPTION=24FJ64GB002\nMP_LINKER_FILE_OPTION=,--script=p24FJ64GB002.gld\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: compile\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\n${OBJECTDIR}/_ext/329161665/qepn.o: ../../../../../src/qfn/qepn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qepn.c  -o ${OBJECTDIR}/_ext/329161665/qepn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qepn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qepn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161665/qfn.o: ../../../../../src/qfn/qfn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qfn.c  -o ${OBJECTDIR}/_ext/329161665/qfn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qfn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qfn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161169/qvn.o: ../../../../../src/qvn/qvn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161169\" \n\t@${RM} ${OBJECTDIR}/_ext/329161169/qvn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161169/qvn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qvn/qvn.c  -o ${OBJECTDIR}/_ext/329161169/qvn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161169/qvn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161169/qvn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/bsp.o: bsp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}\" \n\t@${RM} ${OBJECTDIR}/bsp.o.d \n\t@${RM} ${OBJECTDIR}/bsp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  bsp.c  -o ${OBJECTDIR}/bsp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/bsp.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/bsp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/726959463/qstamp.o: ../../../../../include/qstamp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/726959463\" \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o.d \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../include/qstamp.c  -o ${OBJECTDIR}/_ext/726959463/qstamp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/main.o: ../../main.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../main.c  -o ${OBJECTDIR}/_ext/43898991/main.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/main.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/main.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/pelican.o: ../../pelican.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/pelican.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/pelican.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../pelican.c  -o ${OBJECTDIR}/_ext/43898991/pelican.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/pelican.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/pelican.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\nelse\n${OBJECTDIR}/_ext/329161665/qepn.o: ../../../../../src/qfn/qepn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qepn.c  -o ${OBJECTDIR}/_ext/329161665/qepn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qepn.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qepn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161665/qfn.o: ../../../../../src/qfn/qfn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qfn.c  -o ${OBJECTDIR}/_ext/329161665/qfn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qfn.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qfn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161169/qvn.o: ../../../../../src/qvn/qvn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161169\" \n\t@${RM} ${OBJECTDIR}/_ext/329161169/qvn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161169/qvn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qvn/qvn.c  -o ${OBJECTDIR}/_ext/329161169/qvn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161169/qvn.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161169/qvn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/bsp.o: bsp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}\" \n\t@${RM} ${OBJECTDIR}/bsp.o.d \n\t@${RM} ${OBJECTDIR}/bsp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  bsp.c  -o ${OBJECTDIR}/bsp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/bsp.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/bsp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/726959463/qstamp.o: ../../../../../include/qstamp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/726959463\" \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o.d \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../include/qstamp.c  -o ${OBJECTDIR}/_ext/726959463/qstamp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/main.o: ../../main.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../main.c  -o ${OBJECTDIR}/_ext/43898991/main.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/main.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/main.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/pelican.o: ../../pelican.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/pelican.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/pelican.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../pelican.c  -o ${OBJECTDIR}/_ext/43898991/pelican.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/pelican.o.d\"        -g -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -O0 -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/pelican.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: assemble\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nelse\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: assemblePreproc\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nelse\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: link\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\ndist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES}  nbproject/Makefile-${CND_CONF}.mk    \n\t@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} \n\t${MP_CC} $(MP_EXTRA_LD_PRE)  -o dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}      -mcpu=$(MP_PROCESSOR_OPTION)        -D__DEBUG=__DEBUG -D__MPLAB_DEBUGGER_PK3=1  -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)   -mreserve=data@0x800:0x81F -mreserve=data@0x820:0x821 -mreserve=data@0x822:0x823 -mreserve=data@0x824:0x825 -mreserve=data@0x826:0x84F   -Wl,,,--defsym=__MPLAB_BUILD=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,-D__DEBUG=__DEBUG,--defsym=__MPLAB_DEBUGGER_PK3=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,--report-mem,--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml$(MP_EXTRA_LD_POST) \n\t\nelse\ndist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES}  nbproject/Makefile-${CND_CONF}.mk   \n\t@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} \n\t${MP_CC} $(MP_EXTRA_LD_PRE)  -o dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}      -mcpu=$(MP_PROCESSOR_OPTION)        -omf=elf -DXPRJ_default=$(CND_CONF)  -legacy-libc  $(COMPARISON_BUILD)  -Wl,,,--defsym=__MPLAB_BUILD=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,--report-mem,--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml$(MP_EXTRA_LD_POST) \n\t${MP_CC_DIR}\\\\xc16-bin2hex dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -a  -omf=elf  \n\t\nendif\n\n\n# Subprojects\n.build-subprojects:\n\n\n# Subprojects\n.clean-subprojects:\n\n# Clean Targets\n.clean-conf: ${CLEAN_SUBPROJECTS}\n\t${RM} -r build/default\n\t${RM} -r dist/default\n\n# Enable dependency checking\n.dep.inc: .depcheck-impl\n\nDEPFILES=$(shell mplabwildcard ${POSSIBLE_DEPFILES})\nifneq (${DEPFILES},)\ninclude ${DEPFILES}\nendif\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qv/xc16/nbproject/Makefile-genesis.properties",
    "content": "#\n#Tue Jun 11 15:22:09 EDT 2019\ndefault.languagetoolchain.version=1.36\nrelease.languagetoolchain.dir=C\\:\\\\tools\\\\Microchip\\\\xc16\\\\bin\ndefault.com-microchip-mplab-nbide-toolchainXC16-XC16LanguageToolchain.md5=a53e8c22b31e6f5bcc1968d7c72d01dd\nconf.ids=default,release\ndefault.languagetoolchain.dir=C\\:\\\\tools\\\\Microchip\\\\xc16\\\\bin\nconfigurations-xml=b0b683cb7c9301b3d6361b53b8dfea72\ncom-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=37eccb08230908d044ad3fe14e24ea9a\nrelease.com-microchip-mplab-nbide-toolchainXC16-XC16LanguageToolchain.md5=a53e8c22b31e6f5bcc1968d7c72d01dd\nrelease.languagetoolchain.version=1.36\nhost.platform=windows\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qv/xc16/nbproject/Makefile-impl.mk",
    "content": "#\n# Generated Makefile - do not edit!\n#\n# Edit the Makefile in the project folder instead (../Makefile). Each target\n# has a pre- and a post- target defined where you can add customization code.\n#\n# This makefile implements macros and targets common to all configurations.\n#\n# NOCDDL\n\n\n# Building and Cleaning subprojects are done by default, but can be controlled with the SUB\n# macro. If SUB=no, subprojects will not be built or cleaned. The following macro\n# statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf\n# and .clean-reqprojects-conf unless SUB has the value 'no'\nSUB_no=NO\nSUBPROJECTS=${SUB_${SUB}}\nBUILD_SUBPROJECTS_=.build-subprojects\nBUILD_SUBPROJECTS_NO=\nBUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}}\nCLEAN_SUBPROJECTS_=.clean-subprojects\nCLEAN_SUBPROJECTS_NO=\nCLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}}\n\n\n# Project Name\nPROJECTNAME=xc16\n\n# Active Configuration\nDEFAULTCONF=default\nCONF=${DEFAULTCONF}\n\n# All Configurations\nALLCONFS=default release \n\n\n# build\n.build-impl: .build-pre\n\t${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-conf\n\n\n# clean\n.clean-impl: .clean-pre\n\t${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .clean-conf\n\n# clobber\n.clobber-impl: .clobber-pre .depcheck-impl\n\t    ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default clean\n\t    ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=release clean\n\n\n\n# all\n.all-impl: .all-pre .depcheck-impl\n\t    ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default build\n\t    ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=release build\n\n\n\n# dependency checking support\n.depcheck-impl:\n#\t@echo \"# This code depends on make tool being used\" >.dep.inc\n#\t@if [ -n \"${MAKE_VERSION}\" ]; then \\\n#\t    echo \"DEPFILES=\\$$(wildcard \\$$(addsuffix .d, \\$${OBJECTFILES}))\" >>.dep.inc; \\\n#\t    echo \"ifneq (\\$${DEPFILES},)\" >>.dep.inc; \\\n#\t    echo \"include \\$${DEPFILES}\" >>.dep.inc; \\\n#\t    echo \"endif\" >>.dep.inc; \\\n#\telse \\\n#\t    echo \".KEEP_STATE:\" >>.dep.inc; \\\n#\t    echo \".KEEP_STATE_FILE:.make.state.\\$${CONF}\" >>.dep.inc; \\\n#\tfi\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qv/xc16/nbproject/Makefile-local-default.mk",
    "content": "#\n# Generated Makefile - do not edit!\n#\n#\n# This file contains information about the location of compilers and other tools.\n# If you commmit this file into your revision control server, you will be able to \n# to checkout the project and build it from the command line with make. However,\n# if more than one person works on the same project, then this file might show\n# conflicts since different users are bound to have compilers in different places.\n# In that case you might choose to not commit this file and let MPLAB X recreate this file\n# for each user. The disadvantage of not commiting this file is that you must run MPLAB X at\n# least once so the file gets created and the project can be built. Finally, you can also\n# avoid using this file at all if you are only building from the command line with make.\n# You can invoke make with the values of the macros:\n# $ makeMP_CC=\"/opt/microchip/mplabc30/v3.30c/bin/pic30-gcc\" ...  \n#\nSHELL=cmd.exe\nPATH_TO_IDE_BIN=C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/\n# Adding MPLAB X bin directory to path.\nPATH:=C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/:$(PATH)\n# Path to java used to run MPLAB X when this makefile was created\nMP_JAVA_PATH=\"C:\\tools\\Microchip\\MPLABX\\sys\\java\\jre1.8.0_181/bin/\"\nOS_CURRENT=\"$(shell uname -s)\"\nMP_CC=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-gcc.exe\"\n# MP_CPPC is not defined\n# MP_BC is not defined\nMP_AS=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-as.exe\"\nMP_LD=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-ld.exe\"\nMP_AR=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-ar.exe\"\nDEP_GEN=${MP_JAVA_PATH}java -jar \"C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/extractobjectdependencies.jar\"\nMP_CC_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\n# MP_CPPC_DIR is not defined\n# MP_BC_DIR is not defined\nMP_AS_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\nMP_LD_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\nMP_AR_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\n# MP_BC_DIR is not defined\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qv/xc16/nbproject/Makefile-local-release.mk",
    "content": "#\n# Generated Makefile - do not edit!\n#\n#\n# This file contains information about the location of compilers and other tools.\n# If you commmit this file into your revision control server, you will be able to \n# to checkout the project and build it from the command line with make. However,\n# if more than one person works on the same project, then this file might show\n# conflicts since different users are bound to have compilers in different places.\n# In that case you might choose to not commit this file and let MPLAB X recreate this file\n# for each user. The disadvantage of not commiting this file is that you must run MPLAB X at\n# least once so the file gets created and the project can be built. Finally, you can also\n# avoid using this file at all if you are only building from the command line with make.\n# You can invoke make with the values of the macros:\n# $ makeMP_CC=\"/opt/microchip/mplabc30/v3.30c/bin/pic30-gcc\" ...  \n#\nSHELL=cmd.exe\nPATH_TO_IDE_BIN=C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/\n# Adding MPLAB X bin directory to path.\nPATH:=C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/:$(PATH)\n# Path to java used to run MPLAB X when this makefile was created\nMP_JAVA_PATH=\"C:\\tools\\Microchip\\MPLABX\\sys\\java\\jre1.8.0_181/bin/\"\nOS_CURRENT=\"$(shell uname -s)\"\nMP_CC=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-gcc.exe\"\n# MP_CPPC is not defined\n# MP_BC is not defined\nMP_AS=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-as.exe\"\nMP_LD=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-ld.exe\"\nMP_AR=\"C:\\tools\\Microchip\\xc16\\bin\\xc16-ar.exe\"\nDEP_GEN=${MP_JAVA_PATH}java -jar \"C:/tools/Microchip/MPLABX/mplab_platform/platform/../mplab_ide/modules/../../bin/extractobjectdependencies.jar\"\nMP_CC_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\n# MP_CPPC_DIR is not defined\n# MP_BC_DIR is not defined\nMP_AS_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\nMP_LD_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\nMP_AR_DIR=\"C:\\tools\\Microchip\\xc16\\bin\"\n# MP_BC_DIR is not defined\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qv/xc16/nbproject/Makefile-release.mk",
    "content": "#\n# Generated Makefile - do not edit!\n#\n# Edit the Makefile in the project folder instead (../Makefile). Each target\n# has a -pre and a -post target defined where you can add customized code.\n#\n# This makefile implements configuration specific macros and targets.\n\n\n# Include project Makefile\nifeq \"${IGNORE_LOCAL}\" \"TRUE\"\n# do not include local makefile. User is passing all local related variables already\nelse\ninclude Makefile\n# Include makefile containing local settings\nifeq \"$(wildcard nbproject/Makefile-local-release.mk)\" \"nbproject/Makefile-local-release.mk\"\ninclude nbproject/Makefile-local-release.mk\nendif\nendif\n\n# Environment\nMKDIR=gnumkdir -p\nRM=rm -f \nMV=mv \nCP=cp \n\n# Macros\nCND_CONF=release\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nIMAGE_TYPE=debug\nOUTPUT_SUFFIX=elf\nDEBUGGABLE_SUFFIX=elf\nFINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nelse\nIMAGE_TYPE=production\nOUTPUT_SUFFIX=hex\nDEBUGGABLE_SUFFIX=elf\nFINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nendif\n\nifeq ($(COMPARE_BUILD), true)\nCOMPARISON_BUILD=-mafrlcsj\nelse\nCOMPARISON_BUILD=\nendif\n\nifdef SUB_IMAGE_ADDRESS\nSUB_IMAGE_ADDRESS_COMMAND=--image-address $(SUB_IMAGE_ADDRESS)\nelse\nSUB_IMAGE_ADDRESS_COMMAND=\nendif\n\n# Object Directory\nOBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE}\n\n# Distribution Directory\nDISTDIR=dist/${CND_CONF}/${IMAGE_TYPE}\n\n# Source Files Quoted if spaced\nSOURCEFILES_QUOTED_IF_SPACED=../../../../../src/qfn/qepn.c ../../../../../src/qfn/qfn.c ../../../../../src/qvn/qvn.c bsp.c ../../../../../include/qstamp.c ../../main.c ../../pelican.c\n\n# Object Files Quoted if spaced\nOBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/_ext/329161665/qepn.o ${OBJECTDIR}/_ext/329161665/qfn.o ${OBJECTDIR}/_ext/329161169/qvn.o ${OBJECTDIR}/bsp.o ${OBJECTDIR}/_ext/726959463/qstamp.o ${OBJECTDIR}/_ext/43898991/main.o ${OBJECTDIR}/_ext/43898991/pelican.o\nPOSSIBLE_DEPFILES=${OBJECTDIR}/_ext/329161665/qepn.o.d ${OBJECTDIR}/_ext/329161665/qfn.o.d ${OBJECTDIR}/_ext/329161169/qvn.o.d ${OBJECTDIR}/bsp.o.d ${OBJECTDIR}/_ext/726959463/qstamp.o.d ${OBJECTDIR}/_ext/43898991/main.o.d ${OBJECTDIR}/_ext/43898991/pelican.o.d\n\n# Object Files\nOBJECTFILES=${OBJECTDIR}/_ext/329161665/qepn.o ${OBJECTDIR}/_ext/329161665/qfn.o ${OBJECTDIR}/_ext/329161169/qvn.o ${OBJECTDIR}/bsp.o ${OBJECTDIR}/_ext/726959463/qstamp.o ${OBJECTDIR}/_ext/43898991/main.o ${OBJECTDIR}/_ext/43898991/pelican.o\n\n# Source Files\nSOURCEFILES=../../../../../src/qfn/qepn.c ../../../../../src/qfn/qfn.c ../../../../../src/qvn/qvn.c bsp.c ../../../../../include/qstamp.c ../../main.c ../../pelican.c\n\n\nCFLAGS=\nASFLAGS=\nLDLIBSOPTIONS=\n\n############# Tool locations ##########################################\n# If you copy a project from one host to another, the path where the  #\n# compiler is installed may be different.                             #\n# If you open this project with MPLAB X in the new host, this         #\n# makefile will be regenerated and the paths will be corrected.       #\n#######################################################################\n# fixDeps replaces a bunch of sed/cat/printf statements that slow down the build\nFIXDEPS=fixDeps\n\n.build-conf:  ${BUILD_SUBPROJECTS}\nifneq ($(INFORMATION_MESSAGE), )\n\t@echo $(INFORMATION_MESSAGE)\nendif\n\t${MAKE}  -f nbproject/Makefile-release.mk dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\n\nMP_PROCESSOR_OPTION=24FJ64GB002\nMP_LINKER_FILE_OPTION=,--script=p24FJ64GB002.gld\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: compile\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\n${OBJECTDIR}/_ext/329161665/qepn.o: ../../../../../src/qfn/qepn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qepn.c  -o ${OBJECTDIR}/_ext/329161665/qepn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qepn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qepn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161665/qfn.o: ../../../../../src/qfn/qfn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qfn.c  -o ${OBJECTDIR}/_ext/329161665/qfn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qfn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qfn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161169/qvn.o: ../../../../../src/qvn/qvn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161169\" \n\t@${RM} ${OBJECTDIR}/_ext/329161169/qvn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161169/qvn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qvn/qvn.c  -o ${OBJECTDIR}/_ext/329161169/qvn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161169/qvn.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161169/qvn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/bsp.o: bsp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}\" \n\t@${RM} ${OBJECTDIR}/bsp.o.d \n\t@${RM} ${OBJECTDIR}/bsp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  bsp.c  -o ${OBJECTDIR}/bsp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/bsp.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/bsp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/726959463/qstamp.o: ../../../../../include/qstamp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/726959463\" \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o.d \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../include/qstamp.c  -o ${OBJECTDIR}/_ext/726959463/qstamp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/main.o: ../../main.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../main.c  -o ${OBJECTDIR}/_ext/43898991/main.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/main.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/main.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/pelican.o: ../../pelican.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/pelican.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/pelican.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../pelican.c  -o ${OBJECTDIR}/_ext/43898991/pelican.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/pelican.o.d\"      -g -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1    -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/pelican.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\nelse\n${OBJECTDIR}/_ext/329161665/qepn.o: ../../../../../src/qfn/qepn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qepn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qepn.c  -o ${OBJECTDIR}/_ext/329161665/qepn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qepn.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qepn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161665/qfn.o: ../../../../../src/qfn/qfn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161665\" \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161665/qfn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qfn/qfn.c  -o ${OBJECTDIR}/_ext/329161665/qfn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161665/qfn.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161665/qfn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/329161169/qvn.o: ../../../../../src/qvn/qvn.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/329161169\" \n\t@${RM} ${OBJECTDIR}/_ext/329161169/qvn.o.d \n\t@${RM} ${OBJECTDIR}/_ext/329161169/qvn.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../src/qvn/qvn.c  -o ${OBJECTDIR}/_ext/329161169/qvn.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/329161169/qvn.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/329161169/qvn.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/bsp.o: bsp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}\" \n\t@${RM} ${OBJECTDIR}/bsp.o.d \n\t@${RM} ${OBJECTDIR}/bsp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  bsp.c  -o ${OBJECTDIR}/bsp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/bsp.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/bsp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/726959463/qstamp.o: ../../../../../include/qstamp.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/726959463\" \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o.d \n\t@${RM} ${OBJECTDIR}/_ext/726959463/qstamp.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../../../../include/qstamp.c  -o ${OBJECTDIR}/_ext/726959463/qstamp.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/726959463/qstamp.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/main.o: ../../main.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/main.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../main.c  -o ${OBJECTDIR}/_ext/43898991/main.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/main.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/main.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\n${OBJECTDIR}/_ext/43898991/pelican.o: ../../pelican.c  nbproject/Makefile-${CND_CONF}.mk\n\t@${MKDIR} \"${OBJECTDIR}/_ext/43898991\" \n\t@${RM} ${OBJECTDIR}/_ext/43898991/pelican.o.d \n\t@${RM} ${OBJECTDIR}/_ext/43898991/pelican.o \n\t${MP_CC} $(MP_EXTRA_CC_PRE)  ../../pelican.c  -o ${OBJECTDIR}/_ext/43898991/pelican.o  -c -mcpu=$(MP_PROCESSOR_OPTION)  -MMD -MF \"${OBJECTDIR}/_ext/43898991/pelican.o.d\"        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Os -I\"../..\" -I\"../../../../../include\" -I\"../../../../../src\" -I\"../../../../../ports/pic24_dspic/qv/xc16\" -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off  \n\t@${FIXDEPS} \"${OBJECTDIR}/_ext/43898991/pelican.o.d\" $(SILENT)  -rsi ${MP_CC_DIR}../ \n\t\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: assemble\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nelse\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: assemblePreproc\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\nelse\nendif\n\n# ------------------------------------------------------------------------------------\n# Rules for buildStep: link\nifeq ($(TYPE_IMAGE), DEBUG_RUN)\ndist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES}  nbproject/Makefile-${CND_CONF}.mk    \n\t@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} \n\t${MP_CC} $(MP_EXTRA_LD_PRE)  -o dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}      -mcpu=$(MP_PROCESSOR_OPTION)        -D__DEBUG=__DEBUG -D__MPLAB_DEBUGGER_PK3=1  -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)   -mreserve=data@0x800:0x81F -mreserve=data@0x820:0x821 -mreserve=data@0x822:0x823 -mreserve=data@0x824:0x825 -mreserve=data@0x826:0x84F   -Wl,,,--defsym=__MPLAB_BUILD=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1,-D__DEBUG=__DEBUG,--defsym=__MPLAB_DEBUGGER_PK3=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,--report-mem,--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml$(MP_EXTRA_LD_POST) \n\t\nelse\ndist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES}  nbproject/Makefile-${CND_CONF}.mk   \n\t@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} \n\t${MP_CC} $(MP_EXTRA_LD_PRE)  -o dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}      -mcpu=$(MP_PROCESSOR_OPTION)        -omf=elf -DXPRJ_release=$(CND_CONF)  -no-legacy-libc  $(COMPARISON_BUILD)  -Wl,,,--defsym=__MPLAB_BUILD=1,$(MP_LINKER_FILE_OPTION),--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,--report-mem,--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml$(MP_EXTRA_LD_POST) \n\t${MP_CC_DIR}\\\\xc16-bin2hex dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -a  -omf=elf  \n\t\nendif\n\n\n# Subprojects\n.build-subprojects:\n\n\n# Subprojects\n.clean-subprojects:\n\n# Clean Targets\n.clean-conf: ${CLEAN_SUBPROJECTS}\n\t${RM} -r build/release\n\t${RM} -r dist/release\n\n# Enable dependency checking\n.dep.inc: .depcheck-impl\n\nDEPFILES=$(shell mplabwildcard ${POSSIBLE_DEPFILES})\nifneq (${DEPFILES},)\ninclude ${DEPFILES}\nendif\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qv/xc16/nbproject/Makefile-variables.mk",
    "content": "#\n# Generated - do not edit!\n#\n# NOCDDL\n#\nCND_BASEDIR=`pwd`\n# default configuration\nCND_ARTIFACT_DIR_default=dist/default/production\nCND_ARTIFACT_NAME_default=xc16.production.hex\nCND_ARTIFACT_PATH_default=dist/default/production/xc16.production.hex\nCND_PACKAGE_DIR_default=${CND_DISTDIR}/default/package\nCND_PACKAGE_NAME_default=xc16.tar\nCND_PACKAGE_PATH_default=${CND_DISTDIR}/default/package/xc16.tar\n# release configuration\nCND_ARTIFACT_DIR_release=dist/release/production\nCND_ARTIFACT_NAME_release=xc16.production.hex\nCND_ARTIFACT_PATH_release=dist/release/production/xc16.production.hex\nCND_PACKAGE_DIR_release=${CND_DISTDIR}/release/package\nCND_PACKAGE_NAME_release=xc16.tar\nCND_PACKAGE_PATH_release=${CND_DISTDIR}/release/package/xc16.tar\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qv/xc16/nbproject/Package-default.bash",
    "content": "#!/bin/bash -x\n\n#\n# Generated - do not edit!\n#\n\n# Macros\nTOP=`pwd`\nCND_CONF=default\nCND_DISTDIR=dist\nTMPDIR=build/${CND_CONF}/${IMAGE_TYPE}/tmp-packaging\nTMPDIRNAME=tmp-packaging\nOUTPUT_PATH=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nOUTPUT_BASENAME=xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nPACKAGE_TOP_DIR=xc16/\n\n# Functions\nfunction checkReturnCode\n{\n    rc=$?\n    if [ $rc != 0 ]\n    then\n        exit $rc\n    fi\n}\nfunction makeDirectory\n# $1 directory path\n# $2 permission (optional)\n{\n    mkdir -p \"$1\"\n    checkReturnCode\n    if [ \"$2\" != \"\" ]\n    then\n      chmod $2 \"$1\"\n      checkReturnCode\n    fi\n}\nfunction copyFileToTmpDir\n# $1 from-file path\n# $2 to-file path\n# $3 permission\n{\n    cp \"$1\" \"$2\"\n    checkReturnCode\n    if [ \"$3\" != \"\" ]\n    then\n        chmod $3 \"$2\"\n        checkReturnCode\n    fi\n}\n\n# Setup\ncd \"${TOP}\"\nmkdir -p ${CND_DISTDIR}/${CND_CONF}/package\nrm -rf ${TMPDIR}\nmkdir -p ${TMPDIR}\n\n# Copy files and create directories and links\ncd \"${TOP}\"\nmakeDirectory ${TMPDIR}/xc16/bin\ncopyFileToTmpDir \"${OUTPUT_PATH}\" \"${TMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}\" 0755\n\n\n# Generate tar file\ncd \"${TOP}\"\nrm -f ${CND_DISTDIR}/${CND_CONF}/package/xc16.tar\ncd ${TMPDIR}\ntar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/package/xc16.tar *\ncheckReturnCode\n\n# Cleanup\ncd \"${TOP}\"\nrm -rf ${TMPDIR}\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qv/xc16/nbproject/Package-release.bash",
    "content": "#!/bin/bash -x\n\n#\n# Generated - do not edit!\n#\n\n# Macros\nTOP=`pwd`\nCND_CONF=release\nCND_DISTDIR=dist\nTMPDIR=build/${CND_CONF}/${IMAGE_TYPE}/tmp-packaging\nTMPDIRNAME=tmp-packaging\nOUTPUT_PATH=dist/${CND_CONF}/${IMAGE_TYPE}/xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nOUTPUT_BASENAME=xc16.${IMAGE_TYPE}.${OUTPUT_SUFFIX}\nPACKAGE_TOP_DIR=xc16/\n\n# Functions\nfunction checkReturnCode\n{\n    rc=$?\n    if [ $rc != 0 ]\n    then\n        exit $rc\n    fi\n}\nfunction makeDirectory\n# $1 directory path\n# $2 permission (optional)\n{\n    mkdir -p \"$1\"\n    checkReturnCode\n    if [ \"$2\" != \"\" ]\n    then\n      chmod $2 \"$1\"\n      checkReturnCode\n    fi\n}\nfunction copyFileToTmpDir\n# $1 from-file path\n# $2 to-file path\n# $3 permission\n{\n    cp \"$1\" \"$2\"\n    checkReturnCode\n    if [ \"$3\" != \"\" ]\n    then\n        chmod $3 \"$2\"\n        checkReturnCode\n    fi\n}\n\n# Setup\ncd \"${TOP}\"\nmkdir -p ${CND_DISTDIR}/${CND_CONF}/package\nrm -rf ${TMPDIR}\nmkdir -p ${TMPDIR}\n\n# Copy files and create directories and links\ncd \"${TOP}\"\nmakeDirectory ${TMPDIR}/xc16/bin\ncopyFileToTmpDir \"${OUTPUT_PATH}\" \"${TMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}\" 0755\n\n\n# Generate tar file\ncd \"${TOP}\"\nrm -f ${CND_DISTDIR}/${CND_CONF}/package/xc16.tar\ncd ${TMPDIR}\ntar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/package/xc16.tar *\ncheckReturnCode\n\n# Cleanup\ncd \"${TOP}\"\nrm -rf ${TMPDIR}\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qv/xc16/nbproject/configurations.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<configurationDescriptor version=\"65\">\n  <logicalFolder name=\"root\" displayName=\"root\" projectFiles=\"true\">\n    <logicalFolder name=\"HeaderFiles\"\n                   displayName=\"Header Files\"\n                   projectFiles=\"true\">\n    </logicalFolder>\n    <logicalFolder name=\"LinkerScript\"\n                   displayName=\"Linker Files\"\n                   projectFiles=\"true\">\n    </logicalFolder>\n    <logicalFolder name=\"f1\" displayName=\"QP-nano\" projectFiles=\"true\">\n      <itemPath>../../../../../src/qfn/qepn.c</itemPath>\n      <itemPath>../../../../../src/qfn/qfn.c</itemPath>\n      <itemPath>../../../../../src/qvn/qvn.c</itemPath>\n    </logicalFolder>\n    <logicalFolder name=\"SourceFiles\"\n                   displayName=\"Source Files\"\n                   projectFiles=\"true\">\n      <itemPath>bsp.c</itemPath>\n      <itemPath>../../../../../include/qstamp.c</itemPath>\n      <itemPath>../../bsp.h</itemPath>\n      <itemPath>../../main.c</itemPath>\n      <itemPath>../../pelican.c</itemPath>\n      <itemPath>../../pelican.h</itemPath>\n      <itemPath>../../qpn_conf.h</itemPath>\n    </logicalFolder>\n    <logicalFolder name=\"ExternalFiles\"\n                   displayName=\"Important Files\"\n                   projectFiles=\"false\">\n      <itemPath>Makefile</itemPath>\n    </logicalFolder>\n  </logicalFolder>\n  <sourceRootList>\n    <Elem>../../../../../src/qf</Elem>\n    <Elem>../../../../../src/qk</Elem>\n    <Elem>../../../../../include</Elem>\n    <Elem>../../../../../src/qs</Elem>\n    <Elem>../..</Elem>\n    <Elem>../../../../../src/qv</Elem>\n    <Elem>../../../../../ports/pic24_dspic/qk/xc16</Elem>\n    <Elem>../../../../../src/qfn</Elem>\n    <Elem>../../../../../src/qkn</Elem>\n    <Elem>../../../../../src/qvn</Elem>\n  </sourceRootList>\n  <projectmakefile>Makefile</projectmakefile>\n  <confs>\n    <conf name=\"default\" type=\"2\">\n      <toolsSet>\n        <developmentServer>localhost</developmentServer>\n        <targetDevice>PIC24FJ64GB002</targetDevice>\n        <targetHeader></targetHeader>\n        <targetPluginBoard></targetPluginBoard>\n        <platformTool>PKOBSKDEPlatformTool</platformTool>\n        <languageToolchain>XC16</languageToolchain>\n        <languageToolchainVersion>1.36</languageToolchainVersion>\n        <platform>3</platform>\n      </toolsSet>\n      <packs>\n        <pack name=\"PIC24F-GA-GB_DFP\" vendor=\"Microchip\" version=\"1.0.58\"/>\n      </packs>\n      <compileType>\n        <linkerTool>\n          <linkerLibItems>\n          </linkerLibItems>\n        </linkerTool>\n        <archiverTool>\n        </archiverTool>\n        <loading>\n          <useAlternateLoadableFile>false</useAlternateLoadableFile>\n          <parseOnProdLoad>false</parseOnProdLoad>\n          <alternateLoadableFile></alternateLoadableFile>\n        </loading>\n        <subordinates>\n        </subordinates>\n      </compileType>\n      <makeCustomizationType>\n        <makeCustomizationPreStepEnabled>false</makeCustomizationPreStepEnabled>\n        <makeCustomizationPreStep></makeCustomizationPreStep>\n        <makeCustomizationPostStepEnabled>false</makeCustomizationPostStepEnabled>\n        <makeCustomizationPostStep></makeCustomizationPostStep>\n        <makeCustomizationPutChecksumInUserID>false</makeCustomizationPutChecksumInUserID>\n        <makeCustomizationEnableLongLines>false</makeCustomizationEnableLongLines>\n        <makeCustomizationNormalizeHexFile>false</makeCustomizationNormalizeHexFile>\n      </makeCustomizationType>\n      <C30>\n        <property key=\"code-model\" value=\"default\"/>\n        <property key=\"const-model\" value=\"default\"/>\n        <property key=\"data-model\" value=\"default\"/>\n        <property key=\"disable-instruction-scheduling\" value=\"false\"/>\n        <property key=\"enable-all-warnings\" value=\"true\"/>\n        <property key=\"enable-ansi-std\" value=\"false\"/>\n        <property key=\"enable-ansi-warnings\" value=\"false\"/>\n        <property key=\"enable-fatal-warnings\" value=\"false\"/>\n        <property key=\"enable-large-arrays\" value=\"false\"/>\n        <property key=\"enable-omit-frame-pointer\" value=\"false\"/>\n        <property key=\"enable-procedural-abstraction\" value=\"false\"/>\n        <property key=\"enable-short-double\" value=\"false\"/>\n        <property key=\"enable-symbols\" value=\"true\"/>\n        <property key=\"enable-unroll-loops\" value=\"false\"/>\n        <property key=\"extra-include-directories\"\n                  value=\"..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\src;..\\..\\..\\..\\..\\ports\\pic24_dspic\\qv\\xc16\"/>\n        <property key=\"isolate-each-function\" value=\"false\"/>\n        <property key=\"keep-inline\" value=\"false\"/>\n        <property key=\"oXC16gcc-align-arr\" value=\"false\"/>\n        <property key=\"oXC16gcc-cnsts-mauxflash\" value=\"false\"/>\n        <property key=\"oXC16gcc-data-sects\" value=\"false\"/>\n        <property key=\"oXC16gcc-errata\" value=\"\"/>\n        <property key=\"oXC16gcc-fillupper\" value=\"\"/>\n        <property key=\"oXC16gcc-large-aggregate\" value=\"false\"/>\n        <property key=\"oXC16gcc-mauxflash\" value=\"false\"/>\n        <property key=\"oXC16gcc-mpa-lvl\" value=\"\"/>\n        <property key=\"oXC16gcc-name-text-sec\" value=\"\"/>\n        <property key=\"oXC16gcc-near-chars\" value=\"false\"/>\n        <property key=\"oXC16gcc-no-isr-warn\" value=\"false\"/>\n        <property key=\"oXC16gcc-sfr-warn\" value=\"false\"/>\n        <property key=\"oXC16gcc-smar-io-lvl\" value=\"1\"/>\n        <property key=\"oXC16gcc-smart-io-fmt\" value=\"\"/>\n        <property key=\"optimization-level\" value=\"0\"/>\n        <property key=\"post-instruction-scheduling\" value=\"default\"/>\n        <property key=\"pre-instruction-scheduling\" value=\"default\"/>\n        <property key=\"preprocessor-macros\" value=\"\"/>\n        <property key=\"scalar-model\" value=\"default\"/>\n        <property key=\"use-cci\" value=\"false\"/>\n        <property key=\"use-iar\" value=\"false\"/>\n      </C30>\n      <C30-AR>\n        <property key=\"additional-options-chop-files\" value=\"false\"/>\n      </C30-AR>\n      <C30-AS>\n        <property key=\"assembler-symbols\" value=\"\"/>\n        <property key=\"expand-macros\" value=\"false\"/>\n        <property key=\"extra-include-directories-for-assembler\" value=\"\"/>\n        <property key=\"extra-include-directories-for-preprocessor\" value=\"\"/>\n        <property key=\"false-conditionals\" value=\"false\"/>\n        <property key=\"keep-locals\" value=\"false\"/>\n        <property key=\"list-assembly\" value=\"false\"/>\n        <property key=\"list-section-info\" value=\"false\"/>\n        <property key=\"list-source\" value=\"false\"/>\n        <property key=\"list-symbols\" value=\"false\"/>\n        <property key=\"oXC16asm-extra-opts\" value=\"\"/>\n        <property key=\"oXC16asm-list-to-file\" value=\"false\"/>\n        <property key=\"omit-debug-dirs\" value=\"false\"/>\n        <property key=\"omit-forms\" value=\"false\"/>\n        <property key=\"preprocessor-macros\" value=\"\"/>\n        <property key=\"relax\" value=\"false\"/>\n        <property key=\"warning-level\" value=\"emit-warnings\"/>\n      </C30-AS>\n      <C30-LD>\n        <property key=\"additional-options-use-response-files\" value=\"false\"/>\n        <property key=\"boot-eeprom\" value=\"no_eeprom\"/>\n        <property key=\"boot-flash\" value=\"no_flash\"/>\n        <property key=\"boot-ram\" value=\"no_ram\"/>\n        <property key=\"boot-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"enable-check-sections\" value=\"false\"/>\n        <property key=\"enable-data-init\" value=\"true\"/>\n        <property key=\"enable-default-isr\" value=\"true\"/>\n        <property key=\"enable-handles\" value=\"true\"/>\n        <property key=\"enable-pack-data\" value=\"true\"/>\n        <property key=\"extra-lib-directories\" value=\"\"/>\n        <property key=\"fill-flash-options-addr\" value=\"\"/>\n        <property key=\"fill-flash-options-const\" value=\"\"/>\n        <property key=\"fill-flash-options-how\" value=\"0\"/>\n        <property key=\"fill-flash-options-inc-const\" value=\"1\"/>\n        <property key=\"fill-flash-options-increment\" value=\"\"/>\n        <property key=\"fill-flash-options-seq\" value=\"\"/>\n        <property key=\"fill-flash-options-what\" value=\"0\"/>\n        <property key=\"general-code-protect\" value=\"no_code_protect\"/>\n        <property key=\"general-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"generate-cross-reference-file\" value=\"false\"/>\n        <property key=\"heap-size\" value=\"\"/>\n        <property key=\"input-libraries\" value=\"\"/>\n        <property key=\"linker-stack\" value=\"true\"/>\n        <property key=\"linker-symbols\" value=\"\"/>\n        <property key=\"map-file\" value=\"\"/>\n        <property key=\"no-ivt\" value=\"false\"/>\n        <property key=\"oXC16ld-extra-opts\" value=\"\"/>\n        <property key=\"oXC16ld-fill-upper\" value=\"0\"/>\n        <property key=\"oXC16ld-force-link\" value=\"false\"/>\n        <property key=\"oXC16ld-no-smart-io\" value=\"false\"/>\n        <property key=\"oXC16ld-nostdlib\" value=\"false\"/>\n        <property key=\"oXC16ld-stackguard\" value=\"16\"/>\n        <property key=\"preprocessor-macros\" value=\"\"/>\n        <property key=\"remove-unused-sections\" value=\"false\"/>\n        <property key=\"report-memory-usage\" value=\"true\"/>\n        <property key=\"secure-eeprom\" value=\"no_eeprom\"/>\n        <property key=\"secure-flash\" value=\"no_flash\"/>\n        <property key=\"secure-ram\" value=\"no_ram\"/>\n        <property key=\"secure-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"stack-size\" value=\"16\"/>\n        <property key=\"symbol-stripping\" value=\"\"/>\n        <property key=\"trace-symbols\" value=\"\"/>\n        <property key=\"warn-section-align\" value=\"false\"/>\n      </C30-LD>\n      <C30Global>\n        <property key=\"common-include-directories\" value=\"\"/>\n        <property key=\"dual-boot-partition\" value=\"0\"/>\n        <property key=\"fast-math\" value=\"false\"/>\n        <property key=\"generic-16-bit\" value=\"false\"/>\n        <property key=\"legacy-libc\" value=\"true\"/>\n        <property key=\"mpreserve-all\" value=\"false\"/>\n        <property key=\"oXC16glb-macros\" value=\"\"/>\n        <property key=\"output-file-format\" value=\"elf\"/>\n        <property key=\"preserve-all\" value=\"false\"/>\n        <property key=\"preserve-file\" value=\"\"/>\n        <property key=\"relaxed-math\" value=\"false\"/>\n        <property key=\"save-temps\" value=\"false\"/>\n      </C30Global>\n      <PKOBSKDEPlatformTool>\n        <property key=\"AutoSelectMemRanges\" value=\"auto\"/>\n        <property key=\"SecureSegment.SegmentProgramming\" value=\"FullChipProgramming\"/>\n        <property key=\"ToolFirmwareFilePath\"\n                  value=\"Press to browse for a specific firmware version\"/>\n        <property key=\"ToolFirmwareOption.UseLatestFirmware\" value=\"true\"/>\n        <property key=\"memories.configurationmemory\" value=\"true\"/>\n        <property key=\"memories.dataflash\" value=\"true\"/>\n        <property key=\"memories.eeprom\" value=\"true\"/>\n        <property key=\"memories.id\" value=\"true\"/>\n        <property key=\"memories.programmemory\" value=\"true\"/>\n        <property key=\"memories.programmemory.ranges\" value=\"0-abf7\"/>\n        <property key=\"memories.userotp\" value=\"true\"/>\n        <property key=\"programoptions.donoteraseauxmem\" value=\"false\"/>\n        <property key=\"programoptions.eraseb4program\" value=\"true\"/>\n        <property key=\"programoptions.preservedataflash\" value=\"false\"/>\n        <property key=\"programoptions.preservedataflash.ranges\" value=\"\"/>\n        <property key=\"programoptions.preserveeeprom\" value=\"false\"/>\n        <property key=\"programoptions.preserveeeprom.ranges\"\n                  value=\"${memories.eedata.default}\"/>\n        <property key=\"programoptions.preserveprogram.ranges\" value=\"\"/>\n        <property key=\"programoptions.preserveprogramrange\" value=\"false\"/>\n        <property key=\"programoptions.usehighvoltageonmclr\" value=\"false\"/>\n        <property key=\"programoptions.uselvpprogramming\" value=\"true\"/>\n      </PKOBSKDEPlatformTool>\n    </conf>\n    <conf name=\"release\" type=\"2\">\n      <toolsSet>\n        <developmentServer>localhost</developmentServer>\n        <targetDevice>PIC24FJ64GB002</targetDevice>\n        <targetHeader></targetHeader>\n        <targetPluginBoard></targetPluginBoard>\n        <platformTool>PKOBSKDEPlatformTool</platformTool>\n        <languageToolchain>XC16</languageToolchain>\n        <languageToolchainVersion>1.36</languageToolchainVersion>\n        <platform>3</platform>\n      </toolsSet>\n      <packs>\n        <pack name=\"PIC24F-GA-GB_DFP\" vendor=\"Microchip\" version=\"1.0.58\"/>\n      </packs>\n      <compileType>\n        <linkerTool>\n          <linkerLibItems>\n          </linkerLibItems>\n        </linkerTool>\n        <archiverTool>\n        </archiverTool>\n        <loading>\n          <useAlternateLoadableFile>false</useAlternateLoadableFile>\n          <parseOnProdLoad>false</parseOnProdLoad>\n          <alternateLoadableFile></alternateLoadableFile>\n        </loading>\n        <subordinates>\n        </subordinates>\n      </compileType>\n      <makeCustomizationType>\n        <makeCustomizationPreStepEnabled>false</makeCustomizationPreStepEnabled>\n        <makeCustomizationPreStep></makeCustomizationPreStep>\n        <makeCustomizationPostStepEnabled>false</makeCustomizationPostStepEnabled>\n        <makeCustomizationPostStep></makeCustomizationPostStep>\n        <makeCustomizationPutChecksumInUserID>false</makeCustomizationPutChecksumInUserID>\n        <makeCustomizationEnableLongLines>false</makeCustomizationEnableLongLines>\n        <makeCustomizationNormalizeHexFile>false</makeCustomizationNormalizeHexFile>\n      </makeCustomizationType>\n      <C30>\n        <property key=\"code-model\" value=\"default\"/>\n        <property key=\"const-model\" value=\"default\"/>\n        <property key=\"data-model\" value=\"default\"/>\n        <property key=\"disable-instruction-scheduling\" value=\"false\"/>\n        <property key=\"enable-all-warnings\" value=\"true\"/>\n        <property key=\"enable-ansi-std\" value=\"false\"/>\n        <property key=\"enable-ansi-warnings\" value=\"false\"/>\n        <property key=\"enable-fatal-warnings\" value=\"false\"/>\n        <property key=\"enable-large-arrays\" value=\"false\"/>\n        <property key=\"enable-omit-frame-pointer\" value=\"false\"/>\n        <property key=\"enable-procedural-abstraction\" value=\"false\"/>\n        <property key=\"enable-short-double\" value=\"false\"/>\n        <property key=\"enable-symbols\" value=\"false\"/>\n        <property key=\"enable-unroll-loops\" value=\"false\"/>\n        <property key=\"extra-include-directories\"\n                  value=\"..\\..;..\\..\\..\\..\\..\\include;..\\..\\..\\..\\..\\src;..\\..\\..\\..\\..\\ports\\pic24_dspic\\qv\\xc16\"/>\n        <property key=\"isolate-each-function\" value=\"false\"/>\n        <property key=\"keep-inline\" value=\"false\"/>\n        <property key=\"oXC16gcc-align-arr\" value=\"false\"/>\n        <property key=\"oXC16gcc-cnsts-mauxflash\" value=\"false\"/>\n        <property key=\"oXC16gcc-data-sects\" value=\"false\"/>\n        <property key=\"oXC16gcc-errata\" value=\"\"/>\n        <property key=\"oXC16gcc-fillupper\" value=\"\"/>\n        <property key=\"oXC16gcc-large-aggregate\" value=\"false\"/>\n        <property key=\"oXC16gcc-mauxflash\" value=\"false\"/>\n        <property key=\"oXC16gcc-mpa-lvl\" value=\"\"/>\n        <property key=\"oXC16gcc-name-text-sec\" value=\"\"/>\n        <property key=\"oXC16gcc-near-chars\" value=\"false\"/>\n        <property key=\"oXC16gcc-no-isr-warn\" value=\"false\"/>\n        <property key=\"oXC16gcc-sfr-warn\" value=\"false\"/>\n        <property key=\"oXC16gcc-smar-io-lvl\" value=\"1\"/>\n        <property key=\"oXC16gcc-smart-io-fmt\" value=\"\"/>\n        <property key=\"optimization-level\" value=\"s\"/>\n        <property key=\"post-instruction-scheduling\" value=\"default\"/>\n        <property key=\"pre-instruction-scheduling\" value=\"default\"/>\n        <property key=\"preprocessor-macros\" value=\"NDEBUG\"/>\n        <property key=\"scalar-model\" value=\"default\"/>\n        <property key=\"use-cci\" value=\"false\"/>\n        <property key=\"use-iar\" value=\"false\"/>\n      </C30>\n      <C30-AR>\n        <property key=\"additional-options-chop-files\" value=\"false\"/>\n      </C30-AR>\n      <C30-AS>\n        <property key=\"assembler-symbols\" value=\"\"/>\n        <property key=\"expand-macros\" value=\"false\"/>\n        <property key=\"extra-include-directories-for-assembler\" value=\"\"/>\n        <property key=\"extra-include-directories-for-preprocessor\" value=\"\"/>\n        <property key=\"false-conditionals\" value=\"false\"/>\n        <property key=\"keep-locals\" value=\"false\"/>\n        <property key=\"list-assembly\" value=\"false\"/>\n        <property key=\"list-section-info\" value=\"false\"/>\n        <property key=\"list-source\" value=\"false\"/>\n        <property key=\"list-symbols\" value=\"false\"/>\n        <property key=\"oXC16asm-extra-opts\" value=\"\"/>\n        <property key=\"oXC16asm-list-to-file\" value=\"false\"/>\n        <property key=\"omit-debug-dirs\" value=\"false\"/>\n        <property key=\"omit-forms\" value=\"false\"/>\n        <property key=\"preprocessor-macros\" value=\"\"/>\n        <property key=\"relax\" value=\"false\"/>\n        <property key=\"warning-level\" value=\"emit-warnings\"/>\n      </C30-AS>\n      <C30-LD>\n        <property key=\"additional-options-use-response-files\" value=\"false\"/>\n        <property key=\"boot-eeprom\" value=\"no_eeprom\"/>\n        <property key=\"boot-flash\" value=\"no_flash\"/>\n        <property key=\"boot-ram\" value=\"no_ram\"/>\n        <property key=\"boot-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"enable-check-sections\" value=\"false\"/>\n        <property key=\"enable-data-init\" value=\"true\"/>\n        <property key=\"enable-default-isr\" value=\"true\"/>\n        <property key=\"enable-handles\" value=\"true\"/>\n        <property key=\"enable-pack-data\" value=\"true\"/>\n        <property key=\"extra-lib-directories\" value=\"\"/>\n        <property key=\"fill-flash-options-addr\" value=\"\"/>\n        <property key=\"fill-flash-options-const\" value=\"\"/>\n        <property key=\"fill-flash-options-how\" value=\"0\"/>\n        <property key=\"fill-flash-options-inc-const\" value=\"1\"/>\n        <property key=\"fill-flash-options-increment\" value=\"\"/>\n        <property key=\"fill-flash-options-seq\" value=\"\"/>\n        <property key=\"fill-flash-options-what\" value=\"0\"/>\n        <property key=\"general-code-protect\" value=\"no_code_protect\"/>\n        <property key=\"general-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"generate-cross-reference-file\" value=\"false\"/>\n        <property key=\"heap-size\" value=\"\"/>\n        <property key=\"input-libraries\" value=\"\"/>\n        <property key=\"linker-stack\" value=\"true\"/>\n        <property key=\"linker-symbols\" value=\"\"/>\n        <property key=\"map-file\" value=\"\"/>\n        <property key=\"no-ivt\" value=\"false\"/>\n        <property key=\"oXC16ld-extra-opts\" value=\"\"/>\n        <property key=\"oXC16ld-fill-upper\" value=\"0\"/>\n        <property key=\"oXC16ld-force-link\" value=\"false\"/>\n        <property key=\"oXC16ld-no-smart-io\" value=\"false\"/>\n        <property key=\"oXC16ld-nostdlib\" value=\"false\"/>\n        <property key=\"oXC16ld-stackguard\" value=\"16\"/>\n        <property key=\"preprocessor-macros\" value=\"\"/>\n        <property key=\"remove-unused-sections\" value=\"false\"/>\n        <property key=\"report-memory-usage\" value=\"true\"/>\n        <property key=\"secure-eeprom\" value=\"no_eeprom\"/>\n        <property key=\"secure-flash\" value=\"no_flash\"/>\n        <property key=\"secure-ram\" value=\"no_ram\"/>\n        <property key=\"secure-write-protect\" value=\"no_write_protect\"/>\n        <property key=\"stack-size\" value=\"16\"/>\n        <property key=\"symbol-stripping\" value=\"\"/>\n        <property key=\"trace-symbols\" value=\"\"/>\n        <property key=\"warn-section-align\" value=\"false\"/>\n      </C30-LD>\n      <C30Global>\n        <property key=\"common-include-directories\" value=\"\"/>\n        <property key=\"dual-boot-partition\" value=\"0\"/>\n        <property key=\"fast-math\" value=\"false\"/>\n        <property key=\"generic-16-bit\" value=\"false\"/>\n        <property key=\"legacy-libc\" value=\"false\"/>\n        <property key=\"mpreserve-all\" value=\"false\"/>\n        <property key=\"oXC16glb-macros\" value=\"\"/>\n        <property key=\"output-file-format\" value=\"elf\"/>\n        <property key=\"preserve-all\" value=\"false\"/>\n        <property key=\"preserve-file\" value=\"\"/>\n        <property key=\"relaxed-math\" value=\"false\"/>\n        <property key=\"save-temps\" value=\"false\"/>\n      </C30Global>\n      <PKOBSKDEPlatformTool>\n        <property key=\"AutoSelectMemRanges\" value=\"auto\"/>\n        <property key=\"SecureSegment.SegmentProgramming\" value=\"FullChipProgramming\"/>\n        <property key=\"ToolFirmwareFilePath\"\n                  value=\"Press to browse for a specific firmware version\"/>\n        <property key=\"ToolFirmwareOption.UseLatestFirmware\" value=\"true\"/>\n        <property key=\"memories.configurationmemory\" value=\"true\"/>\n        <property key=\"memories.dataflash\" value=\"true\"/>\n        <property key=\"memories.eeprom\" value=\"false\"/>\n        <property key=\"memories.id\" value=\"false\"/>\n        <property key=\"memories.programmemory\" value=\"true\"/>\n        <property key=\"memories.programmemory.ranges\" value=\"0-abf7\"/>\n        <property key=\"memories.userotp\" value=\"true\"/>\n        <property key=\"programoptions.donoteraseauxmem\" value=\"false\"/>\n        <property key=\"programoptions.eraseb4program\" value=\"true\"/>\n        <property key=\"programoptions.preservedataflash\" value=\"false\"/>\n        <property key=\"programoptions.preservedataflash.ranges\" value=\"\"/>\n        <property key=\"programoptions.preserveeeprom\" value=\"false\"/>\n        <property key=\"programoptions.preserveeeprom.ranges\"\n                  value=\"${memories.eedata.default}\"/>\n        <property key=\"programoptions.preserveprogram.ranges\" value=\"\"/>\n        <property key=\"programoptions.preserveprogramrange\" value=\"false\"/>\n        <property key=\"programoptions.usehighvoltageonmclr\" value=\"false\"/>\n        <property key=\"programoptions.uselvpprogramming\" value=\"false\"/>\n      </PKOBSKDEPlatformTool>\n    </conf>\n  </confs>\n</configurationDescriptor>\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qv/xc16/nbproject/private/configurations.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<configurationDescriptor version=\"65\">\n  <projectmakefile>Makefile</projectmakefile>\n  <defaultConf>0</defaultConf>\n  <confs>\n    <conf name=\"default\" type=\"2\">\n      <platformToolSN>:=MPLABComm-USB-Microchip:=&lt;vid>04D8:=&lt;pid>8107:=&lt;rev>0002:=&lt;man>Microchip Technology Incorporated:=&lt;prod>Microstick II SK:=&lt;sn>BUR123045184:=&lt;drv>x:=&lt;xpt>h:=end</platformToolSN>\n      <languageToolchainDir>C:\\tools\\Microchip\\xc16\\bin</languageToolchainDir>\n      <mdbdebugger version=\"1\">\n        <placeholder1>place holder 1</placeholder1>\n        <placeholder2>place holder 2</placeholder2>\n      </mdbdebugger>\n      <runprofile version=\"6\">\n        <args></args>\n        <rundir></rundir>\n        <buildfirst>true</buildfirst>\n        <console-type>0</console-type>\n        <terminal-type>0</terminal-type>\n        <remove-instrumentation>0</remove-instrumentation>\n        <environment>\n        </environment>\n      </runprofile>\n    </conf>\n    <conf name=\"release\" type=\"2\">\n      <platformToolSN>:=MPLABComm-USB-Microchip:=&lt;vid>04D8:=&lt;pid>8107:=&lt;rev>0002:=&lt;man>Microchip Technology Incorporated:=&lt;prod>Microstick II SK:=&lt;sn>BUR123045184:=&lt;drv>x:=&lt;xpt>h:=end</platformToolSN>\n      <languageToolchainDir>C:\\tools\\Microchip\\xc16\\bin</languageToolchainDir>\n      <mdbdebugger version=\"1\">\n        <placeholder1>place holder 1</placeholder1>\n        <placeholder2>place holder 2</placeholder2>\n      </mdbdebugger>\n      <runprofile version=\"6\">\n        <args></args>\n        <rundir></rundir>\n        <buildfirst>true</buildfirst>\n        <console-type>0</console-type>\n        <terminal-type>0</terminal-type>\n        <remove-instrumentation>0</remove-instrumentation>\n        <environment>\n        </environment>\n      </runprofile>\n    </conf>\n  </confs>\n</configurationDescriptor>\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qv/xc16/nbproject/private/private.properties",
    "content": ""
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qv/xc16/nbproject/private/private.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project-private xmlns=\"http://www.netbeans.org/ns/project-private/1\">\n    <editor-bookmarks xmlns=\"http://www.netbeans.org/ns/editor-bookmarks/1\"/>\n    <editor-bookmarks xmlns=\"http://www.netbeans.org/ns/editor-bookmarks/2\" lastBookmarkId=\"0\"/>\n    <open-files xmlns=\"http://www.netbeans.org/ns/projectui-open-files/2\">\n        <group>\n            <file>file:/C:/qp_lab/qpn/ports/pic24_dspic/qk/xc16/qkn_port.c</file>\n            <file>file:/C:/qp_lab/qpn/examples/pic24_dspic/pelican_microstick2-pic24.X/main.c</file>\n            <file>file:/C:/qp_lab/qpn/examples/pic24_dspic/pelican_microstick2-pic24.X/qv/xc16/bsp.c</file>\n        </group>\n    </open-files>\n</project-private>\n"
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qv/xc16/nbproject/project.properties",
    "content": ""
  },
  {
    "path": "examples/pic24_dspic/pelican_microstick2-pic24/qv/xc16/nbproject/project.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://www.netbeans.org/ns/project/1\">\n    <type>com.microchip.mplab.nbide.embedded.makeproject</type>\n    <configuration>\n        <data xmlns=\"http://www.netbeans.org/ns/make-project/1\">\n            <name>pelican-microstick2-pic24-qvn</name>\n            <creation-uuid>ee2d0599-d83a-4c0e-b85a-bafd0cebc5f8</creation-uuid>\n            <make-project-type>0</make-project-type>\n            <c-extensions>c</c-extensions>\n            <cpp-extensions/>\n            <header-extensions>h</header-extensions>\n            <sourceEncoding>ISO-8859-1</sourceEncoding>\n            <asminc-extensions/>\n            <make-dep-projects/>\n            <sourceRootList>\n                <sourceRootElem>../../../../../src/qf</sourceRootElem>\n                <sourceRootElem>../../../../../src/qk</sourceRootElem>\n                <sourceRootElem>../../../../../include</sourceRootElem>\n                <sourceRootElem>../../../../../src/qs</sourceRootElem>\n                <sourceRootElem>../..</sourceRootElem>\n                <sourceRootElem>../../../../../src/qv</sourceRootElem>\n                <sourceRootElem>../../../../../ports/pic24_dspic/qk/xc16</sourceRootElem>\n                <sourceRootElem>../../../../../src/qfn</sourceRootElem>\n                <sourceRootElem>../../../../../src/qkn</sourceRootElem>\n                <sourceRootElem>../../../../../src/qvn</sourceRootElem>\n            </sourceRootList>\n            <confList>\n                <confElem>\n                    <name>default</name>\n                    <type>2</type>\n                </confElem>\n                <confElem>\n                    <name>release</name>\n                    <type>2</type>\n                </confElem>\n            </confList>\n            <formatting>\n                <project-formatting-style>false</project-formatting-style>\n            </formatting>\n        </data>\n    </configuration>\n</project>\n"
  },
  {
    "path": "examples/workstation/README.txt",
    "content": "ABOUT THE \"Workstation\" EXAMPLES\n================================\nThe examples in the \"workstation\" directory can be built on any workstation\n(Windows, Linux, and MacOS). The provided Makefiles support the\nGNU GCC toolchain.\n\n*** NOTE ***\nFor Windows, the make utility and the GNU GCC toolchain (MinGW) are provided\nin the QTools collection, which is available for a separate download from:\n\nhttp://sourceforge.net/projects/qpc/files/QTools/\n\n*** NOTE ***\nThe code can be also built with other tools as well, such as the\nMicrosoft Visual Studio 2013 and newer.\n\n\nThe QP-nano Code\n=============\nThe QP-nano framework is built from sources in every provided project.\n\n\nDebug and Release Build Configurations\n============================================\nThe Makefiles for the examples generally support the following two build\nconfigurations:\n\nDebug Configuration\n-------------------\nThis is the default build configuration, with full debugging information and\nminimal optimization. To build this configuration, type:\n\nmake\n\nTo clean this build, type\n\nmake clean\n\nThe object files and the executable is located in the 'build' sub-directory.\n\n\nRelease Configuration\n---------------------\nThis configuration is built with no debugging information and high\noptimization. Single-stepping and debugging might be difficult due\nto the lack of debugging information and optimized code. To build\nthis configuration, type:\n\nmake CONF=rel\n\nTo clean this build, type\n\nmake CONF=rel clean\n\nThe object files and the executable is located in the 'build_rel' directory.\n\n\nSupport and Contact Information\n===============================\nhttps://sourceforge.net/p/qpc/discussion/668726/\nhttps://www.state-machine.com\ninfo@state-machine.com\n"
  },
  {
    "path": "examples/workstation/blinky/Makefile",
    "content": "##############################################################################\n# Product: Makefile for QP-nano for Windows and POSIX *HOSTS*\n# Last updated for version 6.4.0\n# Last updated on  2019-01-09\n#\n#                    Q u a n t u m  L e a P s\n#                    ------------------------\n#                    Modern Embedded Software\n#\n# Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# https://www.state-machine.com\n# mailto:info@state-machine.com\n##############################################################################\n#\n# examples of invoking this Makefile:\n# building configurations: Debug (default), Release, and Spy\n# make\n# make CONF=rel\n#\n# cleaning configurations: Debug (default), Release, and Spy\n# make clean\n# make CONF=rel clean\n#\n# NOTE:\n# To use this Makefile on Windows, you will need the GNU make utility, which\n# is included in the QTools collection for Windows, see:\n#    http://sourceforge.net/projects/qpc/files/QTools/\n#\n\n#-----------------------------------------------------------------------------\n# project name:\n#\nPROJECT := blinky\n\n#-----------------------------------------------------------------------------\n# project directories:\n#\n\n# list of all source directories used by this project\nVPATH := . \\\n\n# list of all include directories needed by this project\nINCLUDES := -I. \\\n\n# location of the QP-nano framework (if not provided in an env. variable)\nifeq ($(QPN),)\nQPN := ../../..\nendif\n\n#-----------------------------------------------------------------------------\n# project files:\n#\n\n# C source files...\nC_SRCS := \\\n\tblinky.c\n\n# C++ source files...\nCPP_SRCS :=\n\nLIB_DIRS  :=\nLIBS      :=\n\n# defines...\nDEFINES   :=\n\nifeq (,$(CONF))\n\tCONF := dbg\nendif\n\n#-----------------------------------------------------------------------------\n# add QP-nano framework (depends on the OS this Makefile runs on):\n#\nifeq ($(OS),Windows_NT)\n\nQPN_PORT_DIR := $(QPN)/ports/win32-qv\n\nC_SRCS += \\\n\tqepn.c \\\n\tqfn_win32.c\n\nelse\n\nQPN_PORT_DIR := $(QPN)/ports/posix-qv\n\nC_SRCS += \\\n\tqepn.c \\\n\tqfn_posix.c\n\nLIBS += -lpthread\n\nendif\n\n#============================================================================\n# Typically you should not need to change anything below this line\n\nVPATH    += $(QPN)/src/qfn $(QPN_PORT_DIR)\nINCLUDES += -I$(QPN)/include -I$(QPN)/src -I$(QPN_PORT_DIR)\n\n#-----------------------------------------------------------------------------\n# GNU toolset:\n#\n# NOTE:\n# GNU toolset (MinGW) is included in the QTools collection for Windows, see:\n#     http://sourceforge.net/projects/qpc/files/QTools/\n# It is assumed that %QTOOLS%\\bin directory is added to the PATH\n#\nCC    := gcc\nCPP   := g++\nLINK  := gcc    # for C programs\n#LINK  := g++   # for C++ programs\n\n#-----------------------------------------------------------------------------\n# basic utilities (depends on the OS this Makefile runs on):\n#\nifeq ($(OS),Windows_NT)\n\tMKDIR      := mkdir\n\tRM         := rm\n\tTARGET_EXT := .exe\nelse ifeq ($(OSTYPE),cygwin)\n\tMKDIR      := mkdir -p\n\tRM         := rm -f\n\tTARGET_EXT := .exe\nelse\n\tMKDIR      := mkdir -p\n\tRM         := rm -f\n\tTARGET_EXT :=\nendif\n\n#-----------------------------------------------------------------------------\n# build configurations...\n\nifeq (rel, $(CONF)) # Release configuration ..................................\n\nBIN_DIR := build_rel\n# gcc options:\nCFLAGS  = -c -O3 -fno-pie -std=c99 -pedantic -Wall -Wextra -W \\\n\t$(INCLUDES) $(DEFINES) -DNDEBUG\n\nCPPFLAGS = -c -O3 -fno-pie -std=c++11 -pedantic -Wall -Wextra \\\n\t-fno-rtti -fno-exceptions \\\n\t$(INCLUDES) $(DEFINES) -DNDEBUG\n\nelse # default Debug configuration .........................................\n\nBIN_DIR := build\n\n# gcc options:\nCFLAGS  = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \\\n\t$(INCLUDES) $(DEFINES)\n\nCPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \\\n\t-fno-rtti -fno-exceptions \\\n\t$(INCLUDES) $(DEFINES)\n\nendif  # .....................................................................\n\nLINKFLAGS :=\n\n#-----------------------------------------------------------------------------\nC_OBJS       := $(patsubst %.c,%.o,   $(C_SRCS))\nCPP_OBJS     := $(patsubst %.cpp,%.o, $(CPP_SRCS))\n\nTARGET_EXE   := $(BIN_DIR)/$(PROJECT)$(TARGET_EXT)\nC_OBJS_EXT   := $(addprefix $(BIN_DIR)/, $(C_OBJS))\nC_DEPS_EXT   := $(patsubst %.o,%.d, $(C_OBJS_EXT))\nCPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))\nCPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))\n\n# create $(BIN_DIR) if it does not exist\nifeq (\"$(wildcard $(BIN_DIR))\",\"\")\n$(shell $(MKDIR) $(BIN_DIR))\nendif\n\n#-----------------------------------------------------------------------------\n# rules\n#\n\nall: $(TARGET_EXE)\n\n$(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)\n\t$(LINK) $(LINKFLAGS) $(LIB_DIRS) -o $@ $^ $(LIBS)\n\n$(BIN_DIR)/%.d : %.c\n\t$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@\n\n$(BIN_DIR)/%.d : %.cpp\n\t$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@\n\n$(BIN_DIR)/%.o : %.c\n\t$(CC) $(CFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.cpp\n\t$(CPP) $(CPPFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.rc\n\t$(RC) $(RCINCLUDES) -i $< -o $@\n\n# include dependency files only if our goal depends on their existence\nifneq ($(MAKECMDGOALS),clean)\n  ifneq ($(MAKECMDGOALS),show)\n-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)\n  endif\nendif\n\n.PHONY : clean show\n\nclean :\n\t-$(RM) $(BIN_DIR)/*.o \\\n\t$(BIN_DIR)/*.d \\\n\t$(TARGET_EXE)\n\nshow :\n\t@echo PROJECT      = $(PROJECT)\n\t@echo TARGET_EXE   = $(TARGET_EXE)\n\t@echo VPATH        = $(VPATH)\n\t@echo C_SRCS       = $(C_SRCS)\n\t@echo CPP_SRCS     = $(CPP_SRCS)\n\t@echo C_DEPS_EXT   = $(C_DEPS_EXT)\n\t@echo C_OBJS_EXT   = $(C_OBJS_EXT)\n\t@echo C_DEPS_EXT   = $(C_DEPS_EXT)\n\t@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)\n\t@echo CPP_OBJS_EXT = $(CPP_OBJS_EXT)\n\t@echo LIB_DIRS     = $(LIB_DIRS)\n\t@echo LIBS         = $(LIBS)\n\t@echo DEFINES      = $(DEFINES)\n\n"
  },
  {
    "path": "examples/workstation/blinky/README.txt",
    "content": "This example corresponds to the QM Tutorial at:\n\nhttps://www.state-machine.com/qm/gs_tut.html\n\n\nSpecifically the files are as follows:\n\nblinky.qm  - the QM model for the Blinky active object\nblinky.c   - the generated code for the Blinky application\nqpn_conf.h - the QP-nano configuration file\nMakefile   - the makefile to build Blinky on Windows/Linux/MaxOS\n"
  },
  {
    "path": "examples/workstation/blinky/blinky.c",
    "content": "/*.$file${.::blinky.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: blinky.qm\n* File:  ${.::blinky.c}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::blinky.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"    /* QP-nano framework API */\n#include \"safe_std.h\" /* portable \"safe\" <stdio.h>/<string.h> facilities */\n#include <stdlib.h> /* for exit() */\n\nenum { BSP_TICKS_PER_SEC = 100 };\n\nvoid BSP_init(void)   {\n    PRINTF_S(\"Simple Blinky example\\n\"\n           \"QP-nano version: %s\\n\"\n           \"Press Ctrl-C to quit...\\n\",\n           QP_VERSION_STR);\n}\nvoid BSP_ledOff(void) { PRINTF_S(\"%s\\n\", \"LED OFF\"); }\nvoid BSP_ledOn(void)  { PRINTF_S(\"%s\\n\", \"LED ON\");  }\n\n/* callback functions needed by the framework ------------------------------*/\nvoid QF_onStartup(void) {}\nvoid QF_onCleanup(void) {}\nvoid QF_onClockTickISR(void) {\n    QF_tickXISR(0U); /* QF-nano clock tick processing for rate 0 */\n}\nQ_NORETURN Q_onAssert(char_t const Q_ROM * const module, int_t loc) {\n    FPRINTF_S(stderr, \"Assertion failed in %s:%d\", module, loc);\n    exit(-1);\n}\n\n/* ask QM to declare the Blinky class --------------------------------------*/\n/*.$declare${AOs::Blinky_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Blinky_ctor} .....................................................*/\nstatic void Blinky_ctor(void);\n/*.$enddecl${AOs::Blinky_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::Blinky} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Blinky} ..........................................................*/\ntypedef struct Blinky {\n/* protected: */\n    QActive super;\n} Blinky;\n\n/* protected: */\nstatic QState Blinky_initial(Blinky * const me);\nstatic QState Blinky_off(Blinky * const me);\nstatic QState Blinky_on(Blinky * const me);\n/*.$enddecl${AOs::Blinky} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* the single instance of the Blinky active object -------------------------*/\nBlinky AO_Blinky;\n\n/* Local-scope objects -----------------------------------------------------*/\nstatic QEvt l_blinkyQSto[10]; /* Event queue storage for Blinky */\n\n/* QF_active[] array defines all active object control blocks --------------*/\nQActiveCB const Q_ROM QF_active[] = {\n    { (QActive *)0,           (QEvt *)0,        0U                      },\n    { (QActive *)&AO_Blinky,  l_blinkyQSto,     Q_DIM(l_blinkyQSto)     }\n};\n\n/* the main function -------------------------------------------------------*/\nint main(void) {\n    QF_init(Q_DIM(QF_active)); /* initialize the QF-nano framework */\n    BSP_init(); /* initialize the Board Support Package */\n\n    Blinky_ctor(); /* in C you must explicitly call the Blinky constructor */\n    return QF_run(); /* transfer control to QF-nano */\n}\n\n/* ask QM to define the Blinky class ---------------------------------------*/\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 650U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.5.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Blinky_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Blinky_ctor} .....................................................*/\nstatic void Blinky_ctor(void) {\n    Blinky * const me = &AO_Blinky;\n    QActive_ctor(&me->super, Q_STATE_CAST(&Blinky_initial));\n}\n/*.$enddef${AOs::Blinky_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Blinky} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Blinky} ..........................................................*/\n/*.${AOs::Blinky::SM} ......................................................*/\nstatic QState Blinky_initial(Blinky * const me) {\n    /*.${AOs::Blinky::SM::initial} */\n    /* arm the private time event for tick rate 0\n    * to expire in 1/2s and periodically every 1/2 second\n    */\n    QActive_armX(&me->super,\n                 0U,\n                 BSP_TICKS_PER_SEC/2U,\n                 BSP_TICKS_PER_SEC/2U);\n    return Q_TRAN(&Blinky_off);\n}\n/*.${AOs::Blinky::SM::off} .................................................*/\nstatic QState Blinky_off(Blinky * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Blinky::SM::off} */\n        case Q_ENTRY_SIG: {\n            BSP_ledOff();\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Blinky::SM::off::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Blinky_on);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Blinky::SM::on} ..................................................*/\nstatic QState Blinky_on(Blinky * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Blinky::SM::on} */\n        case Q_ENTRY_SIG: {\n            BSP_ledOn();\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Blinky::SM::on::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Blinky_off);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${AOs::Blinky} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/workstation/blinky/blinky.qm",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<model version=\"4.6.0\" links=\"1\">\n <documentation>Simple Blinky example for QP-nano, which demonstrates:\n- Active object (Blinky) with state machine\n- Board Support Package abstraction for portability\n- BSP implementation for desktop OS (Windows, Linux, Mac)\n- Platform-independent main() function\n- make.bat batch file for Windows</documentation>\n <!--${qpn}-->\n <framework name=\"qpn\"/>\n <!--${AOs}-->\n <package name=\"AOs\" stereotype=\"0x02\">\n  <!--${AOs::Blinky}-->\n  <class name=\"Blinky\" superclass=\"qpn::QActive\">\n   <!--${AOs::Blinky::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${AOs::Blinky::SM::initial}-->\n    <initial target=\"../1\">\n     <action>/* arm the private time event for tick rate 0\n* to expire in 1/2s and periodically every 1/2 second\n*/\nQActive_armX(&amp;me-&gt;super,\n             0U,\n             BSP_TICKS_PER_SEC/2U,\n             BSP_TICKS_PER_SEC/2U);</action>\n     <initial_glyph conn=\"2,3,5,1,20,4,-4\">\n      <action box=\"0,-2,6,2\"/>\n     </initial_glyph>\n    </initial>\n    <!--${AOs::Blinky::SM::off}-->\n    <state name=\"off\">\n     <entry>BSP_ledOff();</entry>\n     <!--${AOs::Blinky::SM::off::Q_TIMEOUT}-->\n     <tran trig=\"Q_TIMEOUT\" target=\"../../2\">\n      <tran_glyph conn=\"2,13,3,1,18,6,-2\">\n       <action box=\"0,-2,8,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,5,16,10\">\n      <entry box=\"1,2,12,4\"/>\n     </state_glyph>\n    </state>\n    <!--${AOs::Blinky::SM::on}-->\n    <state name=\"on\">\n     <entry>BSP_ledOn();</entry>\n     <!--${AOs::Blinky::SM::on::Q_TIMEOUT}-->\n     <tran trig=\"Q_TIMEOUT\" target=\"../../1\">\n      <tran_glyph conn=\"2,25,3,1,20,-15,-4\">\n       <action box=\"0,-2,8,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,17,16,10\">\n      <entry box=\"1,2,12,4\"/>\n     </state_glyph>\n    </state>\n    <state_diagram size=\"30,29\"/>\n   </statechart>\n  </class>\n  <!--${AOs::Blinky_ctor}-->\n  <operation name=\"Blinky_ctor\" type=\"void\" visibility=\"0x00\" properties=\"0x01\">\n   <documentation>The Blinky &quot;constructor&quot; is provided outside of the Blinky class, so that it can be used independently from the class. This is part of the &quot;opaque pointer&quot; design idiom.</documentation>\n   <code>Blinky * const me = &amp;AO_Blinky;\nQActive_ctor(&amp;me-&gt;super, Q_STATE_CAST(&amp;Blinky_initial));</code>\n  </operation>\n </package>\n <!--${.}-->\n <directory name=\".\">\n  <!--${.::blinky.c}-->\n  <file name=\"blinky.c\">\n   <text>#include &quot;qpn.h&quot;    /* QP-nano framework API */\n#include &lt;stdio.h&gt;\n#include &lt;stdlib.h&gt; /* for exit() */\n\nenum { BSP_TICKS_PER_SEC = 100 };\n\nvoid BSP_init(void)   {\n    printf(&quot;Simple Blinky example\\n&quot;\n           &quot;QP-nano version: %s\\n&quot;\n           &quot;Press Ctrl-C to quit...\\n&quot;,\n           QP_VERSION_STR);\n}\nvoid BSP_ledOff(void) { printf(&quot;LED OFF\\n&quot;); }\nvoid BSP_ledOn(void)  { printf(&quot;LED ON\\n&quot;);  }\n\n/* callback functions needed by the framework ------------------------------*/\nvoid QF_onStartup(void) {}\nvoid QF_onCleanup(void) {}\nvoid QF_onClockTickISR(void) {\n    QF_tickXISR(0U); /* QF-nano clock tick processing for rate 0 */\n}\nvoid Q_onAssert(char_t const Q_ROM * const module, int_t loc) {\n    fprintf(stderr, &quot;Assertion failed in %s:%d&quot;, module, loc);\n    exit(-1);\n}\n\n/* ask QM to declare the Blinky class --------------------------------------*/\n$declare${AOs::Blinky_ctor}\n$declare${AOs::Blinky}\n\n/* the single instance of the Blinky active object -------------------------*/\nBlinky AO_Blinky;\n\n/* Local-scope objects -----------------------------------------------------*/\nstatic QEvt l_blinkyQSto[10]; /* Event queue storage for Blinky */\n\n/* QF_active[] array defines all active object control blocks --------------*/\nQActiveCB const Q_ROM QF_active[] = {\n    { (QActive *)0,           (QEvt *)0,        0U                      },\n    { (QActive *)&amp;AO_Blinky,  l_blinkyQSto,     Q_DIM(l_blinkyQSto)     }\n};\n\n/* the main function -------------------------------------------------------*/\nint main(void) {\n    QF_init(Q_DIM(QF_active)); /* initialize the QF-nano framework */\n    BSP_init(); /* initialize the Board Support Package */\n\n    Blinky_ctor(); /* in C you must explicitly call the Blinky constructor */\n    return QF_run(); /* transfer control to QF-nano */\n}\n\n/* ask QM to define the Blinky class ---------------------------------------*/\n$define${AOs::Blinky_ctor}\n$define${AOs::Blinky}</text>\n  </file>\n  <!--${.::qpn_conf.h}-->\n  <file name=\"qpn_conf.h\">\n   <text>#ifndef QPN_CONF_H\n#define QPN_CONF_H\n\n#define Q_PARAM_SIZE            4\n#define QF_MAX_TICK_RATE        1\n#define QF_TIMEEVT_CTR_SIZE     2\n#define QF_TIMEEVT_PERIODIC\n\n#endif  /* QPN_CONF_H */</text>\n  </file>\n </directory>\n</model>\n"
  },
  {
    "path": "examples/workstation/blinky/qpn_conf.h",
    "content": "/*.$file${.::qpn_conf.h} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: blinky.qm\n* File:  ${.::qpn_conf.h}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::qpn_conf.h} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#ifndef QPN_CONF_H\n#define QPN_CONF_H\n\n#define Q_PARAM_SIZE            4U\n#define QF_MAX_TICK_RATE        1U\n#define QF_TIMEEVT_CTR_SIZE     2U\n#define QF_TIMEEVT_PERIODIC\n\n#endif  /* QPN_CONF_H */"
  },
  {
    "path": "examples/workstation/calc/Makefile",
    "content": "##############################################################################\n# Product: Makefile for QP-nano for Windows and POSIX *HOSTS*\n# Last updated for version 6.4.0\n# Last updated on  2019-01-09\n#\n#                    Q u a n t u m  L e a P s\n#                    ------------------------\n#                    Modern Embedded Software\n#\n# Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# https://www.state-machine.com\n# mailto:info@state-machine.com\n##############################################################################\n#\n# examples of invoking this Makefile:\n# building configurations: Debug (default), Release, and Spy\n# make\n# make CONF=rel\n#\n# cleaning configurations: Debug (default), Release, and Spy\n# make clean\n# make CONF=rel clean\n#\n# NOTE:\n# To use this Makefile on Windows, you will need the GNU make utility, which\n# is included in the QTools collection for Windows, see:\n#    http://sourceforge.net/projects/qpc/files/QTools/\n#\n\n#-----------------------------------------------------------------------------\n# project name:\n#\nPROJECT := calc\n\n#-----------------------------------------------------------------------------\n# project directories:\n#\n\n# list of all source directories used by this project\nVPATH := . \\\n\n# list of all include directories needed by this project\nINCLUDES := -I. \\\n\n# location of the QP-nano framework (if not provided in an env. variable)\nifeq ($(QPN),)\nQPN := ../../..\nendif\n\n#-----------------------------------------------------------------------------\n# project files:\n#\n\n# C source files...\nC_SRCS := \\\n\tbsp.c \\\n\tmain.c \\\n\tcalc.c\n\n# C++ source files...\nCPP_SRCS :=\n\nLIB_DIRS  :=\nLIBS      :=\n\n# defines...\nDEFINES   :=\n\nifeq (,$(CONF))\n\tCONF := dbg\nendif\n\n#-----------------------------------------------------------------------------\n# add QP-nano framework (depends on the OS this Makefile runs on):\n#\nifeq ($(OS),Windows_NT)\n\nQPN_PORT_DIR := $(QPN)/ports/win32-qv\n\nC_SRCS += \\\n\tqepn.c \\\n\tqfn_win32.c\n\nelse\n\nQPN_PORT_DIR := $(QPN)/ports/posix-qv\n\nC_SRCS += \\\n\tqepn.c \\\n\tqfn_posix.c\n\nLIBS += -lpthread\n\nendif\n\n#============================================================================\n# Typically you should not need to change anything below this line\n\nVPATH    += $(QPN)/src/qfn $(QPN_PORT_DIR)\nINCLUDES += -I$(QPN)/include -I$(QPN)/src -I$(QPN_PORT_DIR)\n\n#-----------------------------------------------------------------------------\n# GNU toolset:\n#\n# NOTE:\n# GNU toolset (MinGW) is included in the QTools collection for Windows, see:\n#     http://sourceforge.net/projects/qpc/files/QTools/\n# It is assumed that %QTOOLS%\\bin directory is added to the PATH\n#\nCC    := gcc\nCPP   := g++\nLINK  := gcc    # for C programs\n#LINK  := g++   # for C++ programs\n\n#-----------------------------------------------------------------------------\n# basic utilities (depends on the OS this Makefile runs on):\n#\nifeq ($(OS),Windows_NT)\n\tMKDIR      := mkdir\n\tRM         := rm\n\tTARGET_EXT := .exe\nelse ifeq ($(OSTYPE),cygwin)\n\tMKDIR      := mkdir -p\n\tRM         := rm -f\n\tTARGET_EXT := .exe\nelse\n\tMKDIR      := mkdir -p\n\tRM         := rm -f\n\tTARGET_EXT :=\nendif\n\n#-----------------------------------------------------------------------------\n# build configurations...\n\nifeq (rel, $(CONF)) # Release configuration ..................................\n\nBIN_DIR := build_rel\n# gcc options:\nCFLAGS  = -c -O3 -fno-pie -std=c99 -pedantic -Wall -Wextra -W \\\n\t$(INCLUDES) $(DEFINES) -DNDEBUG\n\nCPPFLAGS = -c -O3 -fno-pie -std=c++11 -pedantic -Wall -Wextra \\\n\t-fno-rtti -fno-exceptions \\\n\t$(INCLUDES) $(DEFINES) -DNDEBUG\n\nelse # default Debug configuration .........................................\n\nBIN_DIR := build\n\n# gcc options:\nCFLAGS  = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \\\n\t$(INCLUDES) $(DEFINES)\n\nCPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \\\n\t-fno-rtti -fno-exceptions \\\n\t$(INCLUDES) $(DEFINES)\n\nendif  # .....................................................................\n\nLINKFLAGS :=\n\n#-----------------------------------------------------------------------------\nC_OBJS       := $(patsubst %.c,%.o,   $(C_SRCS))\nCPP_OBJS     := $(patsubst %.cpp,%.o, $(CPP_SRCS))\n\nTARGET_EXE   := $(BIN_DIR)/$(PROJECT)$(TARGET_EXT)\nC_OBJS_EXT   := $(addprefix $(BIN_DIR)/, $(C_OBJS))\nC_DEPS_EXT   := $(patsubst %.o,%.d, $(C_OBJS_EXT))\nCPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))\nCPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))\n\n# create $(BIN_DIR) if it does not exist\nifeq (\"$(wildcard $(BIN_DIR))\",\"\")\n$(shell $(MKDIR) $(BIN_DIR))\nendif\n\n#-----------------------------------------------------------------------------\n# rules\n#\n\nall: $(TARGET_EXE)\n\n$(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)\n\t$(LINK) $(LINKFLAGS) $(LIB_DIRS) -o $@ $^ $(LIBS)\n\n$(BIN_DIR)/%.d : %.c\n\t$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@\n\n$(BIN_DIR)/%.d : %.cpp\n\t$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@\n\n$(BIN_DIR)/%.o : %.c\n\t$(CC) $(CFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.cpp\n\t$(CPP) $(CPPFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.rc\n\t$(RC) $(RCINCLUDES) -i $< -o $@\n\n# include dependency files only if our goal depends on their existence\nifneq ($(MAKECMDGOALS),clean)\n  ifneq ($(MAKECMDGOALS),show)\n-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)\n  endif\nendif\n\n.PHONY : clean show\n\nclean :\n\t-$(RM) $(BIN_DIR)/*.o \\\n\t$(BIN_DIR)/*.d \\\n\t$(TARGET_EXE)\n\nshow :\n\t@echo PROJECT      = $(PROJECT)\n\t@echo TARGET_EXE   = $(TARGET_EXE)\n\t@echo VPATH        = $(VPATH)\n\t@echo C_SRCS       = $(C_SRCS)\n\t@echo CPP_SRCS     = $(CPP_SRCS)\n\t@echo C_DEPS_EXT   = $(C_DEPS_EXT)\n\t@echo C_OBJS_EXT   = $(C_OBJS_EXT)\n\t@echo C_DEPS_EXT   = $(C_DEPS_EXT)\n\t@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)\n\t@echo CPP_OBJS_EXT = $(CPP_OBJS_EXT)\n\t@echo LIB_DIRS     = $(LIB_DIRS)\n\t@echo LIBS         = $(LIBS)\n\t@echo DEFINES      = $(DEFINES)\n\n"
  },
  {
    "path": "examples/workstation/calc/bsp.c",
    "content": "/*****************************************************************************\n* Product: Board Support Package (BSP) for the Calculator example\n* Last Updated for Version: 6.3.7\n* Date of the Last Update:  2018-12-13\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2018 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"bsp.h\"\n#include \"calc.h\"\n\n#include \"safe_std.h\" /* portable \"safe\" <stdio.h>/<string.h> facilities */\n#include <stdlib.h>\n\n#define DISP_WIDTH  9\n\n/*..........................................................................*/\n/* dummy definition of the QF_active[] array (not used in this example) */\nQActiveCB const Q_ROM QF_active[] = {\n    { (QActive *)0,  (QEvt *)0, 0U }\n};\n\n/*..........................................................................*/\nstatic char l_display[DISP_WIDTH + 1]; /* the calculator display */\nstatic int  l_len; /* number of displayed characters */\n\n/*..........................................................................*/\nvoid BSP_clear(void) {\n    memset(l_display, ' ', DISP_WIDTH - 1);\n    l_display[DISP_WIDTH - 1] = '0';\n    l_display[DISP_WIDTH] = '\\0';\n    l_len = 0;\n}\n/*..........................................................................*/\nvoid BSP_insert(int keyId) {\n    if (l_len == 0) {\n        l_display[DISP_WIDTH - 1] = (char)keyId;\n        ++l_len;\n    }\n    else if (l_len < (DISP_WIDTH - 1)) {\n        MEMMOVE_S(&l_display[0], DISP_WIDTH, &l_display[1], DISP_WIDTH - 1);\n        l_display[DISP_WIDTH - 1] = (char)keyId;\n        ++l_len;\n    }\n}\n/*..........................................................................*/\nvoid BSP_negate(void) {\n    BSP_clear();\n    l_display[DISP_WIDTH - 2] = '-';\n}\n/*..........................................................................*/\nvoid BSP_display(void) {\n    PRINTF_S(\"\\n[%s] \", l_display);\n}\n/*..........................................................................*/\nvoid BSP_exit(void) {\n    PRINTF_S(\"\\n%s\\n\", \"Bye! Bye!\");\n    QF_onCleanup();\n    exit(0);\n}\n/*..........................................................................*/\ndouble BSP_get_value(void) {\n    return strtod(l_display, (char **)0);\n}\n/*..........................................................................*/\nint BSP_eval(double operand1, int oper, double operand2) {\n    int ok = 1;\n    double result = 0.0;\n    switch (oper) {\n        case KEY_PLUS: {\n            result = operand1 + operand2;\n            break;\n        }\n        case KEY_MINUS: {\n            result = operand1 - operand2;\n            break;\n        }\n        case KEY_MULT: {\n            result = operand1 * operand2;\n            break;\n        }\n        case KEY_DIVIDE: {\n            if ((operand2 < -1e-30) || (1e-30 < operand2)) {\n                result = operand1 / operand2;\n            }\n            else {\n                /* error: divide by zero */\n                STRCPY_S(l_display, DISP_WIDTH, \" Error 0 \");\n                ok = 0;\n            }\n            break;\n        }\n    }\n    if (ok) {\n        if ((-0.000001 < result) && (result < 0.000001)) {\n            result = 0.0;\n        }\n        if ((-99999999.0 < result) && (result < 99999999.0)) {\n            SNPRINTF_S(l_display, DISP_WIDTH, \"%9.6g\", result);\n        }\n        else {\n            /* error: out of range */\n            STRCPY_S(l_display, DISP_WIDTH, \" Error 1 \");\n            ok = 0;\n        }\n    }\n    return ok;\n}\n/*..........................................................................*/\nvoid BSP_message(char const *msg) {\n    PRINTF_S(\"%s\", msg);\n}\n\n/*--------------------------------------------------------------------------*/\nvoid QF_onStartup(void) {\n    QF_consoleSetup();\n}\n/*..........................................................................*/\nvoid QF_onCleanup(void) {\n    QF_consoleCleanup();\n}\n/*..........................................................................*/\nvoid QF_onClockTickISR(void) {\n}\n\n/*..........................................................................*/\n/* this function is used by the QP embedded systems-friendly assertions */\nQ_NORETURN Q_onAssert(char const * const file, int line) {\n    FPRINTF_S(stderr, \"Assertion failed in %s, line %d\", file, line);\n    exit(-1);\n}\n"
  },
  {
    "path": "examples/workstation/calc/bsp.h",
    "content": "/*****************************************************************************\n* Product: Board Support Package (BSP) for the Calculator example\n* Last updated for version 5.4.0\n* Last updated on  2015-05-18\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, www.state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BSP_H\n#define BSP_H\n\n#define KEY_PLUS    '+'\n#define KEY_MINUS   '-'\n#define KEY_MULT    '*'\n#define KEY_DIVIDE  '/'\n\nvoid BSP_clear (void);\nvoid BSP_negate(void);\nvoid BSP_insert(int keyId);\ndouble BSP_get_value(void);\nint  BSP_eval(double operand1, int oper, double operand2);\nvoid BSP_exit(void);\n\nvoid BSP_display(void);\nvoid BSP_message(char const *state);\n\n#endif /* BSP_H */\n"
  },
  {
    "path": "examples/workstation/calc/calc.c",
    "content": "/*.$file${.::calc.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: calc.qm\n* File:  ${.::calc.c}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::calc.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"   /* QP-nano */\n#include \"bsp.h\"   /* Board Support Package */\n#include \"calc.h\"  /* this applicatin */\n\n/*.$declare${SMs::Calc} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${SMs::Calc} ............................................................*/\ntypedef struct Calc {\n/* protected: */\n    QHsm super;\n\n/* private: */\n    double operand1;\n    uint8_t operator;\n} Calc;\n\n/* protected: */\nstatic QState Calc_initial(Calc * const me);\nstatic QState Calc_on(Calc * const me);\nstatic QState Calc_error(Calc * const me);\nstatic QState Calc_ready(Calc * const me);\nstatic QState Calc_result(Calc * const me);\nstatic QState Calc_begin(Calc * const me);\nstatic QState Calc_operand1(Calc * const me);\nstatic QState Calc_zero1(Calc * const me);\nstatic QState Calc_int1(Calc * const me);\nstatic QState Calc_frac1(Calc * const me);\nstatic QState Calc_negated1(Calc * const me);\nstatic QState Calc_opEntered(Calc * const me);\nstatic QState Calc_operand2(Calc * const me);\nstatic QState Calc_zero2(Calc * const me);\nstatic QState Calc_int2(Calc * const me);\nstatic QState Calc_frac2(Calc * const me);\nstatic QState Calc_negated2(Calc * const me);\nstatic QState Calc_final(Calc * const me);\n/*.$enddecl${SMs::Calc} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\nstatic Calc l_calc;    /* the only instance of the Calc class */\n\n/* global-scope definitions ---------------------------------------*/\nQHsm * const the_calc = &l_calc.super; /* \"opaque\" pointer to HSM */\n\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 650U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.5.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${SMs::Calc_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${SMs::Calc_ctor} .......................................................*/\nvoid Calc_ctor(void) {\n    Calc *me = &l_calc;\n    QHsm_ctor(&me->super, Q_STATE_CAST(&Calc_initial));\n}\n/*.$enddef${SMs::Calc_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${SMs::Calc} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${SMs::Calc} ............................................................*/\n/*.${SMs::Calc::SM} ........................................................*/\nstatic QState Calc_initial(Calc * const me) {\n    /*.${SMs::Calc::SM::initial} */\n    BSP_clear();\n    return Q_TRAN(&Calc_on);\n}\n/*.${SMs::Calc::SM::on} ....................................................*/\nstatic QState Calc_on(Calc * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${SMs::Calc::SM::on} */\n        case Q_ENTRY_SIG: {\n            BSP_message(\"on-ENTRY;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on} */\n        case Q_EXIT_SIG: {\n            BSP_message(\"on-EXIT;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on::initial} */\n        case Q_INIT_SIG: {\n            BSP_message(\"on-INIT;\");\n            status_ = Q_TRAN(&Calc_ready);\n            break;\n        }\n        /*.${SMs::Calc::SM::on::C} */\n        case C_SIG: {\n            BSP_clear();\n            status_ = Q_TRAN(&Calc_on);\n            break;\n        }\n        /*.${SMs::Calc::SM::on::OFF} */\n        case OFF_SIG: {\n            status_ = Q_TRAN(&Calc_final);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${SMs::Calc::SM::on::error} .............................................*/\nstatic QState Calc_error(Calc * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${SMs::Calc::SM::on::error} */\n        case Q_ENTRY_SIG: {\n            BSP_message(\"error-ENTRY;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on::error} */\n        case Q_EXIT_SIG: {\n            BSP_message(\"error-EXIT;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Calc_on);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${SMs::Calc::SM::on::ready} .............................................*/\nstatic QState Calc_ready(Calc * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${SMs::Calc::SM::on::ready} */\n        case Q_ENTRY_SIG: {\n            BSP_message(\"ready-ENTRY;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on::ready} */\n        case Q_EXIT_SIG: {\n            BSP_message(\"ready-EXIT;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on::ready::initial} */\n        case Q_INIT_SIG: {\n            BSP_message(\"ready-INIT;\");\n            status_ = Q_TRAN(&Calc_begin);\n            break;\n        }\n        /*.${SMs::Calc::SM::on::ready::DIGIT_0} */\n        case DIGIT_0_SIG: {\n            BSP_clear();\n            status_ = Q_TRAN(&Calc_zero1);\n            break;\n        }\n        /*.${SMs::Calc::SM::on::ready::DIGIT_1_9} */\n        case DIGIT_1_9_SIG: {\n            BSP_clear();\n            BSP_insert(Q_PAR(me));\n            status_ = Q_TRAN(&Calc_int1);\n            break;\n        }\n        /*.${SMs::Calc::SM::on::ready::POINT} */\n        case POINT_SIG: {\n            BSP_clear();\n            BSP_insert((int)'0');\n            BSP_insert((int)'.');\n            status_ = Q_TRAN(&Calc_frac1);\n            break;\n        }\n        /*.${SMs::Calc::SM::on::ready::OPER} */\n        case OPER_SIG: {\n            me->operand1 = BSP_get_value();\n            me->operator = Q_PAR(me);\n            status_ = Q_TRAN(&Calc_opEntered);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Calc_on);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${SMs::Calc::SM::on::ready::result} .....................................*/\nstatic QState Calc_result(Calc * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${SMs::Calc::SM::on::ready::result} */\n        case Q_ENTRY_SIG: {\n            BSP_message(\"result-ENTRY;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on::ready::result} */\n        case Q_EXIT_SIG: {\n            BSP_message(\"result-EXIT;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Calc_ready);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${SMs::Calc::SM::on::ready::begin} ......................................*/\nstatic QState Calc_begin(Calc * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${SMs::Calc::SM::on::ready::begin} */\n        case Q_ENTRY_SIG: {\n            BSP_message(\"begin-ENTRY;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on::ready::begin} */\n        case Q_EXIT_SIG: {\n            BSP_message(\"begin-EXIT;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on::ready::begin::OPER} */\n        case OPER_SIG: {\n            /*.${SMs::Calc::SM::on::ready::begin::OPER::[e->key=='-']} */\n            if (Q_PAR(me) == KEY_MINUS) {\n                status_ = Q_TRAN(&Calc_negated1);\n            }\n            /*.${SMs::Calc::SM::on::ready::begin::OPER::[else]} */\n            else {\n                status_ = Q_HANDLED();\n            }\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Calc_ready);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${SMs::Calc::SM::on::operand1} ..........................................*/\nstatic QState Calc_operand1(Calc * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${SMs::Calc::SM::on::operand1} */\n        case Q_ENTRY_SIG: {\n            BSP_message(\"operand1-ENTRY;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand1} */\n        case Q_EXIT_SIG: {\n            BSP_message(\"operand1-EXIT;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand1::CE} */\n        case CE_SIG: {\n            BSP_clear();\n            status_ = Q_TRAN(&Calc_begin);\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand1::OPER} */\n        case OPER_SIG: {\n            me->operand1 = BSP_get_value();\n            me->operator = Q_PAR(me);\n            status_ = Q_TRAN(&Calc_opEntered);\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand1::EQUALS} */\n        case EQUALS_SIG: {\n            status_ = Q_TRAN(&Calc_result);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Calc_on);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${SMs::Calc::SM::on::operand1::zero1} ...................................*/\nstatic QState Calc_zero1(Calc * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${SMs::Calc::SM::on::operand1::zero1} */\n        case Q_ENTRY_SIG: {\n            BSP_message(\"zero1-ENTRY;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand1::zero1} */\n        case Q_EXIT_SIG: {\n            BSP_message(\"zero1-EXIT;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand1::zero1::DIGIT_0} */\n        case DIGIT_0_SIG: {\n            ;\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand1::zero1::DIGIT_1_9} */\n        case DIGIT_1_9_SIG: {\n            BSP_insert(Q_PAR(me));\n            status_ = Q_TRAN(&Calc_int1);\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand1::zero1::POINT} */\n        case POINT_SIG: {\n            BSP_insert((int)'0');\n            BSP_insert((int)'.');\n            status_ = Q_TRAN(&Calc_frac1);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Calc_operand1);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${SMs::Calc::SM::on::operand1::int1} ....................................*/\nstatic QState Calc_int1(Calc * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${SMs::Calc::SM::on::operand1::int1} */\n        case Q_ENTRY_SIG: {\n            BSP_message(\"int1-ENTRY;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand1::int1} */\n        case Q_EXIT_SIG: {\n            BSP_message(\"int1-EXIT;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand1::int1::POINT} */\n        case POINT_SIG: {\n            BSP_insert((int)'.');\n            status_ = Q_TRAN(&Calc_frac1);\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand1::int1::DIGIT_0, DIGIT_1_9} */\n        case DIGIT_0_SIG: /* intentionally fall through */\n        case DIGIT_1_9_SIG: {\n            BSP_insert(Q_PAR(me));\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Calc_operand1);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${SMs::Calc::SM::on::operand1::frac1} ...................................*/\nstatic QState Calc_frac1(Calc * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${SMs::Calc::SM::on::operand1::frac1} */\n        case Q_ENTRY_SIG: {\n            BSP_message(\"frac1-ENTRY;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand1::frac1} */\n        case Q_EXIT_SIG: {\n            BSP_message(\"frac1-EXIT;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand1::frac1::POINT} */\n        case POINT_SIG: {\n            ;\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand1::frac1::DIGIT_0, DIGIT_1_9} */\n        case DIGIT_0_SIG: /* intentionally fall through */\n        case DIGIT_1_9_SIG: {\n            BSP_insert(Q_PAR(me));\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Calc_operand1);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${SMs::Calc::SM::on::operand1::negated1} ................................*/\nstatic QState Calc_negated1(Calc * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${SMs::Calc::SM::on::operand1::negated1} */\n        case Q_ENTRY_SIG: {\n            BSP_message(\"negated1-ENTRY;\");\n            BSP_negate();\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand1::negated1} */\n        case Q_EXIT_SIG: {\n            BSP_message(\"negated1-EXIT;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand1::negated1::DIGIT_0} */\n        case DIGIT_0_SIG: {\n            BSP_insert(Q_PAR(me));\n            status_ = Q_TRAN(&Calc_zero1);\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand1::negated1::DIGIT_1_9} */\n        case DIGIT_1_9_SIG: {\n            BSP_insert(Q_PAR(me));\n            status_ = Q_TRAN(&Calc_int1);\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand1::negated1::POINT} */\n        case POINT_SIG: {\n            BSP_insert(Q_PAR(me));\n            status_ = Q_TRAN(&Calc_frac1);\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand1::negated1::OPER} */\n        case OPER_SIG: {\n            /*.${SMs::Calc::SM::on::operand1::negated1::OPER::[e->key=='-']} */\n            if (Q_PAR(me) == KEY_MINUS) {\n                ;\n                status_ = Q_HANDLED();\n            }\n            /*.${SMs::Calc::SM::on::operand1::negated1::OPER::[else]} */\n            else {\n                status_ = Q_HANDLED();\n            }\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Calc_operand1);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${SMs::Calc::SM::on::opEntered} .........................................*/\nstatic QState Calc_opEntered(Calc * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${SMs::Calc::SM::on::opEntered} */\n        case Q_ENTRY_SIG: {\n            BSP_message(\"opEntered-ENTRY;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on::opEntered} */\n        case Q_EXIT_SIG: {\n            BSP_message(\"opEntered-EXIT;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on::opEntered::DIGIT_0} */\n        case DIGIT_0_SIG: {\n            BSP_clear();\n            status_ = Q_TRAN(&Calc_zero2);\n            break;\n        }\n        /*.${SMs::Calc::SM::on::opEntered::DIGIT_1_9} */\n        case DIGIT_1_9_SIG: {\n            BSP_clear();\n            BSP_insert(Q_PAR(me));\n            status_ = Q_TRAN(&Calc_int2);\n            break;\n        }\n        /*.${SMs::Calc::SM::on::opEntered::POINT} */\n        case POINT_SIG: {\n            BSP_clear();\n            BSP_insert((int)'0');\n            BSP_insert((int)'.');\n            status_ = Q_TRAN(&Calc_frac2);\n            break;\n        }\n        /*.${SMs::Calc::SM::on::opEntered::OPER} */\n        case OPER_SIG: {\n            /*.${SMs::Calc::SM::on::opEntered::OPER::[e->key=='-']} */\n            if (Q_PAR(me) == KEY_MINUS) {\n                status_ = Q_TRAN(&Calc_negated2);\n            }\n            /*.${SMs::Calc::SM::on::opEntered::OPER::[else]} */\n            else {\n                status_ = Q_HANDLED();\n            }\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Calc_on);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${SMs::Calc::SM::on::operand2} ..........................................*/\nstatic QState Calc_operand2(Calc * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${SMs::Calc::SM::on::operand2} */\n        case Q_ENTRY_SIG: {\n            BSP_message(\"operand2-ENTRY;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand2} */\n        case Q_EXIT_SIG: {\n            BSP_message(\"operand2-EXIT;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand2::CE} */\n        case CE_SIG: {\n            BSP_clear();\n            status_ = Q_TRAN(&Calc_opEntered);\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand2::EQUALS} */\n        case EQUALS_SIG: {\n            /*.${SMs::Calc::SM::on::operand2::EQUALS::[BSP_eval()]} */\n            if (BSP_eval(me->operand1, me->operator, BSP_get_value())) {\n                status_ = Q_TRAN(&Calc_result);\n            }\n            /*.${SMs::Calc::SM::on::operand2::EQUALS::[else]} */\n            else {\n                status_ = Q_TRAN(&Calc_error);\n            }\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand2::OPER} */\n        case OPER_SIG: {\n            /*.${SMs::Calc::SM::on::operand2::OPER::[BSP_eval()]} */\n            if (BSP_eval(me->operand1, me->operator, BSP_get_value())) {\n                me->operand1 = BSP_get_value();\n                status_ = Q_TRAN(&Calc_opEntered);\n            }\n            /*.${SMs::Calc::SM::on::operand2::OPER::[else]} */\n            else {\n                status_ = Q_TRAN(&Calc_error);\n            }\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Calc_on);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${SMs::Calc::SM::on::operand2::zero2} ...................................*/\nstatic QState Calc_zero2(Calc * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${SMs::Calc::SM::on::operand2::zero2} */\n        case Q_ENTRY_SIG: {\n            BSP_message(\"zero2-ENTRY;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand2::zero2} */\n        case Q_EXIT_SIG: {\n            BSP_message(\"zero2-EXIT;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand2::zero2::DIGIT_0} */\n        case DIGIT_0_SIG: {\n            ;\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand2::zero2::DIGIT_1_9} */\n        case DIGIT_1_9_SIG: {\n            BSP_insert(Q_PAR(me));\n            status_ = Q_TRAN(&Calc_int2);\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand2::zero2::POINT} */\n        case POINT_SIG: {\n            BSP_insert((int)'0');\n            BSP_insert((int)'.');\n            status_ = Q_TRAN(&Calc_frac2);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Calc_operand2);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${SMs::Calc::SM::on::operand2::int2} ....................................*/\nstatic QState Calc_int2(Calc * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${SMs::Calc::SM::on::operand2::int2} */\n        case Q_ENTRY_SIG: {\n            BSP_message(\"int2-ENTRY;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand2::int2} */\n        case Q_EXIT_SIG: {\n            BSP_message(\"int2-EXIT;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand2::int2::POINT} */\n        case POINT_SIG: {\n            BSP_insert((int)'.');\n            status_ = Q_TRAN(&Calc_frac2);\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand2::int2::DIGIT_0, DIGIT_1_9} */\n        case DIGIT_0_SIG: /* intentionally fall through */\n        case DIGIT_1_9_SIG: {\n            BSP_insert(Q_PAR(me));\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Calc_operand2);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${SMs::Calc::SM::on::operand2::frac2} ...................................*/\nstatic QState Calc_frac2(Calc * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${SMs::Calc::SM::on::operand2::frac2} */\n        case Q_ENTRY_SIG: {\n            BSP_message(\"frac2-ENTRY;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand2::frac2} */\n        case Q_EXIT_SIG: {\n            BSP_message(\"frac2-EXIT;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand2::frac2::POINT} */\n        case POINT_SIG: {\n            ;\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand2::frac2::DIGIT_0, DIGIT_1_9} */\n        case DIGIT_0_SIG: /* intentionally fall through */\n        case DIGIT_1_9_SIG: {\n            BSP_insert(Q_PAR(me));\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Calc_operand2);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${SMs::Calc::SM::on::operand2::negated2} ................................*/\nstatic QState Calc_negated2(Calc * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${SMs::Calc::SM::on::operand2::negated2} */\n        case Q_ENTRY_SIG: {\n            BSP_message(\"negated2-ENTRY;\");\n            BSP_negate();\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand2::negated2} */\n        case Q_EXIT_SIG: {\n            BSP_message(\"negated2-EXIT;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand2::negated2::DIGIT_0} */\n        case DIGIT_0_SIG: {\n            BSP_insert(Q_PAR(me));\n            status_ = Q_TRAN(&Calc_zero2);\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand2::negated2::DIGIT_1_9} */\n        case DIGIT_1_9_SIG: {\n            BSP_insert(Q_PAR(me));\n            status_ = Q_TRAN(&Calc_int2);\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand2::negated2::POINT} */\n        case POINT_SIG: {\n            BSP_insert(Q_PAR(me));\n            status_ = Q_TRAN(&Calc_frac2);\n            break;\n        }\n        /*.${SMs::Calc::SM::on::operand2::negated2::OPER} */\n        case OPER_SIG: {\n            /*.${SMs::Calc::SM::on::operand2::negated2::OPER::[e->key=='-']} */\n            if (Q_PAR(me) == KEY_MINUS) {\n                ;\n                status_ = Q_HANDLED();\n            }\n            /*.${SMs::Calc::SM::on::operand2::negated2::OPER::[else]} */\n            else {\n                status_ = Q_HANDLED();\n            }\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Calc_operand2);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${SMs::Calc::SM::final} .................................................*/\nstatic QState Calc_final(Calc * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${SMs::Calc::SM::final} */\n        case Q_ENTRY_SIG: {\n            BSP_message(\"final-ENTRY;\");\n            BSP_exit();\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${SMs::Calc} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/workstation/calc/calc.h",
    "content": "/*.$file${.::calc.h} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: calc.qm\n* File:  ${.::calc.h}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::calc.h} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#ifndef CALC_H\n#define CALC_H\n\nenum CalcSignals {\n    C_SIG = Q_USER_SIG,\n    CE_SIG,\n    DIGIT_0_SIG,\n    DIGIT_1_9_SIG,\n    POINT_SIG,\n    OPER_SIG,\n    EQUALS_SIG,\n    OFF_SIG\n};\n\n/*.$declare${SMs::Calc_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${SMs::Calc_ctor} .......................................................*/\nvoid Calc_ctor(void);\n/*.$enddecl${SMs::Calc_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\nextern QHsm * const the_calc;  /* \"opaque\" pointer to calculator HSM */\n\n#endif /* CALC_H */"
  },
  {
    "path": "examples/workstation/calc/calc.qm",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<model version=\"4.6.0\" links=\"1\">\n <documentation>Calc is the model of the Calculator described in Chapter 4 of PSiCC2</documentation>\n <!--${qpn}-->\n <framework name=\"qpn\"/>\n <!--${SMs}-->\n <package name=\"SMs\" stereotype=\"0x02\">\n  <!--${SMs::Calc}-->\n  <class name=\"Calc\" superclass=\"qpn::QHsm\">\n   <documentation>Calculator state machine</documentation>\n   <!--${SMs::Calc::operand1}-->\n   <attribute name=\"operand1\" type=\"double\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${SMs::Calc::operator}-->\n   <attribute name=\"operator\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${SMs::Calc::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${SMs::Calc::SM::initial}-->\n    <initial target=\"../1\">\n     <action>BSP_clear();</action>\n     <initial_glyph conn=\"2,2,5,1,80,4,6\">\n      <action box=\"1,-2,13,4\"/>\n     </initial_glyph>\n    </initial>\n    <!--${SMs::Calc::SM::on}-->\n    <state name=\"on\">\n     <entry>BSP_message(&quot;on-ENTRY;&quot;);</entry>\n     <exit>BSP_message(&quot;on-EXIT;&quot;);</exit>\n     <!--${SMs::Calc::SM::on::initial}-->\n     <initial target=\"../4\">\n      <action>BSP_message(&quot;on-INIT;&quot;);</action>\n      <initial_glyph conn=\"15,9,5,1,37,9,-2\">\n       <action box=\"1,0,5,2\"/>\n      </initial_glyph>\n     </initial>\n     <!--${SMs::Calc::SM::on::C}-->\n     <tran trig=\"C\" target=\"..\">\n      <action>BSP_clear();</action>\n      <tran_glyph conn=\"2,12,3,1,86\">\n       <action box=\"0,-2,4,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${SMs::Calc::SM::on::OFF}-->\n     <tran trig=\"OFF\" target=\"../../2\">\n      <tran_glyph conn=\"2,14,3,1,88,99,-71\">\n       <action box=\"0,0,5,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${SMs::Calc::SM::on::error}-->\n     <state name=\"error\">\n      <entry>BSP_message(&quot;error-ENTRY;&quot;);</entry>\n      <exit>BSP_message(&quot;error-EXIT;&quot;);</exit>\n      <state_glyph node=\"11,66,9,8\">\n       <entry box=\"1,2,5,2\"/>\n       <exit box=\"1,4,5,2\"/>\n      </state_glyph>\n     </state>\n     <!--${SMs::Calc::SM::on::ready}-->\n     <state name=\"ready\">\n      <entry>BSP_message(&quot;ready-ENTRY;&quot;);</entry>\n      <exit>BSP_message(&quot;ready-EXIT;&quot;);</exit>\n      <!--${SMs::Calc::SM::on::ready::initial}-->\n      <initial target=\"../6\">\n       <action>BSP_message(&quot;ready-INIT;&quot;);</action>\n       <initial_glyph conn=\"18,20,5,0,20,2\">\n        <action box=\"0,-2,6,2\"/>\n       </initial_glyph>\n      </initial>\n      <!--${SMs::Calc::SM::on::ready::DIGIT_0}-->\n      <tran trig=\"DIGIT_0\" target=\"../../5/3\">\n       <action>BSP_clear();</action>\n       <tran_glyph conn=\"18,34,2,0,8,2,2\">\n        <action box=\"1,0,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${SMs::Calc::SM::on::ready::DIGIT_1_9}-->\n      <tran trig=\"DIGIT_1_9\" target=\"../../5/4\">\n       <action>BSP_clear();\nBSP_insert(Q_PAR(me));</action>\n       <tran_glyph conn=\"32,34,2,0,8,2,2\">\n        <action box=\"1,0,9,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${SMs::Calc::SM::on::ready::POINT}-->\n      <tran trig=\"POINT\" target=\"../../5/5\">\n       <action>BSP_clear();\nBSP_insert((int)'0');\nBSP_insert((int)'.');</action>\n       <tran_glyph conn=\"46,34,2,0,4,4,6\">\n        <action box=\"0,0,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${SMs::Calc::SM::on::ready::OPER}-->\n      <tran trig=\"OPER\" target=\"../../6\">\n       <action>me-&gt;operand1 = BSP_get_value();\nme-&gt;operator = Q_PAR(me);</action>\n       <tran_glyph conn=\"50,20,1,1,36,50,-36\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${SMs::Calc::SM::on::ready::result}-->\n      <state name=\"result\">\n       <entry>BSP_message(&quot;result-ENTRY;&quot;);</entry>\n       <exit>BSP_message(&quot;result-EXIT;&quot;);</exit>\n       <state_glyph node=\"14,22,10,10\">\n        <entry box=\"1,2,5,2\"/>\n        <exit box=\"1,4,5,2\"/>\n       </state_glyph>\n      </state>\n      <!--${SMs::Calc::SM::on::ready::begin}-->\n      <state name=\"begin\">\n       <entry>BSP_message(&quot;begin-ENTRY;&quot;);</entry>\n       <exit>BSP_message(&quot;begin-EXIT;&quot;);</exit>\n       <!--${SMs::Calc::SM::on::ready::begin::OPER}-->\n       <tran trig=\"OPER\">\n        <!--${SMs::Calc::SM::on::ready::begin::OPER::[e->key=='-']}-->\n        <choice target=\"../../../../5/6\">\n         <guard brief=\"e-&gt;key == '-'\">Q_PAR(me) == KEY_MINUS</guard>\n         <choice_glyph conn=\"40,30,5,0,32,14\">\n          <action box=\"1,0,11,2\"/>\n         </choice_glyph>\n        </choice>\n        <!--${SMs::Calc::SM::on::ready::begin::OPER::[else]}-->\n        <choice>\n         <guard>else</guard>\n         <choice_glyph conn=\"40,30,4,-1,-4,4\">\n          <action box=\"1,-3,6,2\"/>\n         </choice_glyph>\n        </choice>\n        <tran_glyph conn=\"30,30,3,-1,10\">\n         <action box=\"0,-2,6,2\"/>\n        </tran_glyph>\n       </tran>\n       <state_glyph node=\"30,22,16,10\">\n        <entry box=\"1,2,5,2\"/>\n        <exit box=\"1,4,5,2\"/>\n       </state_glyph>\n      </state>\n      <state_glyph node=\"8,16,42,18\">\n       <entry box=\"1,2,5,2\"/>\n       <exit box=\"1,4,5,2\"/>\n      </state_glyph>\n     </state>\n     <!--${SMs::Calc::SM::on::operand1}-->\n     <state name=\"operand1\">\n      <entry>BSP_message(&quot;operand1-ENTRY;&quot;);</entry>\n      <exit>BSP_message(&quot;operand1-EXIT;&quot;);</exit>\n      <!--${SMs::Calc::SM::on::operand1::CE}-->\n      <tran trig=\"CE\" target=\"../../4/6\">\n       <action>BSP_clear();</action>\n       <tran_glyph conn=\"78,40,0,1,-16,-32\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${SMs::Calc::SM::on::operand1::OPER}-->\n      <tran trig=\"OPER\" target=\"../../6\">\n       <action>me-&gt;operand1 = BSP_get_value();\nme-&gt;operator = Q_PAR(me);</action>\n       <tran_glyph conn=\"56,64,2,1,4,-6\">\n        <action box=\"-5,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${SMs::Calc::SM::on::operand1::EQUALS}-->\n      <tran trig=\"EQUALS\" target=\"../../4/5\">\n       <tran_glyph conn=\"10,40,0,3,-14,4\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${SMs::Calc::SM::on::operand1::zero1}-->\n      <state name=\"zero1\">\n       <entry>BSP_message(&quot;zero1-ENTRY;&quot;);</entry>\n       <exit>BSP_message(&quot;zero1-EXIT;&quot;);</exit>\n       <!--${SMs::Calc::SM::on::operand1::zero1::DIGIT_0}-->\n       <tran trig=\"DIGIT_0\">\n        <action>;</action>\n        <tran_glyph conn=\"12,55,3,-1,10\">\n         <action box=\"0,-2,7,2\"/>\n        </tran_glyph>\n       </tran>\n       <!--${SMs::Calc::SM::on::operand1::zero1::DIGIT_1_9}-->\n       <tran trig=\"DIGIT_1_9\" target=\"../../4\">\n        <action>BSP_insert(Q_PAR(me));</action>\n        <tran_glyph conn=\"12,52,3,3,16,-6,2\">\n         <action box=\"0,-2,9,2\"/>\n        </tran_glyph>\n       </tran>\n       <!--${SMs::Calc::SM::on::operand1::zero1::POINT}-->\n       <tran trig=\"POINT\" target=\"../../5\">\n        <action>BSP_insert((int)'0');\nBSP_insert((int)'.');</action>\n        <tran_glyph conn=\"18,57,2,2,2,38,-2\">\n         <action box=\"1,0,6,2\"/>\n        </tran_glyph>\n       </tran>\n       <state_glyph node=\"12,44,14,13\">\n        <entry box=\"1,2,5,2\"/>\n        <exit box=\"1,4,5,2\"/>\n       </state_glyph>\n      </state>\n      <!--${SMs::Calc::SM::on::operand1::int1}-->\n      <state name=\"int1\">\n       <entry>BSP_message(&quot;int1-ENTRY;&quot;);</entry>\n       <exit>BSP_message(&quot;int1-EXIT;&quot;);</exit>\n       <!--${SMs::Calc::SM::on::operand1::int1::POINT}-->\n       <tran trig=\"POINT\" target=\"../../5\">\n        <action>BSP_insert((int)'.');</action>\n        <tran_glyph conn=\"30,52,3,3,16,-6,2\">\n         <action box=\"0,-2,6,2\"/>\n        </tran_glyph>\n       </tran>\n       <!--${SMs::Calc::SM::on::operand1::int1::DIGIT_0, DIGIT_1_9}-->\n       <tran trig=\"DIGIT_0, DIGIT_1_9\">\n        <action>BSP_insert(Q_PAR(me));</action>\n        <tran_glyph conn=\"30,55,3,-1,10\">\n         <action box=\"0,-2,14,2\"/>\n        </tran_glyph>\n       </tran>\n       <state_glyph node=\"30,44,14,13\">\n        <entry box=\"1,2,5,2\"/>\n        <exit box=\"1,4,5,2\"/>\n       </state_glyph>\n      </state>\n      <!--${SMs::Calc::SM::on::operand1::frac1}-->\n      <state name=\"frac1\">\n       <entry>BSP_message(&quot;frac1-ENTRY;&quot;);</entry>\n       <exit>BSP_message(&quot;frac1-EXIT;&quot;);</exit>\n       <!--${SMs::Calc::SM::on::operand1::frac1::POINT}-->\n       <tran trig=\"POINT\">\n        <action>;</action>\n        <tran_glyph conn=\"48,55,3,-1,10\">\n         <action box=\"0,-2,6,2\"/>\n        </tran_glyph>\n       </tran>\n       <!--${SMs::Calc::SM::on::operand1::frac1::DIGIT_0, DIGIT_1_9}-->\n       <tran trig=\"DIGIT_0, DIGIT_1_9\">\n        <action>BSP_insert(Q_PAR(me));</action>\n        <tran_glyph conn=\"48,52,3,-1,10\">\n         <action box=\"0,-2,15,2\"/>\n        </tran_glyph>\n       </tran>\n       <state_glyph node=\"48,44,14,13\">\n        <entry box=\"1,2,5,2\"/>\n        <exit box=\"1,4,5,2\"/>\n       </state_glyph>\n      </state>\n      <!--${SMs::Calc::SM::on::operand1::negated1}-->\n      <state name=\"negated1\">\n       <entry>BSP_message(&quot;negated1-ENTRY;&quot;);\nBSP_negate();</entry>\n       <exit>BSP_message(&quot;negated1-EXIT;&quot;);</exit>\n       <!--${SMs::Calc::SM::on::operand1::negated1::DIGIT_0}-->\n       <tran trig=\"DIGIT_0\" target=\"../../3\">\n        <action>BSP_insert(Q_PAR(me));</action>\n        <tran_glyph conn=\"66,57,2,2,3,-51,-3\">\n         <action box=\"0,0,6,2\"/>\n        </tran_glyph>\n       </tran>\n       <!--${SMs::Calc::SM::on::operand1::negated1::DIGIT_1_9}-->\n       <tran trig=\"DIGIT_1_9\" target=\"../../4\">\n        <action>BSP_insert(Q_PAR(me));</action>\n        <tran_glyph conn=\"73,57,2,2,4,-39,-4\">\n         <action box=\"0,0,9,2\"/>\n        </tran_glyph>\n       </tran>\n       <!--${SMs::Calc::SM::on::operand1::negated1::POINT}-->\n       <tran trig=\"POINT\" target=\"../../5\">\n        <action>BSP_insert(Q_PAR(me));</action>\n        <tran_glyph conn=\"81,57,2,2,5,-23,-5\">\n         <action box=\"1,0,6,2\"/>\n        </tran_glyph>\n       </tran>\n       <!--${SMs::Calc::SM::on::operand1::negated1::OPER}-->\n       <tran trig=\"OPER\">\n        <!--${SMs::Calc::SM::on::operand1::negated1::OPER::[else]}-->\n        <choice>\n         <guard>else</guard>\n         <choice_glyph conn=\"74,52,4,-1,-4,5\">\n          <action box=\"1,-4,6,2\"/>\n         </choice_glyph>\n        </choice>\n        <!--${SMs::Calc::SM::on::operand1::negated1::OPER::[e->key=='-']}-->\n        <choice>\n         <guard brief=\"e-&gt;key == '-'\">Q_PAR(me) == KEY_MINUS</guard>\n         <action>;</action>\n         <choice_glyph conn=\"74,52,5,-1,5\">\n          <action box=\"1,0,11,2\"/>\n         </choice_glyph>\n        </choice>\n        <tran_glyph conn=\"64,52,3,-1,10\">\n         <action box=\"0,-2,6,2\"/>\n        </tran_glyph>\n       </tran>\n       <state_glyph node=\"64,44,18,13\">\n        <entry box=\"1,2,5,2\"/>\n        <exit box=\"1,4,5,2\"/>\n       </state_glyph>\n      </state>\n      <state_glyph node=\"8,40,76,24\">\n       <entry box=\"1,2,5,2\"/>\n       <exit box=\"1,4,5,2\"/>\n      </state_glyph>\n     </state>\n     <!--${SMs::Calc::SM::on::opEntered}-->\n     <state name=\"opEntered\">\n      <entry>BSP_message(&quot;opEntered-ENTRY;&quot;);</entry>\n      <exit>BSP_message(&quot;opEntered-EXIT;&quot;);</exit>\n      <!--${SMs::Calc::SM::on::opEntered::DIGIT_0}-->\n      <tran trig=\"DIGIT_0\" target=\"../../7/3\">\n       <action>BSP_clear();</action>\n       <tran_glyph conn=\"27,80,2,0,2,-5,6\">\n        <action box=\"1,0,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${SMs::Calc::SM::on::opEntered::DIGIT_1_9}-->\n      <tran trig=\"DIGIT_1_9\" target=\"../../7/4\">\n       <action>BSP_clear();\nBSP_insert(Q_PAR(me));</action>\n       <tran_glyph conn=\"34,80,2,0,8\">\n        <action box=\"1,0,9,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${SMs::Calc::SM::on::opEntered::POINT}-->\n      <tran trig=\"POINT\" target=\"../../7/5\">\n       <action>BSP_clear();\nBSP_insert((int)'0');\nBSP_insert((int)'.');</action>\n       <tran_glyph conn=\"46,80,2,0,3,4,5\">\n        <action box=\"0,0,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${SMs::Calc::SM::on::opEntered::OPER}-->\n      <tran trig=\"OPER\">\n       <!--${SMs::Calc::SM::on::opEntered::OPER::[e->key=='-']}-->\n       <choice target=\"../../../7/6\">\n        <guard brief=\"e-&gt;key == '-'\">Q_PAR(me) == KEY_MINUS</guard>\n        <choice_glyph conn=\"34,76,5,0,38,12\">\n         <action box=\"1,0,11,2\"/>\n        </choice_glyph>\n       </choice>\n       <!--${SMs::Calc::SM::on::opEntered::OPER::[else]}-->\n       <choice>\n        <guard>else</guard>\n        <choice_glyph conn=\"34,76,4,-1,-4,4\">\n         <action box=\"1,-3,6,2\"/>\n        </choice_glyph>\n       </choice>\n       <tran_glyph conn=\"26,76,3,-1,8\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"26,66,24,14\">\n       <entry box=\"1,2,5,2\"/>\n       <exit box=\"1,4,5,2\"/>\n      </state_glyph>\n     </state>\n     <!--${SMs::Calc::SM::on::operand2}-->\n     <state name=\"operand2\">\n      <entry>BSP_message(&quot;operand2-ENTRY;&quot;);</entry>\n      <exit>BSP_message(&quot;operand2-EXIT;&quot;);</exit>\n      <!--${SMs::Calc::SM::on::operand2::CE}-->\n      <tran trig=\"CE\" target=\"../../6\">\n       <action>BSP_clear();</action>\n       <tran_glyph conn=\"78,84,0,1,-12,-28\">\n        <action box=\"0,-4,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${SMs::Calc::SM::on::operand2::EQUALS}-->\n      <tran trig=\"EQUALS\">\n       <!--${SMs::Calc::SM::on::operand2::EQUALS::[else]}-->\n       <choice target=\"../../../3\">\n        <guard>else</guard>\n        <choice_glyph conn=\"4,68,5,3,7\">\n         <action box=\"1,0,6,2\"/>\n        </choice_glyph>\n       </choice>\n       <!--${SMs::Calc::SM::on::operand2::EQUALS::[BSP_eval()]}-->\n       <choice target=\"../../../4/5\">\n        <guard brief=\"BSP_eval()\">BSP_eval(me-&gt;operand1, me-&gt;operator, BSP_get_value())</guard>\n        <choice_glyph conn=\"4,68,4,3,-44,10\">\n         <action box=\"0,-4,10,2\"/>\n        </choice_glyph>\n       </choice>\n       <tran_glyph conn=\"8,100,3,-1,-4,-32\">\n        <action box=\"-4,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${SMs::Calc::SM::on::operand2::OPER}-->\n      <tran trig=\"OPER\">\n       <!--${SMs::Calc::SM::on::operand2::OPER::[else]}-->\n       <choice target=\"../../../3\">\n        <guard>else</guard>\n        <choice_glyph conn=\"6,77,4,3,-5,5\">\n         <action box=\"0,-4,6,2\"/>\n        </choice_glyph>\n       </choice>\n       <!--${SMs::Calc::SM::on::operand2::OPER::[BSP_eval()]}-->\n       <choice target=\"../../../6\">\n        <guard brief=\"BSP_eval()\">BSP_eval(me-&gt;operand1, me-&gt;operator, BSP_get_value())</guard>\n        <action>me-&gt;operand1 = BSP_get_value();</action>\n        <choice_glyph conn=\"6,77,5,3,16,-5,4\">\n         <action box=\"1,1,10,2\"/>\n        </choice_glyph>\n       </choice>\n       <tran_glyph conn=\"8,96,3,-1,-2,-19\">\n        <action box=\"-4,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${SMs::Calc::SM::on::operand2::zero2}-->\n      <state name=\"zero2\">\n       <entry>BSP_message(&quot;zero2-ENTRY;&quot;);</entry>\n       <exit>BSP_message(&quot;zero2-EXIT;&quot;);</exit>\n       <!--${SMs::Calc::SM::on::operand2::zero2::DIGIT_0}-->\n       <tran trig=\"DIGIT_0\">\n        <action>;</action>\n        <tran_glyph conn=\"12,99,3,-1,10\">\n         <action box=\"0,-2,7,2\"/>\n        </tran_glyph>\n       </tran>\n       <!--${SMs::Calc::SM::on::operand2::zero2::DIGIT_1_9}-->\n       <tran trig=\"DIGIT_1_9\" target=\"../../4\">\n        <action>BSP_insert(Q_PAR(me));</action>\n        <tran_glyph conn=\"12,96,3,3,16,-6,2\">\n         <action box=\"0,-2,9,2\"/>\n        </tran_glyph>\n       </tran>\n       <!--${SMs::Calc::SM::on::operand2::zero2::POINT}-->\n       <tran trig=\"POINT\" target=\"../../5\">\n        <action>BSP_insert((int)'0');\nBSP_insert((int)'.');</action>\n        <tran_glyph conn=\"18,101,2,2,2,38,-2\">\n         <action box=\"1,0,6,2\"/>\n        </tran_glyph>\n       </tran>\n       <state_glyph node=\"12,88,14,13\">\n        <entry box=\"1,2,5,2\"/>\n        <exit box=\"1,4,5,2\"/>\n       </state_glyph>\n      </state>\n      <!--${SMs::Calc::SM::on::operand2::int2}-->\n      <state name=\"int2\">\n       <entry>BSP_message(&quot;int2-ENTRY;&quot;);</entry>\n       <exit>BSP_message(&quot;int2-EXIT;&quot;);</exit>\n       <!--${SMs::Calc::SM::on::operand2::int2::POINT}-->\n       <tran trig=\"POINT\" target=\"../../5\">\n        <action>BSP_insert((int)'.');</action>\n        <tran_glyph conn=\"30,96,3,3,16,-6,2\">\n         <action box=\"0,-2,6,2\"/>\n        </tran_glyph>\n       </tran>\n       <!--${SMs::Calc::SM::on::operand2::int2::DIGIT_0, DIGIT_1_9}-->\n       <tran trig=\"DIGIT_0, DIGIT_1_9\">\n        <action>BSP_insert(Q_PAR(me));</action>\n        <tran_glyph conn=\"30,99,3,-1,10\">\n         <action box=\"0,-2,14,2\"/>\n        </tran_glyph>\n       </tran>\n       <state_glyph node=\"30,88,14,13\">\n        <entry box=\"1,2,5,2\"/>\n        <exit box=\"1,4,5,2\"/>\n       </state_glyph>\n      </state>\n      <!--${SMs::Calc::SM::on::operand2::frac2}-->\n      <state name=\"frac2\">\n       <entry>BSP_message(&quot;frac2-ENTRY;&quot;);</entry>\n       <exit>BSP_message(&quot;frac2-EXIT;&quot;);</exit>\n       <!--${SMs::Calc::SM::on::operand2::frac2::POINT}-->\n       <tran trig=\"POINT\">\n        <action>;</action>\n        <tran_glyph conn=\"48,99,3,-1,10\">\n         <action box=\"0,-2,6,2\"/>\n        </tran_glyph>\n       </tran>\n       <!--${SMs::Calc::SM::on::operand2::frac2::DIGIT_0, DIGIT_1_9}-->\n       <tran trig=\"DIGIT_0, DIGIT_1_9\">\n        <action>BSP_insert(Q_PAR(me));</action>\n        <tran_glyph conn=\"48,96,3,-1,10\">\n         <action box=\"0,-2,15,2\"/>\n        </tran_glyph>\n       </tran>\n       <state_glyph node=\"48,88,14,13\">\n        <entry box=\"1,2,5,2\"/>\n        <exit box=\"1,4,5,2\"/>\n       </state_glyph>\n      </state>\n      <!--${SMs::Calc::SM::on::operand2::negated2}-->\n      <state name=\"negated2\">\n       <entry>BSP_message(&quot;negated2-ENTRY;&quot;);\nBSP_negate();</entry>\n       <exit>BSP_message(&quot;negated2-EXIT;&quot;);</exit>\n       <!--${SMs::Calc::SM::on::operand2::negated2::DIGIT_0}-->\n       <tran trig=\"DIGIT_0\" target=\"../../3\">\n        <action>BSP_insert(Q_PAR(me));</action>\n        <tran_glyph conn=\"66,101,2,2,3,-51,-3\">\n         <action box=\"0,0,6,2\"/>\n        </tran_glyph>\n       </tran>\n       <!--${SMs::Calc::SM::on::operand2::negated2::DIGIT_1_9}-->\n       <tran trig=\"DIGIT_1_9\" target=\"../../4\">\n        <action>BSP_insert(Q_PAR(me));</action>\n        <tran_glyph conn=\"73,101,2,2,4,-37,-4\">\n         <action box=\"0,0,9,2\"/>\n        </tran_glyph>\n       </tran>\n       <!--${SMs::Calc::SM::on::operand2::negated2::POINT}-->\n       <tran trig=\"POINT\" target=\"../../5\">\n        <action>BSP_insert(Q_PAR(me));</action>\n        <tran_glyph conn=\"80,101,2,2,5,-28,-5\">\n         <action box=\"1,0,6,2\"/>\n        </tran_glyph>\n       </tran>\n       <!--${SMs::Calc::SM::on::operand2::negated2::OPER}-->\n       <tran trig=\"OPER\">\n        <!--${SMs::Calc::SM::on::operand2::negated2::OPER::[else]}-->\n        <choice>\n         <guard>else</guard>\n         <choice_glyph conn=\"74,97,4,-1,-4,5\">\n          <action box=\"1,-4,6,2\"/>\n         </choice_glyph>\n        </choice>\n        <!--${SMs::Calc::SM::on::operand2::negated2::OPER::[e->key=='-']}-->\n        <choice>\n         <guard brief=\"e-&gt;key == '-'\">Q_PAR(me) == KEY_MINUS</guard>\n         <action>;</action>\n         <choice_glyph conn=\"74,97,5,-1,5\">\n          <action box=\"1,0,11,2\"/>\n         </choice_glyph>\n        </choice>\n        <tran_glyph conn=\"64,97,3,-1,10\">\n         <action box=\"0,-2,6,2\"/>\n        </tran_glyph>\n       </tran>\n       <state_glyph node=\"64,88,18,13\">\n        <entry box=\"1,2,5,2\"/>\n        <exit box=\"1,4,5,2\"/>\n       </state_glyph>\n      </state>\n      <state_glyph node=\"8,84,76,24\">\n       <entry box=\"1,2,5,2\"/>\n       <exit box=\"1,4,5,2\"/>\n      </state_glyph>\n     </state>\n     <state_glyph node=\"2,4,86,106\">\n      <entry box=\"1,2,5,2\"/>\n      <exit box=\"1,4,5,2\"/>\n     </state_glyph>\n    </state>\n    <!--${SMs::Calc::SM::final}-->\n    <state name=\"final\">\n     <entry>BSP_message(&quot;final-ENTRY;&quot;);\nBSP_exit();</entry>\n     <state_glyph node=\"2,111,17,6\">\n      <entry box=\"1,2,5,2\"/>\n     </state_glyph>\n    </state>\n    <state_diagram size=\"92,119\"/>\n   </statechart>\n  </class>\n  <!--${SMs::Calc_ctor}-->\n  <operation name=\"Calc_ctor\" type=\"void\" visibility=\"0x00\" properties=\"0x00\">\n   <documentation>constructor</documentation>\n   <code>Calc *me = &amp;l_calc;\nQHsm_ctor(&amp;me-&gt;super, Q_STATE_CAST(&amp;Calc_initial));</code>\n  </operation>\n </package>\n <!--${.}-->\n <directory name=\".\">\n  <!--${.::calc.h}-->\n  <file name=\"calc.h\">\n   <text>#ifndef CALC_H\n#define CALC_H\n\nenum CalcSignals {\n    C_SIG = Q_USER_SIG,\n    CE_SIG,\n    DIGIT_0_SIG,\n    DIGIT_1_9_SIG,\n    POINT_SIG,\n    OPER_SIG,\n    EQUALS_SIG,\n    OFF_SIG\n};\n\n$declare(SMs::Calc_ctor)\n\nextern QHsm * const the_calc;  /* &quot;opaque&quot; pointer to calculator HSM */\n\n#endif /* CALC_H */</text>\n  </file>\n  <!--${.::calc.c}-->\n  <file name=\"calc.c\">\n   <text>#include &quot;qpn.h&quot;   /* QP-nano */\n#include &quot;bsp.h&quot;   /* Board Support Package */\n#include &quot;calc.h&quot;  /* this applicatin */\n\n$declare(SMs::Calc)\n\nstatic Calc l_calc;    /* the only instance of the Calc class */\n\n/* global-scope definitions ---------------------------------------*/\nQHsm * const the_calc = &amp;l_calc.super; /* &quot;opaque&quot; pointer to HSM */\n\n$define(SMs::Calc_ctor)\n$define(SMs::Calc)</text>\n  </file>\n </directory>\n</model>\n"
  },
  {
    "path": "examples/workstation/calc/main.c",
    "content": "/*****************************************************************************\n* Product: calc1_sub Example\n* Last updated for version 6.4.0\n* Last updated on  2019-02-10\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"bsp.h\"\n#include \"calc.h\"\n\n#include \"safe_std.h\" /* portable \"safe\" <stdio.h>/<string.h> facilities */\n\nQ_DEFINE_THIS_FILE\n\n/*..........................................................................*/\nint main() {\n\n    QF_onStartup();\n\n    PRINTF_S(\"Calculator example, QP version: %s\\n\"\n           \"Press '0' .. '9'     to enter a digit\\n\"\n           \"Press '.'            to enter the decimal point\\n\"\n           \"Press '+'            to add\\n\"\n           \"Press '-'            to subtract or negate a number\\n\"\n           \"Press '*'            to multiply\\n\"\n           \"Press '/'            to divide\\n\"\n           \"Press '=' or <Enter> to get the result\\n\"\n           \"Press 'c' or 'C'     to Cancel\\n\"\n           \"Press 'e' or 'E'     to Cancel Entry\\n\"\n           \"Press <Esc>          to quit.\\n\\n\",\n           QP_VERSION_STR);\n\n    Calc_ctor(); /* explicitly instantiate the calculator object */\n    QHSM_INIT(the_calc); /* trigger initial transition */\n\n    for (;;) { /* event loop */\n        uint8_t sig;\n        uint8_t par;\n\n        BSP_display(); /* show the display */\n\n        PRINTF_S(\"%s\", \" : \");\n        par = (uint8_t)QF_consoleWaitForKey();\n        PRINTF_S(\"%s\", \" \");\n\n        switch (par) {\n            case 'c': /* intentionally fall through */\n            case 'C': {\n                sig = C_SIG;\n                break;\n            }\n            case 'e': /* intentionally fall through */\n            case 'E': {\n                sig = CE_SIG;\n                break;\n            }\n            case '0': {\n                sig = DIGIT_0_SIG;\n                break;\n            }\n            case '1': /* intentionally fall through */\n            case '2': /* intentionally fall through */\n            case '3': /* intentionally fall through */\n            case '4': /* intentionally fall through */\n            case '5': /* intentionally fall through */\n            case '6': /* intentionally fall through */\n            case '7': /* intentionally fall through */\n            case '8': /* intentionally fall through */\n            case '9': {\n                sig = DIGIT_1_9_SIG;\n                break;\n            }\n            case '.': {\n                sig = POINT_SIG;\n                break;\n            }\n            case '+': /* intentionally fall through */\n            case '-': /* intentionally fall through */\n            case '*': /* intentionally fall through */\n            case '/': {\n                sig = OPER_SIG;\n                break;\n            }\n            case '=': /* intentionally fall through */\n            case '\\r': { /* Enter key */\n                sig = EQUALS_SIG;\n                break;\n            }\n            case '\\33': { /* ESC key */\n                sig = OFF_SIG;\n                break;\n            }\n            default: {\n                sig = 0; /* invalid event */\n                break;\n            }\n        }\n\n        if (sig != 0) { /* valid event generated? */\n            Q_SIG(the_calc) = sig;\n            Q_PAR(the_calc) = par;\n            QHSM_DISPATCH(the_calc); /* dispatch event */\n        }\n    }\n    return 0;\n}\n"
  },
  {
    "path": "examples/workstation/calc/qpn_conf.h",
    "content": "/*****************************************************************************\n* Product: QP-nano configuration for the Calculator example\n* Last Updated for Version: 5.6.2\n* Date of the Last Update:  2016-04-05\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef QPN_CONF_H\n#define QPN_CONF_H\n\n#define Q_PARAM_SIZE            1U\n\n#endif  /* QPN_CONF_H */\n"
  },
  {
    "path": "examples/workstation/comp/Makefile",
    "content": "##############################################################################\n# Product: Makefile for QP-nano for Windows and POSIX *HOSTS*\n# Last updated for version 6.4.0\n# Last updated on  2019-01-09\n#\n#                    Q u a n t u m  L e a P s\n#                    ------------------------\n#                    Modern Embedded Software\n#\n# Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# https://www.state-machine.com\n# mailto:info@state-machine.com\n##############################################################################\n#\n# examples of invoking this Makefile:\n# building configurations: Debug (default), Release, and Spy\n# make\n# make CONF=rel\n#\n# cleaning configurations: Debug (default), Release, and Spy\n# make clean\n# make CONF=rel clean\n#\n# NOTE:\n# To use this Makefile on Windows, you will need the GNU make utility, which\n# is included in the QTools collection for Windows, see:\n#    http://sourceforge.net/projects/qpc/files/QTools/\n#\n\n#-----------------------------------------------------------------------------\n# project name:\n#\nPROJECT := comp\n\n#-----------------------------------------------------------------------------\n# project directories:\n#\n\n# list of all source directories used by this project\nVPATH := . \\\n\n# list of all include directories needed by this project\nINCLUDES := -I. \\\n\n# location of the QP-nano framework (if not provided in an env. variable)\nifeq ($(QPN),)\nQPN := ../../..\nendif\n\n#-----------------------------------------------------------------------------\n# project files:\n#\n\n# C source files...\nC_SRCS := \\\n\tbsp.c \\\n\tmain.c \\\n\talarm.c \\\n\tcomp.c\n\n# C++ source files...\nCPP_SRCS :=\n\nLIB_DIRS  :=\nLIBS      :=\n\n# defines...\nDEFINES   :=\n\nifeq (,$(CONF))\n\tCONF := dbg\nendif\n\n#-----------------------------------------------------------------------------\n# add QP-nano framework (depends on the OS this Makefile runs on):\n#\nifeq ($(OS),Windows_NT)\n\nQPN_PORT_DIR := $(QPN)/ports/win32-qv\n\nC_SRCS += \\\n\tqepn.c \\\n\tqfn_win32.c\n\nelse\n\nQPN_PORT_DIR := $(QPN)/ports/posix-qv\n\nC_SRCS += \\\n\tqepn.c \\\n\tqfn_posix.c\n\nLIBS += -lpthread\n\nendif\n\n#============================================================================\n# Typically you should not need to change anything below this line\n\nVPATH    += $(QPN)/src/qfn $(QPN_PORT_DIR)\nINCLUDES += -I$(QPN)/include -I$(QPN)/src -I$(QPN_PORT_DIR)\n\n#-----------------------------------------------------------------------------\n# GNU toolset:\n#\n# NOTE:\n# GNU toolset (MinGW) is included in the QTools collection for Windows, see:\n#     http://sourceforge.net/projects/qpc/files/QTools/\n# It is assumed that %QTOOLS%\\bin directory is added to the PATH\n#\nCC    := gcc\nCPP   := g++\nLINK  := gcc    # for C programs\n#LINK  := g++   # for C++ programs\n\n#-----------------------------------------------------------------------------\n# basic utilities (depends on the OS this Makefile runs on):\n#\nifeq ($(OS),Windows_NT)\n\tMKDIR      := mkdir\n\tRM         := rm\n\tTARGET_EXT := .exe\nelse ifeq ($(OSTYPE),cygwin)\n\tMKDIR      := mkdir -p\n\tRM         := rm -f\n\tTARGET_EXT := .exe\nelse\n\tMKDIR      := mkdir -p\n\tRM         := rm -f\n\tTARGET_EXT :=\nendif\n\n#-----------------------------------------------------------------------------\n# build configurations...\n\nifeq (rel, $(CONF)) # Release configuration ..................................\n\nBIN_DIR := build_rel\n# gcc options:\nCFLAGS  = -c -O3 -fno-pie -std=c99 -pedantic -Wall -Wextra -W \\\n\t$(INCLUDES) $(DEFINES) -DNDEBUG\n\nCPPFLAGS = -c -O3 -fno-pie -std=c++11 -pedantic -Wall -Wextra \\\n\t-fno-rtti -fno-exceptions \\\n\t$(INCLUDES) $(DEFINES) -DNDEBUG\n\nelse # default Debug configuration .........................................\n\nBIN_DIR := build\n\n# gcc options:\nCFLAGS  = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \\\n\t$(INCLUDES) $(DEFINES)\n\nCPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \\\n\t-fno-rtti -fno-exceptions \\\n\t$(INCLUDES) $(DEFINES)\n\nendif  # .....................................................................\n\nLINKFLAGS :=\n\n#-----------------------------------------------------------------------------\nC_OBJS       := $(patsubst %.c,%.o,   $(C_SRCS))\nCPP_OBJS     := $(patsubst %.cpp,%.o, $(CPP_SRCS))\n\nTARGET_EXE   := $(BIN_DIR)/$(PROJECT)$(TARGET_EXT)\nC_OBJS_EXT   := $(addprefix $(BIN_DIR)/, $(C_OBJS))\nC_DEPS_EXT   := $(patsubst %.o,%.d, $(C_OBJS_EXT))\nCPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))\nCPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))\n\n# create $(BIN_DIR) if it does not exist\nifeq (\"$(wildcard $(BIN_DIR))\",\"\")\n$(shell $(MKDIR) $(BIN_DIR))\nendif\n\n#-----------------------------------------------------------------------------\n# rules\n#\n\nall: $(TARGET_EXE)\n\n$(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)\n\t$(LINK) $(LINKFLAGS) $(LIB_DIRS) -o $@ $^ $(LIBS)\n\n$(BIN_DIR)/%.d : %.c\n\t$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@\n\n$(BIN_DIR)/%.d : %.cpp\n\t$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@\n\n$(BIN_DIR)/%.o : %.c\n\t$(CC) $(CFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.cpp\n\t$(CPP) $(CPPFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.rc\n\t$(RC) $(RCINCLUDES) -i $< -o $@\n\n# include dependency files only if our goal depends on their existence\nifneq ($(MAKECMDGOALS),clean)\n  ifneq ($(MAKECMDGOALS),show)\n-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)\n  endif\nendif\n\n.PHONY : clean show\n\nclean :\n\t-$(RM) $(BIN_DIR)/*.o \\\n\t$(BIN_DIR)/*.d \\\n\t$(TARGET_EXE)\n\nshow :\n\t@echo PROJECT      = $(PROJECT)\n\t@echo TARGET_EXE   = $(TARGET_EXE)\n\t@echo VPATH        = $(VPATH)\n\t@echo C_SRCS       = $(C_SRCS)\n\t@echo CPP_SRCS     = $(CPP_SRCS)\n\t@echo C_DEPS_EXT   = $(C_DEPS_EXT)\n\t@echo C_OBJS_EXT   = $(C_OBJS_EXT)\n\t@echo C_DEPS_EXT   = $(C_DEPS_EXT)\n\t@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)\n\t@echo CPP_OBJS_EXT = $(CPP_OBJS_EXT)\n\t@echo LIB_DIRS     = $(LIB_DIRS)\n\t@echo LIBS         = $(LIBS)\n\t@echo DEFINES      = $(DEFINES)\n\n"
  },
  {
    "path": "examples/workstation/comp/alarm.c",
    "content": "/*****************************************************************************\n* Product: Orthogonal Component state pattern example\n* Last updated for version 5.8.0\n* Last updated on  2016-11-06\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"bsp.h\"\n#include \"clock.h\"\n\n#include \"safe_std.h\" /* portable \"safe\" <stdio.h>/<string.h> facilities */\n\n/* HSM methods */\nstatic QState Alarm_initial(Alarm *me);\nstatic QState Alarm_on     (Alarm *me);\nstatic QState Alarm_off    (Alarm *me);\n\n/*..........................................................................*/\nvoid Alarm_ctor(Alarm * const me) {\n    QHsm_ctor(&me->super, Q_STATE_CAST(&Alarm_initial));\n}\n\n/* HSM definition ----------------------------------------------------------*/\nQState Alarm_initial(Alarm * const me) {\n    me->alarm_time = 12U*60U;\n    return Q_TRAN(&Alarm_off);\n}\n/*..........................................................................*/\nQState Alarm_off(Alarm * const me) {\n    QState status;\n    switch (Q_SIG(me)) {\n        case Q_ENTRY_SIG: {\n            /* while in the off state, the alarm is kept in decimal format */\n            me->alarm_time = (me->alarm_time/60U)*100U + me->alarm_time%60U;\n            PRINTF_S(\"*** Alarm OFF %02d:%02d\\n\",\n                     me->alarm_time/100U, me->alarm_time%100);\n            fflush(stdout);\n            status = Q_HANDLED();\n            break;\n        }\n        case Q_EXIT_SIG: {\n            /* upon exit, the alarm is converted to binary format */\n            me->alarm_time = (me->alarm_time/100U)*60U + me->alarm_time%100U;\n            status = Q_HANDLED();\n            break;\n        }\n        case ALARM_ON_SIG: {\n            /* alarm in range? */\n            if ((me->alarm_time / 100U < 24U) && (me->alarm_time % 100U < 60U)) {\n                status = Q_TRAN(&Alarm_on);\n            }\n            else { /* alarm out of range -- clear and don't transition */\n                me->alarm_time = 0U;\n                PRINTF_S(\"*** Alarm reset %02d:%02d\\n\",\n                         me->alarm_time/100U, me->alarm_time%100U);\n                status = Q_HANDLED();\n            }\n            break;\n        }\n        case ALARM_SET_SIG: {\n            /* while setting, the alarm is kept in decimal format */\n            me->alarm_time = (10U * me->alarm_time + Q_PAR(me)) % 10000U;\n            PRINTF_S(\"*** Alarm SET %02d:%02d\\n\",\n                     me->alarm_time/100U, me->alarm_time%100U);\n            fflush(stdout);\n            status = Q_HANDLED();\n            break;\n        }\n        default: {\n            status = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status;\n}\n/*..........................................................................*/\nQState Alarm_on(Alarm * const me) {\n    QState status;\n    switch (Q_SIG(me)) {\n        case Q_ENTRY_SIG: {\n            PRINTF_S(\"*** Alarm ON %02d:%02d\\n\",\n                     me->alarm_time/60, me->alarm_time%60);\n            fflush(stdout);\n            status = Q_HANDLED();\n            break;\n        }\n        case ALARM_SET_SIG: {\n            PRINTF_S(\"%s\\n\", \"*** Cannot set Alarm when it is ON\");\n            fflush(stdout);\n            status = Q_HANDLED();\n            break;\n        }\n        case ALARM_OFF_SIG: {\n            status = Q_TRAN(&Alarm_off);\n            break;\n        }\n        case TIME_SIG: {\n            if (Q_PAR(me) == me->alarm_time) {\n                PRINTF_S(\"%s\\n\", \"ALARM!!!\");\n                /* asynchronously post the event to the container AO */\n                QACTIVE_POST((QActive *)&AO_AlarmClock, ALARM_SIG, 0);\n            }\n            status = Q_HANDLED();\n            break;\n        }\n        default: {\n            status = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status;\n}\n"
  },
  {
    "path": "examples/workstation/comp/alarm.h",
    "content": "/*****************************************************************************\n* Product: Orthogonal Component state pattern example\n* Last updated for version 6.6.0\n* Last updated on  2019-07-30\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef ALARM_H\n#define ALARM_H\n\ntypedef struct AlarmTag {\n    QHsm super; /* inherit QHsm */\n    uint32_t alarm_time;\n} Alarm;\n\nvoid Alarm_ctor(Alarm * const me);\n\n#endif  /* ALARM_H */\n"
  },
  {
    "path": "examples/workstation/comp/bsp.c",
    "content": "/*****************************************************************************\n* Product: BSP for QP-nano Comp example, Win32\n* Last Updated for Version: 6.3.7\n* Date of the Last Update:  2018-12-13\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2018 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"bsp.h\"\n#include \"clock.h\"\n\n#include \"safe_std.h\" /* portable \"safe\" <stdio.h>/<string.h> facilities */\n#include <stdlib.h>\n\n//Q_DEFINE_THIS_FILE\n\n/*..........................................................................*/\nvoid BSP_init(void) {\n    PRINTF_S(\"Orthogonal Component state pattern\\nQP-nano version: %s\\n\"\n           \"Press 'o' to turn the Alarm ON\\n\"\n           \"Press 'f' to turn the Alarm OFF\\n\"\n           \"Press '0'..'9' to set the Alarm time\\n\"\n           \"Press 'A' to set the Clock in 12-hour mode\\n\"\n           \"Press 'B' to set the Clock in 24-hour mode\\n\"\n           \"Press ESC to quit...\\n\",\n           QP_VERSION_STR);\n}\n\n/*--------------------------------------------------------------------------*/\nvoid QF_onStartup(void) {\n    QF_consoleSetup();\n    QF_setTickRate(BSP_TICKS_PER_SEC, 50); /* desired tick rate/ticker-prio */\n}\n/*..........................................................................*/\nvoid QF_onCleanup(void) {\n    PRINTF_S(\"\\n%s\\n\", \"Bye! Bye\");\n    QF_consoleCleanup();\n}\n/*..........................................................................*/\nvoid QF_onClockTickISR(void) {\n    uint8_t key;\n\n    QF_tickXISR(0U); /* perform the QF-nano clock tick processing */\n\n    key = QF_consoleGetKey();\n    switch (key) {\n        case 'o': { /* 'o': Alarm on event? */\n            QACTIVE_POST_ISR((QActive *)&AO_AlarmClock,\n                             ALARM_ON_SIG, 0);\n            break;\n        }\n        case 'f': { /* 'f': Alarm off event? */\n            QACTIVE_POST_ISR((QActive *)&AO_AlarmClock,\n                             ALARM_OFF_SIG, 0);\n            break;\n        }\n        case '1':   /* '1' */\n        case '2':   /* '2' */\n        case '3':   /* '3' */\n        case '4':   /* '4' */\n        case '5':   /* '5' */\n        case '6':   /* '6' */\n        case '7':   /* '7' */\n        case '8':   /* '8' */\n        case '9': { /* '9' */\n            QACTIVE_POST_ISR((QActive *)&AO_AlarmClock,\n                              ALARM_SET_SIG, key - '0');\n            break;\n        }\n        case '0': { /* '0' */\n            QACTIVE_POST_ISR((QActive *)&AO_AlarmClock,\n                              ALARM_SET_SIG, 0U);\n            break;\n        }\n        case 'a': { /* 'a': Clock 12H event? */\n            QACTIVE_POST_ISR((QActive *)&AO_AlarmClock,\n                              CLOCK_12H_SIG, 0U);\n            break;\n        }\n        case 'b': { /* 'b': Clock 24H event? */\n            QACTIVE_POST_ISR((QActive *)&AO_AlarmClock,\n                             CLOCK_24H_SIG, 0U);\n            break;\n        }\n        case '\\33': { /* ESC pressed? */\n            QACTIVE_POST_ISR((QActive *)&AO_AlarmClock,\n                             TERMINATE_SIG, 0U);\n            break;\n        }\n    }\n}\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char_t const Q_ROM * const file, int_t line) {\n    FPRINTF_S(stderr, \"Assertion failed in %s, line %d\", file, line);\n    exit(-1);\n}\n\n\n\n\n"
  },
  {
    "path": "examples/workstation/comp/bsp.h",
    "content": "/*****************************************************************************\n* Product: BSP for QP-nano example, Win32\n* Last updated for version 5.4.0\n* Last updated on  2015-05-18\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, www.state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BSP_H\n#define BSP_H\n\n#define BSP_TICKS_PER_SEC    100U\n\nvoid BSP_init(void);\n\n#endif /* BSP_H */\n"
  },
  {
    "path": "examples/workstation/comp/clock.h",
    "content": "/*****************************************************************************\n* Product: Orthogonal Component state pattern example\n* Last updated for version 6.6.0\n* Last updated on  2019-07-30\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef CLOCK_H\n#define CLOCK_H\n\n#include \"alarm.h\"\n\nenum AlarmClockSignals {\n    TERMINATE_SIG = Q_USER_SIG,\n    TIME_SIG,\n    ALARM_SET_SIG,\n    ALARM_ON_SIG,\n    ALARM_OFF_SIG,\n    ALARM_SIG,\n    CLOCK_12H_SIG,\n    CLOCK_24H_SIG\n};\n\n/* active objects ..........................................................*/\nextern struct AlarmClockTag AO_AlarmClock;\nvoid AlarmClock_ctor(void);\n\n#endif /* CLOCK_H */\n"
  },
  {
    "path": "examples/workstation/comp/comp.c",
    "content": "/*****************************************************************************\n* Product: \"Orthogonal Component\" state pattern example\n* Last updated for version 6.4.0\n* Last updated on  2019-02-10\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"bsp.h\"\n#include \"clock.h\"\n\n#include \"safe_std.h\" /* portable \"safe\" <stdio.h>/<string.h> facilities */\n\nQ_DEFINE_THIS_FILE\n\n/*..........................................................................*/\ntypedef struct AlarmClockTag { /* the AlarmClock active object */\n    QActive  super;            /* inherit QActive */\n    Alarm    alarm;            /* Alarm orthogonal component */\n    uint32_t current_time;     /* the current time in seconds */\n} AlarmClock;\n\nstatic QState AlarmClock_initial    (AlarmClock * const me);\nstatic QState AlarmClock_timekeeping(AlarmClock * const me);\nstatic QState AlarmClock_mode12hr   (AlarmClock * const me);\nstatic QState AlarmClock_mode24hr   (AlarmClock * const me);\nstatic QState AlarmClock_final      (AlarmClock * const me);\n\n/* Global objects ----------------------------------------------------------*/\nAlarmClock AO_AlarmClock; /* the single instance of the AlarmClock AO */\n\n/*..........................................................................*/\nvoid AlarmClock_ctor(void) {\n    QActive_ctor((QActive *)&AO_AlarmClock,\n                 Q_STATE_CAST(&AlarmClock_initial));\n    Alarm_ctor(&AO_AlarmClock.alarm); /* orthogonal component ctor */\n}\n/* HSM definition ----------------------------------------------------------*/\nQState AlarmClock_initial(AlarmClock * const me) {\n    me->current_time = 0U;\n    /* take the initial transition in the alarm component... */\n    QHSM_INIT(&me->alarm.super);\n    return Q_TRAN(&AlarmClock_timekeeping);\n}\n/*..........................................................................*/\nQState AlarmClock_final(AlarmClock * const me) {\n    QState status;\n    switch (Q_SIG(me)) {\n        case Q_ENTRY_SIG: {\n            PRINTF_S(\"%s\\n\", \" -> final\");\n            QF_stop(); /* terminate the application */\n            status = Q_HANDLED();\n            break;\n        }\n        default: {\n            status = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status;\n}\n/*..........................................................................*/\nQState AlarmClock_timekeeping(AlarmClock * const me) {\n    QState status;\n    switch (Q_SIG(me)) {\n        case Q_ENTRY_SIG: {\n            /* timeout in one second and every second */\n            QActive_armX(&me->super, 0U,\n                         BSP_TICKS_PER_SEC, BSP_TICKS_PER_SEC);\n            status = Q_HANDLED();\n            break;\n        }\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            status = Q_HANDLED();\n            break;\n        }\n        case Q_INIT_SIG: {\n            status = Q_TRAN(&AlarmClock_mode24hr);\n            break;\n        }\n        case CLOCK_12H_SIG: {\n            status = Q_TRAN(&AlarmClock_mode12hr);\n            break;\n        }\n        case CLOCK_24H_SIG: {\n            status = Q_TRAN(&AlarmClock_mode24hr);\n            break;\n        }\n        case ALARM_SIG: {\n            PRINTF_S(\"%s\\n\", \"Wake up!!!\");\n            status = Q_HANDLED();\n            break;\n        }\n        case ALARM_SET_SIG:\n        case ALARM_ON_SIG:\n        case ALARM_OFF_SIG: {\n            /* synchronously dispatch to the orthogonal component */\n            Q_SIG(&me->alarm) = Q_SIG(me);\n            Q_PAR(&me->alarm) = Q_PAR(me);\n            QHSM_DISPATCH(&me->alarm.super);\n            status = Q_HANDLED();\n            break;\n        }\n        case TERMINATE_SIG: {\n            status = Q_TRAN(&AlarmClock_final);\n            break;\n        }\n        default: {\n            status = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status;\n}\n/*..........................................................................*/\nQState AlarmClock_mode24hr(AlarmClock * const me) {\n    QState status;\n    switch (Q_SIG(me)) {\n        case Q_ENTRY_SIG: {\n            PRINTF_S(\"%s\\n\", \"*** 24-hour mode\");\n            status = Q_HANDLED();\n            break;\n        }\n        case Q_TIMEOUT_SIG: {\n            /* roll over in 24-hr mode? */\n            if (++me->current_time == 24U*60U) {\n                me->current_time = 0U;\n            }\n            PRINTF_S(\"%02d:%02d\\n\",\n                   me->current_time / 60U, me->current_time % 60U);\n\n            /* synchronously dispatch to the orthogonal component */\n            Q_SIG(&me->alarm) = TIME_SIG;\n            Q_PAR(&me->alarm) = me->current_time;\n            QHSM_DISPATCH(&me->alarm.super);\n            status = Q_HANDLED();\n            break;\n        }\n        default: {\n            status = Q_SUPER(&AlarmClock_timekeeping);\n            break;\n        }\n    }\n    return status;\n}\n/*..........................................................................*/\nQState AlarmClock_mode12hr(AlarmClock * const me) {\n    QState status;\n    switch (Q_SIG(me)) {\n        case Q_ENTRY_SIG: {\n            PRINTF_S(\"%s\\n\", \"*** 12-hour mode\");\n            status = Q_HANDLED();\n            break;\n        }\n        case Q_TIMEOUT_SIG: {\n            uint32_t h; /* temporary variable to hold hour */\n            if (++me->current_time == 12U * 60U) {  /* roll over in 12-hr mode? */\n                me->current_time = 0U;\n            }\n            h = me->current_time / 60U;\n            PRINTF_S(\"%02d:%02d %s\\n\", (h % 12U) ? (h % 12U) : 12U,\n                   me->current_time % 60U, (h / 12U) ? \"PM\" : \"AM\");\n\n            /* synchronously dispatch to the orthogonal component */\n            Q_SIG(&me->alarm) = TIME_SIG;\n            Q_PAR(&me->alarm) = me->current_time;\n            QHSM_DISPATCH(&me->alarm.super);\n            status = Q_HANDLED();\n            break;\n        }\n        default: {\n            status = Q_SUPER(&AlarmClock_timekeeping);\n            break;\n        }\n    }\n    return status;\n}\n"
  },
  {
    "path": "examples/workstation/comp/main.c",
    "content": "/*****************************************************************************\n* Product: Comp (\"Orthogonal Component) example\n* Last updated for version 5.8.0\n* Last updated on  2016-11-06\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"     /* QP-nano API */\n#include \"bsp.h\"     /* Board Support Package */\n#include \"clock.h\"   /* Application interface */\n\n/* Local-scope objects -----------------------------------------------------*/\nstatic QEvt l_clockQueue[3];\n\n/* QF_active[] array defines all active object control blocks --------------*/\nQActiveCB const Q_ROM QF_active[] = {\n    { (QActive *)0,              (QEvt *)0,    0U                  },\n    { (QActive *)&AO_AlarmClock, l_clockQueue, Q_DIM(l_clockQueue) }\n};\n\n/*..........................................................................*/\nint main (void) {\n    AlarmClock_ctor();\n\n    QF_init(Q_DIM(QF_active)); /* initialize the QF-nano framework */\n    BSP_init();      /* initialize the Board Support Package */\n\n    return QF_run(); /* transfer control to QF-nano */\n}\n"
  },
  {
    "path": "examples/workstation/comp/qpn_conf.h",
    "content": "/*****************************************************************************\n* Product: QP-nano configuration for the Comp example\n* Last Updated for Version: 5.6.2\n* Date of the Last Update:  2016-04-05\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef QPN_CONF_H\n#define QPN_CONF_H\n\n#define Q_PARAM_SIZE            4U\n#define QF_TIMEEVT_CTR_SIZE     2U\n#define QF_TIMEEVT_PERIODIC\n\n#endif  /* QPN_CONF_H */\n"
  },
  {
    "path": "examples/workstation/defer/Makefile",
    "content": "##############################################################################\n# Product: Makefile for QP-nano for Windows and POSIX *HOSTS*\n# Last updated for version 6.4.0\n# Last updated on  2019-01-09\n#\n#                    Q u a n t u m  L e a P s\n#                    ------------------------\n#                    Modern Embedded Software\n#\n# Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# https://www.state-machine.com\n# mailto:info@state-machine.com\n##############################################################################\n#\n# examples of invoking this Makefile:\n# building configurations: Debug (default), Release, and Spy\n# make\n# make CONF=rel\n#\n# cleaning configurations: Debug (default), Release, and Spy\n# make clean\n# make CONF=rel clean\n#\n# NOTE:\n# To use this Makefile on Windows, you will need the GNU make utility, which\n# is included in the QTools collection for Windows, see:\n#    http://sourceforge.net/projects/qpc/files/QTools/\n#\n\n#-----------------------------------------------------------------------------\n# project name:\n#\nPROJECT := defer\n\n#-----------------------------------------------------------------------------\n# project directories:\n#\n\n# list of all source directories used by this project\nVPATH := . \\\n\n# list of all include directories needed by this project\nINCLUDES := -I. \\\n\n# location of the QP-nano framework (if not provided in an env. variable)\nifeq ($(QPN),)\nQPN := ../../..\nendif\n\n#-----------------------------------------------------------------------------\n# project files:\n#\n\n# C source files...\nC_SRCS := \\\n\tbsp.c \\\n\tmain.c \\\n\tdefer.c\n\n# C++ source files...\nCPP_SRCS :=\n\nLIB_DIRS  :=\nLIBS      :=\n\n# defines...\nDEFINES   :=\n\nifeq (,$(CONF))\n\tCONF := dbg\nendif\n\n#-----------------------------------------------------------------------------\n# add QP-nano framework (depends on the OS this Makefile runs on):\n#\nifeq ($(OS),Windows_NT)\n\nQPN_PORT_DIR := $(QPN)/ports/win32-qv\n\nC_SRCS += \\\n\tqepn.c \\\n\tqfn_win32.c\n\nelse\n\nQPN_PORT_DIR := $(QPN)/ports/posix-qv\n\nC_SRCS += \\\n\tqepn.c \\\n\tqfn_posix.c\n\nLIBS += -lpthread\n\nendif\n\n#============================================================================\n# Typically you should not need to change anything below this line\n\nVPATH    += $(QPN)/src/qfn $(QPN_PORT_DIR)\nINCLUDES += -I$(QPN)/include -I$(QPN)/src -I$(QPN_PORT_DIR)\n\n#-----------------------------------------------------------------------------\n# GNU toolset:\n#\n# NOTE:\n# GNU toolset (MinGW) is included in the QTools collection for Windows, see:\n#     http://sourceforge.net/projects/qpc/files/QTools/\n# It is assumed that %QTOOLS%\\bin directory is added to the PATH\n#\nCC    := gcc\nCPP   := g++\nLINK  := gcc    # for C programs\n#LINK  := g++   # for C++ programs\n\n#-----------------------------------------------------------------------------\n# basic utilities (depends on the OS this Makefile runs on):\n#\nifeq ($(OS),Windows_NT)\n\tMKDIR      := mkdir\n\tRM         := rm\n\tTARGET_EXT := .exe\nelse ifeq ($(OSTYPE),cygwin)\n\tMKDIR      := mkdir -p\n\tRM         := rm -f\n\tTARGET_EXT := .exe\nelse\n\tMKDIR      := mkdir -p\n\tRM         := rm -f\n\tTARGET_EXT :=\nendif\n\n#-----------------------------------------------------------------------------\n# build configurations...\n\nifeq (rel, $(CONF)) # Release configuration ..................................\n\nBIN_DIR := build_rel\n# gcc options:\nCFLAGS  = -c -O3 -fno-pie -std=c99 -pedantic -Wall -Wextra -W \\\n\t$(INCLUDES) $(DEFINES) -DNDEBUG\n\nCPPFLAGS = -c -O3 -fno-pie -std=c++11 -pedantic -Wall -Wextra \\\n\t-fno-rtti -fno-exceptions \\\n\t$(INCLUDES) $(DEFINES) -DNDEBUG\n\nelse # default Debug configuration .........................................\n\nBIN_DIR := build\n\n# gcc options:\nCFLAGS  = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \\\n\t$(INCLUDES) $(DEFINES)\n\nCPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \\\n\t-fno-rtti -fno-exceptions \\\n\t$(INCLUDES) $(DEFINES)\n\nendif  # .....................................................................\n\nLINKFLAGS :=\n\n#-----------------------------------------------------------------------------\nC_OBJS       := $(patsubst %.c,%.o,   $(C_SRCS))\nCPP_OBJS     := $(patsubst %.cpp,%.o, $(CPP_SRCS))\n\nTARGET_EXE   := $(BIN_DIR)/$(PROJECT)$(TARGET_EXT)\nC_OBJS_EXT   := $(addprefix $(BIN_DIR)/, $(C_OBJS))\nC_DEPS_EXT   := $(patsubst %.o,%.d, $(C_OBJS_EXT))\nCPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))\nCPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))\n\n# create $(BIN_DIR) if it does not exist\nifeq (\"$(wildcard $(BIN_DIR))\",\"\")\n$(shell $(MKDIR) $(BIN_DIR))\nendif\n\n#-----------------------------------------------------------------------------\n# rules\n#\n\nall: $(TARGET_EXE)\n\n$(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)\n\t$(LINK) $(LINKFLAGS) $(LIB_DIRS) -o $@ $^ $(LIBS)\n\n$(BIN_DIR)/%.d : %.c\n\t$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@\n\n$(BIN_DIR)/%.d : %.cpp\n\t$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@\n\n$(BIN_DIR)/%.o : %.c\n\t$(CC) $(CFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.cpp\n\t$(CPP) $(CPPFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.rc\n\t$(RC) $(RCINCLUDES) -i $< -o $@\n\n# include dependency files only if our goal depends on their existence\nifneq ($(MAKECMDGOALS),clean)\n  ifneq ($(MAKECMDGOALS),show)\n-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)\n  endif\nendif\n\n.PHONY : clean show\n\nclean :\n\t-$(RM) $(BIN_DIR)/*.o \\\n\t$(BIN_DIR)/*.d \\\n\t$(TARGET_EXE)\n\nshow :\n\t@echo PROJECT      = $(PROJECT)\n\t@echo TARGET_EXE   = $(TARGET_EXE)\n\t@echo VPATH        = $(VPATH)\n\t@echo C_SRCS       = $(C_SRCS)\n\t@echo CPP_SRCS     = $(CPP_SRCS)\n\t@echo C_DEPS_EXT   = $(C_DEPS_EXT)\n\t@echo C_OBJS_EXT   = $(C_OBJS_EXT)\n\t@echo C_DEPS_EXT   = $(C_DEPS_EXT)\n\t@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)\n\t@echo CPP_OBJS_EXT = $(CPP_OBJS_EXT)\n\t@echo LIB_DIRS     = $(LIB_DIRS)\n\t@echo LIBS         = $(LIBS)\n\t@echo DEFINES      = $(DEFINES)\n\n"
  },
  {
    "path": "examples/workstation/defer/bsp.c",
    "content": "/*****************************************************************************\n* Product: BSP for QP-nano \"Deferred Event\" state pattern example, Win32\n* Last Updated for Version: 6.3.7\n* Date of the Last Update:  2018-12-13\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2018 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"     /* QP-nano API */\n#include \"bsp.h\"     /* Board Support Package */\n#include \"defer.h\"   /* Application interface */\n\n#include \"safe_std.h\" /* portable \"safe\" <stdio.h>/<string.h> facilities */\n#include <stdlib.h>\n\n//Q_DEFINE_THIS_FILE\n\n/*..........................................................................*/\nvoid BSP_init(void) {\n}\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char_t const Q_ROM * const file, int_t line) {\n    FPRINTF_S(stderr, \"Assertion failed in %s, line %d\", file, line);\n    exit(-1);\n}\n\n/*--------------------------------------------------------------------------*/\nvoid QF_onStartup(void) {\n    QF_consoleSetup();\n    QF_setTickRate(BSP_TICKS_PER_SEC, 50); /* desired tick rate/ticker-prio */\n}\n/*..........................................................................*/\nvoid QF_onCleanup(void) {\n    PRINTF_S(\"\\n%s\\n\", \"Bye! Bye!\");\n    QF_consoleCleanup();\n}\n/*..........................................................................*/\nvoid QF_onClockTickISR(void) {\n    QF_tickXISR(0U); /* perform the QF-nano clock tick processing */\n\n    switch (QF_consoleGetKey()) {\n        case 'n': { /* 'n': new request? */\n            static uint8_t reqCtr = 0U; /* count the requests */\n            QACTIVE_POST_ISR((QActive *)&AO_TServer,\n                             NEW_REQUEST_SIG, ++reqCtr);\n            break;\n        }\n        case '\\33': { /* ESC pressed? */\n            QACTIVE_POST_ISR((QActive *)&AO_TServer,\n                             TERMINATE_SIG, 0U);\n            break;\n        }\n    }\n}\n\n"
  },
  {
    "path": "examples/workstation/defer/bsp.h",
    "content": "/*****************************************************************************\n* Product: BSP for QP-nano example, Win32\n* Last Updated for Version: 5.4.0\n* Date of the Last Update:  2015-05-24\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* Web  : www.state-machine.com\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BSP_H\n#define BSP_H\n\n#define BSP_TICKS_PER_SEC    100U\n\nvoid BSP_init(void);\n\n#endif /* BSP_H */\n"
  },
  {
    "path": "examples/workstation/defer/defer.c",
    "content": "/*****************************************************************************\n* Product: \"Deferred Event\" state pattern example\n* Last Updated for Version: 6.3.7\n* Date of the Last Update:  2018-12-13\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2018 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"     /* QP-nano API */\n#include \"bsp.h\"     /* Board Support Package */\n#include \"defer.h\"   /* Application interface */\n\n#include \"safe_std.h\" /* portable \"safe\" <stdio.h>/<string.h> facilities */\n\n/*..........................................................................*/\ntypedef struct TServerTag { /* Transaction Server active object */\n    QActive super;          /* inherit QActive */\n\n    QEvt deferredRequest;   /* deferred request event */\n    /* optionally other storage for deferring other event types... */\n} TServer;\n\n/* hierarchical state machine ... */\nstatic QState TServer_initial    (TServer * const me);\nstatic QState TServer_operational(TServer * const me);\nstatic QState TServer_idle       (TServer * const me);\nstatic QState TServer_receiving  (TServer * const me);\nstatic QState TServer_authorizing(TServer * const me);\nstatic QState TServer_final      (TServer * const me);\n\n/* helper functions */\nvoid TServer_deferRequest(TServer * const me);\nvoid TServer_recallRequest(TServer * const me);\n\n/* Global objects ----------------------------------------------------------*/\nTServer AO_TServer; /* the single instance of the TServer active object */\n\n/*..........................................................................*/\nvoid TServer_ctor(void) {\n    QActive_ctor((QActive *)&AO_TServer, Q_STATE_CAST(&TServer_initial));\n}\n/* HSM definition ----------------------------------------------------------*/\nQState TServer_initial(TServer * const me) {\n    me->deferredRequest.sig = 0U; /* no deferred requests */\n    return Q_TRAN(&TServer_operational);\n}\n/*..........................................................................*/\nQState TServer_final(TServer * const me) {\n    QState status;\n    switch (Q_SIG(me)) {\n        case Q_ENTRY_SIG: {\n            QF_stop(); /* terminate the application */\n            status = Q_HANDLED();\n            break;\n        }\n        default: {\n            status = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status;\n}\n/*..........................................................................*/\nQState TServer_operational(TServer * const me) {\n    QState status;\n    switch (Q_SIG(me)) {\n        case Q_INIT_SIG: {\n            status = Q_TRAN(&TServer_idle);\n            break;\n        }\n        case NEW_REQUEST_SIG: {\n            TServer_deferRequest(me); /* defer the request */\n            status = Q_HANDLED();\n            break;\n        }\n        case TERMINATE_SIG: {\n            status = Q_TRAN(&TServer_final);\n            break;\n        }\n        default: {\n            status = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status;\n}\n/*..........................................................................*/\nQState TServer_idle(TServer * const me) {\n    QState status;\n    switch (Q_SIG(me)) {\n        case Q_ENTRY_SIG: {\n            PRINTF_S(\"%s\\n\", \"-> idle\");\n            TServer_recallRequest(me); /* recall the request */\n            status = Q_HANDLED();\n            break;\n        }\n        case NEW_REQUEST_SIG: {\n            PRINTF_S(\"Processing request #%d\\n\", (int)Q_PAR(me));\n            status = Q_TRAN(&TServer_receiving);\n            break;\n        }\n        default: {\n            status = Q_SUPER(&TServer_operational);\n            break;\n        }\n    }\n    return status;\n}\n/*..........................................................................*/\nQState TServer_receiving(TServer * const me) {\n    QState status;\n    switch (Q_SIG(me)) {\n        case Q_ENTRY_SIG: {\n            PRINTF_S(\"%s\\n\", \"-> receiving\");\n\n            /* one-shot timeout in 1 second */\n            QActive_armX(&me->super, 0U, BSP_TICKS_PER_SEC, 0U);\n            status = Q_HANDLED();\n            break;\n        }\n        case Q_TIMEOUT_SIG: {\n            status = Q_TRAN(&TServer_authorizing);\n            break;\n        }\n        default: {\n            status = Q_SUPER(&TServer_operational);\n            break;\n        }\n    }\n    return status;\n}\n/*..........................................................................*/\nQState TServer_authorizing(TServer * const me) {\n    QState status;\n    switch (Q_SIG(me)) {\n        case Q_ENTRY_SIG: {\n            PRINTF_S(\"%s\\n\", \"-> authorizing\");\n            /* one-shot timeout in 2 seconds */\n            QActive_armX(&me->super, 0U, 2U*BSP_TICKS_PER_SEC, 0U);\n            status = Q_HANDLED();\n            break;\n        }\n        case Q_TIMEOUT_SIG: {\n            status = Q_TRAN(&TServer_idle);\n            break;\n        }\n        default: {\n            status = Q_SUPER(&TServer_operational);\n            break;\n        }\n    }\n    return status;\n}\n\n/* helper functions ........................................................*/\nvoid TServer_deferRequest(TServer * const me) {\n    if (me->deferredRequest.sig == 0U) { /* the request NOT deferred yet? */\n        me->deferredRequest.sig = Q_SIG(me);\n        me->deferredRequest.par = Q_PAR(me);\n        PRINTF_S(\"deferring request #%d\\n\", (int)me->deferredRequest.par);\n    }\n    else {\n        PRINTF_S(\"!!! cannot defer request #%d\\n\", (int)Q_PAR(me));\n    }\n}\nvoid TServer_recallRequest(TServer * const me) {\n    if (me->deferredRequest.sig != 0U) { /* the request already deferred? */\n        PRINTF_S(\"recalling request #%d\\n\", (int)me->deferredRequest.par);\n        QACTIVE_POST(&me->super,\n                     me->deferredRequest.sig, me->deferredRequest.par);\n\n        me->deferredRequest.sig = 0U; /* request no longer deferred */\n    }\n    else {\n        PRINTF_S(\"%s\\n\", \"No requests to recall\");\n    }\n}\n"
  },
  {
    "path": "examples/workstation/defer/defer.h",
    "content": "/*****************************************************************************\n* Product: Deferred Event state pattern example\n* Last updated for version 6.6.0\n* Last updated on  2019-07-30\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef DEFER_H\n#define DEFER_H\n\nenum TServerSignals {\n    TERMINATE_SIG = Q_USER_SIG,  /* terminate the application */\n    NEW_REQUEST_SIG              /* new request to the server signal */\n};\n/* active objects ..........................................................*/\nextern struct TServerTag AO_TServer;\n\nvoid TServer_ctor(void);\n\n#endif /* DEFER_H */\n"
  },
  {
    "path": "examples/workstation/defer/main.c",
    "content": "/*****************************************************************************\n* Product: QP-nano \"Deferred Event\" state pattern example\n* Last updated for version 5.8.0\n* Last updated on  2016-11-06\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"     /* QP-nano API */\n#include \"bsp.h\"     /* Board Support Package */\n#include \"defer.h\"   /* Application interface */\n\n/* Local-scope objects -----------------------------------------------------*/\nstatic QEvt l_serverQueue[2];\n\n/* QF_active[] array defines all active object control blocks --------------*/\nQActiveCB const Q_ROM QF_active[] = {\n    { (QActive *)0,           (QEvt *)0,     0U                   },\n    { (QActive *)&AO_TServer, l_serverQueue, Q_DIM(l_serverQueue) }\n};\n\n/*..........................................................................*/\nint main (void) {\n    TServer_ctor();\n\n    QF_init(Q_DIM(QF_active)); /* initialize the QF-nano framework */\n    BSP_init();      /* initialize the Board Support Package */\n\n    return QF_run();   /* transfer control to QF-nano */\n}\n"
  },
  {
    "path": "examples/workstation/defer/qpn_conf.h",
    "content": "/*****************************************************************************\n* Product: QP-nano configuration for the \"Deferred Event\" example\n* Last updated for version 6.6.0\n* Last updated on  2019-10-14\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef QPN_CONF_H\n#define QPN_CONF_H\n\n#define Q_PARAM_SIZE            8\n#define QF_TIMEEVT_CTR_SIZE     2U\n#define QF_TIMEEVT_PERIODIC\n\n#endif /* QPN_CONF_H */\n"
  },
  {
    "path": "examples/workstation/dpp/Makefile",
    "content": "##############################################################################\n# Product: Makefile for QP-nano for Windows and POSIX *HOSTS*\n# Last updated for version 6.4.0\n# Last updated on  2019-01-09\n#\n#                    Q u a n t u m  L e a P s\n#                    ------------------------\n#                    Modern Embedded Software\n#\n# Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# https://www.state-machine.com\n# mailto:info@state-machine.com\n##############################################################################\n#\n# examples of invoking this Makefile:\n# building configurations: Debug (default), Release, and Spy\n# make\n# make CONF=rel\n#\n# cleaning configurations: Debug (default), Release, and Spy\n# make clean\n# make CONF=rel clean\n#\n# NOTE:\n# To use this Makefile on Windows, you will need the GNU make utility, which\n# is included in the QTools collection for Windows, see:\n#    http://sourceforge.net/projects/qpc/files/QTools/\n#\n\n#-----------------------------------------------------------------------------\n# project name:\n#\nPROJECT := dpp\n\n#-----------------------------------------------------------------------------\n# project directories:\n#\n\n# list of all source directories used by this project\nVPATH := . \\\n\n# list of all include directories needed by this project\nINCLUDES := -I. \\\n\n# location of the QP-nano framework (if not provided in an env. variable)\nifeq ($(QPN),)\nQPN := ../../..\nendif\n\n#-----------------------------------------------------------------------------\n# project files:\n#\n\n# C source files...\nC_SRCS := \\\n\tbsp.c \\\n\tmain.c \\\n\tphilo.c \\\n\ttable.c\n\n# C++ source files...\nCPP_SRCS :=\n\nLIB_DIRS  :=\nLIBS      :=\n\n# defines...\nDEFINES   :=\n\nifeq (,$(CONF))\n\tCONF := dbg\nendif\n\n#-----------------------------------------------------------------------------\n# add QP-nano framework (depends on the OS this Makefile runs on):\n#\nifeq ($(OS),Windows_NT)\n\nQPN_PORT_DIR := $(QPN)/ports/win32-qv\n\nC_SRCS += \\\n\tqepn.c \\\n\tqfn_win32.c\n\nelse\n\nQPN_PORT_DIR := $(QPN)/ports/posix-qv\n\nC_SRCS += \\\n\tqepn.c \\\n\tqfn_posix.c\n\nLIBS += -lpthread\n\nendif\n\n#============================================================================\n# Typically you should not need to change anything below this line\n\nVPATH    += $(QPN)/src/qfn $(QPN_PORT_DIR)\nINCLUDES += -I$(QPN)/include -I$(QPN)/src -I$(QPN_PORT_DIR)\n\n#-----------------------------------------------------------------------------\n# GNU toolset:\n#\n# NOTE:\n# GNU toolset (MinGW) is included in the QTools collection for Windows, see:\n#     http://sourceforge.net/projects/qpc/files/QTools/\n# It is assumed that %QTOOLS%\\bin directory is added to the PATH\n#\nCC    := gcc\nCPP   := g++\nLINK  := gcc    # for C programs\n#LINK  := g++   # for C++ programs\n\n#-----------------------------------------------------------------------------\n# basic utilities (depends on the OS this Makefile runs on):\n#\nifeq ($(OS),Windows_NT)\n\tMKDIR      := mkdir\n\tRM         := rm\n\tTARGET_EXT := .exe\nelse ifeq ($(OSTYPE),cygwin)\n\tMKDIR      := mkdir -p\n\tRM         := rm -f\n\tTARGET_EXT := .exe\nelse\n\tMKDIR      := mkdir -p\n\tRM         := rm -f\n\tTARGET_EXT :=\nendif\n\n#-----------------------------------------------------------------------------\n# build configurations...\n\nifeq (rel, $(CONF)) # Release configuration ..................................\n\nBIN_DIR := build_rel\n# gcc options:\nCFLAGS  = -c -O3 -fno-pie -std=c99 -pedantic -Wall -Wextra -W \\\n\t$(INCLUDES) $(DEFINES) -DNDEBUG\n\nCPPFLAGS = -c -O3 -fno-pie -std=c++11 -pedantic -Wall -Wextra \\\n\t-fno-rtti -fno-exceptions \\\n\t$(INCLUDES) $(DEFINES) -DNDEBUG\n\nelse # default Debug configuration .........................................\n\nBIN_DIR := build\n\n# gcc options:\nCFLAGS  = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \\\n\t$(INCLUDES) $(DEFINES)\n\nCPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \\\n\t-fno-rtti -fno-exceptions \\\n\t$(INCLUDES) $(DEFINES)\n\nendif  # .....................................................................\n\nLINKFLAGS :=\n\n#-----------------------------------------------------------------------------\nC_OBJS       := $(patsubst %.c,%.o,   $(C_SRCS))\nCPP_OBJS     := $(patsubst %.cpp,%.o, $(CPP_SRCS))\n\nTARGET_EXE   := $(BIN_DIR)/$(PROJECT)$(TARGET_EXT)\nC_OBJS_EXT   := $(addprefix $(BIN_DIR)/, $(C_OBJS))\nC_DEPS_EXT   := $(patsubst %.o,%.d, $(C_OBJS_EXT))\nCPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))\nCPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))\n\n# create $(BIN_DIR) if it does not exist\nifeq (\"$(wildcard $(BIN_DIR))\",\"\")\n$(shell $(MKDIR) $(BIN_DIR))\nendif\n\n#-----------------------------------------------------------------------------\n# rules\n#\n\nall: $(TARGET_EXE)\n\n$(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)\n\t$(LINK) $(LINKFLAGS) $(LIB_DIRS) -o $@ $^ $(LIBS)\n\n$(BIN_DIR)/%.d : %.c\n\t$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@\n\n$(BIN_DIR)/%.d : %.cpp\n\t$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@\n\n$(BIN_DIR)/%.o : %.c\n\t$(CC) $(CFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.cpp\n\t$(CPP) $(CPPFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.rc\n\t$(RC) $(RCINCLUDES) -i $< -o $@\n\n# include dependency files only if our goal depends on their existence\nifneq ($(MAKECMDGOALS),clean)\n  ifneq ($(MAKECMDGOALS),show)\n-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)\n  endif\nendif\n\n.PHONY : clean show\n\nclean :\n\t-$(RM) $(BIN_DIR)/*.o \\\n\t$(BIN_DIR)/*.d \\\n\t$(TARGET_EXE)\n\nshow :\n\t@echo PROJECT      = $(PROJECT)\n\t@echo TARGET_EXE   = $(TARGET_EXE)\n\t@echo VPATH        = $(VPATH)\n\t@echo C_SRCS       = $(C_SRCS)\n\t@echo CPP_SRCS     = $(CPP_SRCS)\n\t@echo C_DEPS_EXT   = $(C_DEPS_EXT)\n\t@echo C_OBJS_EXT   = $(C_OBJS_EXT)\n\t@echo C_DEPS_EXT   = $(C_DEPS_EXT)\n\t@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)\n\t@echo CPP_OBJS_EXT = $(CPP_OBJS_EXT)\n\t@echo LIB_DIRS     = $(LIB_DIRS)\n\t@echo LIBS         = $(LIBS)\n\t@echo DEFINES      = $(DEFINES)\n\n"
  },
  {
    "path": "examples/workstation/dpp/bsp.c",
    "content": "/*****************************************************************************\n* Product: DPP example (console)\n* Last Updated for Version: 6.3.7\n* Date of the Last Update:  2018-12-13\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2018 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"dpp.h\"\n#include \"bsp.h\"\n\n#include \"safe_std.h\" /* portable \"safe\" <stdio.h>/<string.h> facilities */\n#include <stdlib.h>\n\n//Q_DEFINE_THIS_FILE\n\n/* local variables ---------------------------------------------------------*/\nstatic uint32_t l_rnd; /* random seed */\n\n/*..........................................................................*/\nvoid BSP_init(void) {\n    PRINTF_S(\"Dining Philosopher Problem example\\n\"\n           \"QP-nano %s\\n\"\n           \"Press 'p' to pause\\n\"\n           \"Press 's' to serve\\n\"\n           \"Press ESC to quit...\\n\",\n           QP_VERSION_STR);\n\n    BSP_randomSeed(1234U);\n}\n/*..........................................................................*/\nvoid BSP_terminate(int16_t result) {\n    (void)result;\n    QF_stop();\n}\n/*..........................................................................*/\nvoid BSP_displayPhilStat(uint8_t n, char_t const *stat) {\n    PRINTF_S(\"Philosopher %2d is %s\\n\", (int)n, stat);\n}\n/*..........................................................................*/\nvoid BSP_displayPaused(uint8_t paused) {\n    PRINTF_S(\"Paused is %s\\n\", paused ? \"ON\" : \"OFF\");\n}\n/*..........................................................................*/\nuint32_t BSP_random(void) {  /* a very cheap pseudo-random-number generator */\n    /* \"Super-Duper\" Linear Congruential Generator (LCG)\n    * LCG(2^32, 3*7*11*13*23, 0, seed)\n    */\n    l_rnd = l_rnd * (3U*7U*11U*13U*23U);\n    return l_rnd >> 8;\n}\n/*..........................................................................*/\nvoid BSP_randomSeed(uint32_t seed) {\n    l_rnd = seed;\n}\n\n/****************************************************************************/\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char_t const Q_ROM * const module, int_t id) {\n    FPRINTF_S(stderr, \"Assertion in %s:%d\", module, id);\n    BSP_terminate(-1);\n}\n\n/*--------------------------------------------------------------------------*/\nvoid QF_onStartup(void) {\n    QF_consoleSetup();\n    QF_setTickRate(BSP_TICKS_PER_SEC, 50); /* desired tick rate/ticker-prio */\n}\n/*..........................................................................*/\nvoid QF_onCleanup(void) {\n    PRINTF_S(\"\\n%s\\n\", \"Bye! Bye!\");\n    QF_consoleCleanup();\n}\n/*..........................................................................*/\nvoid QF_onClockTickISR(void) {\n    QF_tickXISR(0U); /* perform the QF-nano clock tick processing */\n\n    switch (QF_consoleGetKey()) {\n        case '\\33': { /* see if the ESC key pressed */\n            BSP_terminate(0);\n            break;\n        }\n        case 'p': {\n            QACTIVE_POST_ISR((QActive *)&AO_Table, PAUSE_SIG, 0U);\n            break;\n        }\n        case 's': {\n            QACTIVE_POST_ISR((QActive *)&AO_Table, SERVE_SIG, 0U);\n            break;\n        }\n        default: {\n            break;\n        }\n    }\n}\n\n"
  },
  {
    "path": "examples/workstation/dpp/bsp.h",
    "content": "/*****************************************************************************\n* Product: DPP example\n* Last Updated for Version: 5.4.0\n* Date of the Last Update:  2015-03-07\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* Web  : www.state-machine.com\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BSP_H\n#define BSP_H\n\n#define BSP_TICKS_PER_SEC    100U\n\nvoid BSP_init(void);\nvoid BSP_displayPaused(uint8_t paused);\nvoid BSP_displayPhilStat(uint8_t n, char_t const *stat);\nvoid BSP_terminate(int16_t result);\n\nvoid BSP_randomSeed(uint32_t seed);   /* random seed */\nuint32_t BSP_random(void);            /* pseudo-random generator */\n\n#endif /* BSP_H */\n"
  },
  {
    "path": "examples/workstation/dpp/dpp.h",
    "content": "/*.$file${.::dpp.h} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: dpp.qm\n* File:  ${.::dpp.h}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::dpp.h} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#ifndef DPP_H\n#define DPP_H\n\nenum DPPSignals {\n    EAT_SIG = Q_USER_SIG, /* published by Table to let a philosopher eat */\n    DONE_SIG,             /* published by Philosopher when done eating */\n    PAUSE_SIG,            /* published by BSP to pause the application */\n    SERVE_SIG,            /* published by BSP to pause the application */\n    TERMINATE_SIG,        /* published by BSP to terminate the application */\n    HUNGRY_SIG,           /* posted direclty to Table from hungry Philo */\n    MAX_SIG               /* the last signal */\n};\n\n/* number of philosophers */\n#define N_PHILO ((uint8_t)5)\n#define PHILO_0_PRIO 1\n\n/*.$declare${AOs::AO_Philo0} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo0;\n/*.$enddecl${AOs::AO_Philo0} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo1} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo1;\n/*.$enddecl${AOs::AO_Philo1} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo2} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo2;\n/*.$enddecl${AOs::AO_Philo2} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo3} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo3;\n/*.$enddecl${AOs::AO_Philo3} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Philo4} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Philo AO_Philo4;\n/*.$enddecl${AOs::AO_Philo4} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Table AO_Table;\n/*.$enddecl${AOs::AO_Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/*.$declare${AOs::Philo_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo_ctor} ......................................................*/\nvoid Philo_ctor(void);\n/*.$enddecl${AOs::Philo_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::Table_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table_ctor} ......................................................*/\nvoid Table_ctor(void);\n/*.$enddecl${AOs::Table_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n#endif /* DPP_H */\n"
  },
  {
    "path": "examples/workstation/dpp/dpp.qm",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<model version=\"4.6.0\" links=\"1\">\n <documentation>Dining Philosopher Problem example with QActive</documentation>\n <!--${qpn}-->\n <framework name=\"qpn\"/>\n <!--${AOs}-->\n <package name=\"AOs\" stereotype=\"0x02\">\n  <!--${AOs::Philo}-->\n  <class name=\"Philo\" superclass=\"qpn::QActive\">\n   <!--${AOs::Philo::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${AOs::Philo::SM::initial}-->\n    <initial target=\"../1\">\n     <initial_glyph conn=\"2,3,5,1,20,5,-3\">\n      <action box=\"0,-2,6,2\"/>\n     </initial_glyph>\n    </initial>\n    <!--${AOs::Philo::SM::thinking}-->\n    <state name=\"thinking\">\n     <entry>QActive_armX(&amp;me-&gt;super, 0U, THINK_TIME, 0U);</entry>\n     <exit>QActive_disarmX(&amp;me-&gt;super, 0U);</exit>\n     <!--${AOs::Philo::SM::thinking::Q_TIMEOUT}-->\n     <tran trig=\"Q_TIMEOUT\" target=\"../../2\">\n      <tran_glyph conn=\"2,12,3,1,20,13,-3\">\n       <action box=\"0,-2,6,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Philo::SM::thinking::EAT, DONE}-->\n     <tran trig=\"EAT, DONE\">\n      <action>Q_ERROR(); /* these events should never arrive in this state */</action>\n      <tran_glyph conn=\"2,17,3,-1,13\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,5,17,16\">\n      <entry box=\"1,2,5,2\"/>\n      <exit box=\"1,4,6,2\"/>\n     </state_glyph>\n    </state>\n    <!--${AOs::Philo::SM::hungry}-->\n    <state name=\"hungry\">\n     <entry>QACTIVE_POST(&amp;AO_Table, HUNGRY_SIG, me-&gt;super.prio);</entry>\n     <!--${AOs::Philo::SM::hungry::EAT}-->\n     <tran trig=\"EAT\" target=\"../../3\">\n      <tran_glyph conn=\"2,30,3,1,20,13,-3\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Philo::SM::hungry::DONE}-->\n     <tran trig=\"DONE\">\n      <action>Q_ERROR(); /* this event should never arrive in this state */</action>\n      <tran_glyph conn=\"2,36,3,-1,14\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,23,17,16\">\n      <entry box=\"1,2,5,2\"/>\n     </state_glyph>\n    </state>\n    <!--${AOs::Philo::SM::eating}-->\n    <state name=\"eating\">\n     <entry>QActive_armX(&amp;me-&gt;super, 0U, EAT_TIME, 0U);</entry>\n     <exit>QActive_disarmX(&amp;me-&gt;super, 0U);\nQACTIVE_POST(QF_ACTIVE_CAST(&amp;AO_Table), DONE_SIG, me-&gt;super.prio);</exit>\n     <!--${AOs::Philo::SM::eating::Q_TIMEOUT}-->\n     <tran trig=\"Q_TIMEOUT\" target=\"../../1\">\n      <tran_glyph conn=\"2,51,3,1,22,-41,-5\">\n       <action box=\"0,-2,6,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Philo::SM::eating::EAT, DONE}-->\n     <tran trig=\"EAT, DONE\">\n      <action>Q_ERROR(); /* these events should never arrive in this state */</action>\n      <tran_glyph conn=\"2,55,3,-1,13\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,41,17,18\">\n      <entry box=\"1,2,5,2\"/>\n      <exit box=\"1,4,5,2\"/>\n     </state_glyph>\n    </state>\n    <state_diagram size=\"37,61\"/>\n   </statechart>\n  </class>\n  <!--${AOs::Table}-->\n  <class name=\"Table\" superclass=\"qpn::QActive\">\n   <!--${AOs::Table::fork[N_PHILO]}-->\n   <attribute name=\"fork[N_PHILO]\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Table::isHungry[N_PHILO]}-->\n   <attribute name=\"isHungry[N_PHILO]\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Table::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${AOs::Table::SM::initial}-->\n    <initial target=\"../1/2\">\n     <action>uint8_t n;\nfor (n = 0U; n &lt; N_PHILO; ++n) {\n    me-&gt;fork[n] = FREE;\n    me-&gt;isHungry[n] = 0U;\n    BSP_displayPhilStat(n, &quot;thinking&quot;);\n}</action>\n     <initial_glyph conn=\"3,3,5,1,44,18,-9\">\n      <action box=\"0,-2,6,2\"/>\n     </initial_glyph>\n    </initial>\n    <!--${AOs::Table::SM::active}-->\n    <state name=\"active\">\n     <!--${AOs::Table::SM::active::TERMINATE}-->\n     <tran trig=\"TERMINATE\">\n      <action>BSP_terminate(0);</action>\n      <tran_glyph conn=\"2,11,3,-1,14\">\n       <action box=\"0,-2,11,4\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Table::SM::active::EAT}-->\n     <tran trig=\"EAT\">\n      <action>Q_ERROR();</action>\n      <tran_glyph conn=\"2,15,3,-1,14\">\n       <action box=\"0,-2,10,4\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Table::SM::active::serving}-->\n     <state name=\"serving\">\n      <entry brief=\"give pending permitions to eat\">uint8_t n;\nfor (n = 0U; n &lt; N_PHILO; ++n) { /* give permissions to eat... */\n    if ((me-&gt;isHungry[n] != 0U)\n        &amp;&amp; (me-&gt;fork[LEFT(n)] == FREE)\n        &amp;&amp; (me-&gt;fork[n] == FREE))\n    {\n        QActive *philo;\n\n        me-&gt;fork[LEFT(n)] = USED;\n        me-&gt;fork[n] = USED;\n        philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\n        QACTIVE_POST(philo, EAT_SIG, n);\n        me-&gt;isHungry[n] = 0U;\n        BSP_displayPhilStat(n, &quot;eating  &quot;);\n    }\n}</entry>\n      <!--${AOs::Table::SM::active::serving::HUNGRY}-->\n      <tran trig=\"HUNGRY\">\n       <action>uint8_t n, m;\nQActive *philo;\n\nn = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* phil ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\n\nBSP_displayPhilStat(n, &quot;hungry  &quot;);\nm = LEFT(n);</action>\n       <!--${AOs::Table::SM::active::serving::HUNGRY::[bothfree]}-->\n       <choice>\n        <guard brief=\"both free\">(me-&gt;fork[m] == FREE) &amp;&amp; (me-&gt;fork[n] == FREE)</guard>\n        <action>me-&gt;fork[m] = USED;\nme-&gt;fork[n] = USED;\nphilo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\nQACTIVE_POST(philo, EAT_SIG, n);\nBSP_displayPhilStat(n, &quot;eating  &quot;);</action>\n        <choice_glyph conn=\"19,26,5,-1,10\">\n         <action box=\"1,0,10,2\"/>\n        </choice_glyph>\n       </choice>\n       <!--${AOs::Table::SM::active::serving::HUNGRY::[else]}-->\n       <choice>\n        <guard>else</guard>\n        <action>me-&gt;isHungry[n] = 1U;</action>\n        <choice_glyph conn=\"19,26,4,-1,5,10\">\n         <action box=\"1,5,6,2\"/>\n        </choice_glyph>\n       </choice>\n       <tran_glyph conn=\"4,26,3,-1,15\">\n        <action box=\"0,-2,8,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::serving::DONE}-->\n      <tran trig=\"DONE\">\n       <action>uint8_t n, m;\nQActive *philo;\n\nn = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* phil ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\n\nBSP_displayPhilStat(n, &quot;thinking&quot;);\nm = LEFT(n);\n/* both forks of Phil[n] must be used */\nQ_ASSERT((me-&gt;fork[n] == USED) &amp;&amp; (me-&gt;fork[m] == USED));\n\nme-&gt;fork[m] = FREE;\nme-&gt;fork[n] = FREE;\nm = RIGHT(n); /* check the right neighbor */\n\nif ((me-&gt;isHungry[m] != 0U) &amp;&amp; (me-&gt;fork[m] == FREE)) {\n    me-&gt;fork[n] = USED;\n    me-&gt;fork[m] = USED;\n    me-&gt;isHungry[m] = 0U;\n    philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n    QACTIVE_POST(philo, EAT_SIG, m);\n    BSP_displayPhilStat(m, &quot;eating  &quot;);\n}\nm = LEFT(n); /* check the left neighbor */\nn = LEFT(m); /* left fork of the left neighbor */\nif ((me-&gt;isHungry[m] != 0U) &amp;&amp; (me-&gt;fork[n] == FREE)) {\n    me-&gt;fork[m] = USED;\n    me-&gt;fork[n] = USED;\n    me-&gt;isHungry[m] = 0U;\n    philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n    QACTIVE_POST(philo, EAT_SIG, m);\n    BSP_displayPhilStat(m, &quot;eating  &quot;);\n}</action>\n       <tran_glyph conn=\"4,34,3,-1,15\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::serving::EAT}-->\n      <tran trig=\"EAT\">\n       <action>Q_ERROR();</action>\n       <tran_glyph conn=\"4,37,3,-1,15\">\n        <action box=\"0,-2,12,4\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::serving::PAUSE}-->\n      <tran trig=\"PAUSE\" target=\"../../3\">\n       <tran_glyph conn=\"4,41,3,1,37,6,-3\">\n        <action box=\"0,-2,7,2\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"4,19,34,24\">\n       <entry box=\"1,2,27,2\"/>\n      </state_glyph>\n     </state>\n     <!--${AOs::Table::SM::active::paused}-->\n     <state name=\"paused\">\n      <entry>BSP_displayPaused(1U);</entry>\n      <exit>BSP_displayPaused(0U);</exit>\n      <!--${AOs::Table::SM::active::paused::SERVE}-->\n      <tran trig=\"SERVE\" target=\"../../2\">\n       <tran_glyph conn=\"4,57,3,1,39,-20,-5\">\n        <action box=\"0,-2,7,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::paused::HUNGRY}-->\n      <tran trig=\"HUNGRY\">\n       <action>uint8_t n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* philo ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\nme-&gt;isHungry[n] = 1U;\nBSP_displayPhilStat(n, &quot;hungry  &quot;);</action>\n       <tran_glyph conn=\"4,60,3,-1,15\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::paused::DONE}-->\n      <tran trig=\"DONE\">\n       <action>uint8_t n, m;\n\nn = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n/* phil ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\n\nBSP_displayPhilStat(n, &quot;thinking&quot;);\nm = LEFT(n);\n/* both forks of Phil[n] must be used */\nQ_ASSERT((me-&gt;fork[n] == USED) &amp;&amp; (me-&gt;fork[m] == USED));\n\nme-&gt;fork[m] = FREE;\nme-&gt;fork[n] = FREE;</action>\n       <tran_glyph conn=\"4,63,3,-1,15\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"4,45,34,20\">\n       <entry box=\"1,2,18,4\"/>\n       <exit box=\"1,6,18,4\"/>\n      </state_glyph>\n     </state>\n     <state_glyph node=\"2,5,43,62\"/>\n    </state>\n    <state_diagram size=\"49,69\"/>\n   </statechart>\n  </class>\n  <!--${AOs::AO_Philo0}-->\n  <attribute name=\"AO_Philo0\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo1}-->\n  <attribute name=\"AO_Philo1\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo2}-->\n  <attribute name=\"AO_Philo2\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo3}-->\n  <attribute name=\"AO_Philo3\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Philo4}-->\n  <attribute name=\"AO_Philo4\" type=\"struct Philo\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::AO_Table}-->\n  <attribute name=\"AO_Table\" type=\"struct Table\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::Philo_ctor}-->\n  <operation name=\"Philo_ctor\" type=\"void\" visibility=\"0x00\" properties=\"0x00\">\n   <code>QActive_ctor(&amp;AO_Philo0.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo1.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo2.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo3.super, Q_STATE_CAST(&amp;Philo_initial));\nQActive_ctor(&amp;AO_Philo4.super, Q_STATE_CAST(&amp;Philo_initial));\nBSP_randomSeed(123U);</code>\n  </operation>\n  <!--${AOs::Table_ctor}-->\n  <operation name=\"Table_ctor\" type=\"void\" visibility=\"0x00\" properties=\"0x00\">\n   <code>uint8_t n;\nTable *me = &amp;AO_Table;\n\nQActive_ctor(&amp;me-&gt;super, Q_STATE_CAST(&amp;Table_initial));\nfor (n = 0U; n &lt; N_PHILO; ++n) {\n    me-&gt;fork[n] = FREE;\n    me-&gt;isHungry[n] = 0U;\n}</code>\n  </operation>\n </package>\n <!--${.}-->\n <directory name=\".\">\n  <!--${.::dpp.h}-->\n  <file name=\"dpp.h\">\n   <text>#ifndef DPP_H\n#define DPP_H\n\nenum DPPSignals {\n    EAT_SIG = Q_USER_SIG, /* published by Table to let a philosopher eat */\n    DONE_SIG,             /* published by Philosopher when done eating */\n    PAUSE_SIG,            /* published by BSP to pause the application */\n    SERVE_SIG,            /* published by BSP to pause the application */\n    TERMINATE_SIG,        /* published by BSP to terminate the application */\n    HUNGRY_SIG,           /* posted direclty to Table from hungry Philo */\n    MAX_SIG               /* the last signal */\n};\n\n/* number of philosophers */\n#define N_PHILO ((uint8_t)5)\n#define PHILO_0_PRIO 1\n\n$declare${AOs::AO_Philo0}\n$declare${AOs::AO_Philo1}\n$declare${AOs::AO_Philo2}\n$declare${AOs::AO_Philo3}\n$declare${AOs::AO_Philo4}\n$declare${AOs::AO_Table}\n\n$declare${AOs::Philo_ctor}\n$declare${AOs::Table_ctor}\n\n#endif /* DPP_H */\n</text>\n  </file>\n  <!--${.::philo.c}-->\n  <file name=\"philo.c\">\n   <text>#include &quot;qpn.h&quot;  /* QP-nano port */\n#include &quot;bsp.h&quot;  /* Board Support Package */\n#include &quot;dpp.h&quot;  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(&quot;philo&quot;)\n\n/* Active object class -----------------------------------------------------*/\n$declare${AOs::Philo}\n\n/* Global objects ----------------------------------------------------------*/\n$define${AOs::AO_Philo0}\n$define${AOs::AO_Philo1}\n$define${AOs::AO_Philo2}\n$define${AOs::AO_Philo3}\n$define${AOs::AO_Philo4}\n\n/* Local objects -----------------------------------------------------------*/\n#define THINK_TIME  \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + (BSP_TICKS_PER_SEC/2U))\n#define EAT_TIME    \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + BSP_TICKS_PER_SEC)\n\n/* Philo definition --------------------------------------------------------*/\n$define${AOs::Philo_ctor}\n$define${AOs::Philo}</text>\n  </file>\n  <!--${.::table.c}-->\n  <file name=\"table.c\">\n   <text>#include &quot;qpn.h&quot;  /* QP-nano port */\n#include &quot;bsp.h&quot;  /* Board Support Package */\n#include &quot;dpp.h&quot;  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(&quot;table&quot;)\n\n/* Active object class -----------------------------------------------------*/\n$declare${AOs::Table}\n\n/* Global objects ----------------------------------------------------------*/\n$define${AOs::AO_Table}\n\n#define RIGHT(n_) ((uint8_t)(((n_) + (N_PHILO - 1U)) % N_PHILO))\n#define LEFT(n_)  ((uint8_t)(((n_) + 1U) % N_PHILO))\n#define FREE      ((uint8_t)0)\n#define USED      ((uint8_t)1)\n\n/*..........................................................................*/\n$define${AOs::Table_ctor}\n$define${AOs::Table}</text>\n  </file>\n </directory>\n</model>\n"
  },
  {
    "path": "examples/workstation/dpp/dpp.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio Express 2013 for Windows Desktop\nVisualStudioVersion = 12.0.21005.1\nMinimumVisualStudioVersion = 10.0.40219.1\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"dpp\", \"dpp.vcxproj\", \"{8CC465F7-872E-4D03-B93C-1B64858B4E11}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{8CC465F7-872E-4D03-B93C-1B64858B4E11}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{8CC465F7-872E-4D03-B93C-1B64858B4E11}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{8CC465F7-872E-4D03-B93C-1B64858B4E11}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{8CC465F7-872E-4D03-B93C-1B64858B4E11}.Release|Win32.Build.0 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "examples/workstation/dpp/dpp.vcxproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"12.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <ItemGroup Label=\"ProjectConfigurations\">\n    <ProjectConfiguration Include=\"Debug|Win32\">\n      <Configuration>Debug</Configuration>\n      <Platform>Win32</Platform>\n    </ProjectConfiguration>\n    <ProjectConfiguration Include=\"Release|Win32\">\n      <Configuration>Release</Configuration>\n      <Platform>Win32</Platform>\n    </ProjectConfiguration>\n  </ItemGroup>\n  <PropertyGroup Label=\"Globals\">\n    <ProjectGuid>{8CC465F7-872E-4D03-B93C-1B64858B4E11}</ProjectGuid>\n    <RootNamespace>dpp</RootNamespace>\n    <Keyword>Win32Proj</Keyword>\n    <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>\n  </PropertyGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.Default.props\" />\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\" Label=\"Configuration\">\n    <ConfigurationType>Application</ConfigurationType>\n    <CharacterSet>NotSet</CharacterSet>\n    <WholeProgramOptimization>true</WholeProgramOptimization>\n    <PlatformToolset>v142</PlatformToolset>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\" Label=\"Configuration\">\n    <ConfigurationType>Application</ConfigurationType>\n    <CharacterSet>NotSet</CharacterSet>\n    <PlatformToolset>v142</PlatformToolset>\n  </PropertyGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.props\" />\n  <ImportGroup Label=\"ExtensionSettings\">\n  </ImportGroup>\n  <ImportGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\" Label=\"PropertySheets\">\n    <Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n  </ImportGroup>\n  <ImportGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\" Label=\"PropertySheets\">\n    <Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n  </ImportGroup>\n  <PropertyGroup Label=\"UserMacros\" />\n  <PropertyGroup>\n    <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>\n    <OutDir Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">$(SolutionDir)$(Configuration)\\</OutDir>\n    <IntDir Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">$(Configuration)\\</IntDir>\n    <LinkIncremental Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">true</LinkIncremental>\n    <OutDir Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">$(SolutionDir)$(Configuration)\\</OutDir>\n    <IntDir Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">$(Configuration)\\</IntDir>\n    <LinkIncremental Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">false</LinkIncremental>\n  </PropertyGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">\n    <ClCompile>\n      <Optimization>Disabled</Optimization>\n      <AdditionalIncludeDirectories>.;../../../include;../../../ports/win32-qv</AdditionalIncludeDirectories>\n      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <MinimalRebuild>false</MinimalRebuild>\n      <ExceptionHandling>\n      </ExceptionHandling>\n      <BasicRuntimeChecks>Default</BasicRuntimeChecks>\n      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\n      <PrecompiledHeader>NotUsing</PrecompiledHeader>\n      <WarningLevel>Level4</WarningLevel>\n      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\n      <DisableSpecificWarnings>4127</DisableSpecificWarnings>\n      <CompileAs>Default</CompileAs>\n    </ClCompile>\n    <Link>\n      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\n      <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n      <GenerateDebugInformation>true</GenerateDebugInformation>\n      <SubSystem>Console</SubSystem>\n      <TargetMachine>MachineX86</TargetMachine>\n    </Link>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">\n    <ClCompile>\n      <Optimization>MaxSpeed</Optimization>\n      <IntrinsicFunctions>true</IntrinsicFunctions>\n      <AdditionalIncludeDirectories>.;../../../include;../../../ports/win32-qv</AdditionalIncludeDirectories>\n      <PreprocessorDefinitions>NDEBUG;snprintf=_snprintf;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <MinimalRebuild>false</MinimalRebuild>\n      <ExceptionHandling>\n      </ExceptionHandling>\n      <BasicRuntimeChecks>Default</BasicRuntimeChecks>\n      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\n      <FunctionLevelLinking>true</FunctionLevelLinking>\n      <PrecompiledHeader>NotUsing</PrecompiledHeader>\n      <WarningLevel>Level4</WarningLevel>\n      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\n      <DisableSpecificWarnings>4127</DisableSpecificWarnings>\n    </ClCompile>\n    <Link>\n      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\n      <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n      <GenerateDebugInformation>true</GenerateDebugInformation>\n      <SubSystem>Console</SubSystem>\n      <OptimizeReferences>true</OptimizeReferences>\n      <EnableCOMDATFolding>true</EnableCOMDATFolding>\n      <TargetMachine>MachineX86</TargetMachine>\n      <GenerateMapFile>true</GenerateMapFile>\n    </Link>\n  </ItemDefinitionGroup>\n  <ItemGroup>\n    <ClCompile Include=\"..\\..\\..\\ports\\win32-qv\\qfn_win32.c\" />\n    <ClCompile Include=\"..\\..\\..\\src\\qfn\\qepn.c\" />\n    <ClCompile Include=\"bsp.c\" />\n    <ClCompile Include=\"main.c\" />\n    <ClCompile Include=\"philo.c\" />\n    <ClCompile Include=\"table.c\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ClInclude Include=\"..\\..\\..\\ports\\win32-qv\\qfn_port.h\" />\n    <ClInclude Include=\"bsp.h\" />\n    <ClInclude Include=\"dpp.h\" />\n  </ItemGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\" />\n  <ImportGroup Label=\"ExtensionTargets\">\n  </ImportGroup>\n</Project>"
  },
  {
    "path": "examples/workstation/dpp/dpp.vcxproj.filters",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <ItemGroup>\n    <ClCompile Include=\"bsp.c\" />\n    <ClCompile Include=\"main.c\" />\n    <ClCompile Include=\"philo.c\" />\n    <ClCompile Include=\"table.c\" />\n    <ClCompile Include=\"..\\..\\..\\ports\\win32-qv\\qfn_win32.c\">\n      <Filter>QP</Filter>\n    </ClCompile>\n    <ClCompile Include=\"..\\..\\..\\src\\qfn\\qepn.c\">\n      <Filter>QP</Filter>\n    </ClCompile>\n  </ItemGroup>\n  <ItemGroup>\n    <ClInclude Include=\"bsp.h\" />\n    <ClInclude Include=\"dpp.h\" />\n    <ClInclude Include=\"..\\..\\..\\ports\\win32-qv\\qfn_port.h\">\n      <Filter>QP</Filter>\n    </ClInclude>\n  </ItemGroup>\n  <ItemGroup>\n    <Filter Include=\"QP\">\n      <UniqueIdentifier>{a6390746-fe72-41ca-8497-373e88ccf529}</UniqueIdentifier>\n    </Filter>\n  </ItemGroup>\n</Project>"
  },
  {
    "path": "examples/workstation/dpp/main.c",
    "content": "/*****************************************************************************\n* Product: DPP example\n* Last Updated for Version: 5.8.0\n* Date of the Last Update:  2016-11-06\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"  /* QP-nano */\n#include \"bsp.h\"  /* Board Support Package */\n#include \"dpp.h\"  /* Application interface */\n\n/*..........................................................................*/\nstatic QEvt l_philoQueue[N_PHILO][N_PHILO];\nstatic QEvt l_tableQueue[2];\n\n/* QF_active[] array defines all active object control blocks --------------*/\nQActiveCB const Q_ROM QF_active[] = {\n    { (QActive *)0,           (QEvt *)0,        0U                      },\n    { (QActive *)&AO_Philo0,  l_philoQueue[0],  Q_DIM(l_philoQueue[0])  },\n    { (QActive *)&AO_Philo1,  l_philoQueue[1],  Q_DIM(l_philoQueue[1])  },\n    { (QActive *)&AO_Philo2,  l_philoQueue[2],  Q_DIM(l_philoQueue[2])  },\n    { (QActive *)&AO_Philo3,  l_philoQueue[3],  Q_DIM(l_philoQueue[3])  },\n    { (QActive *)&AO_Philo4,  l_philoQueue[4],  Q_DIM(l_philoQueue[4])  },\n    { (QActive *)&AO_Table,   l_tableQueue,     Q_DIM(l_tableQueue)     }\n};\n\n/*..........................................................................*/\nint_t main() {\n    Philo_ctor();    /* instantiate all Philo AOs */\n    Table_ctor();    /* instantiate the Table AO */\n\n    QF_init(Q_DIM(QF_active)); /* initialize the QF-nano framework */\n    BSP_init();      /* initialize the Board Support Package */\n\n    return QF_run(); /* transfer control to QF-nano */\n}\n"
  },
  {
    "path": "examples/workstation/dpp/philo.c",
    "content": "/*.$file${.::philo.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: dpp.qm\n* File:  ${.::philo.c}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::philo.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"  /* QP-nano port */\n#include \"bsp.h\"  /* Board Support Package */\n#include \"dpp.h\"  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(\"philo\")\n\n/* Active object class -----------------------------------------------------*/\n/*.$declare${AOs::Philo} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo} ...........................................................*/\ntypedef struct Philo {\n/* protected: */\n    QActive super;\n} Philo;\n\n/* protected: */\nstatic QState Philo_initial(Philo * const me);\nstatic QState Philo_thinking(Philo * const me);\nstatic QState Philo_hungry(Philo * const me);\nstatic QState Philo_eating(Philo * const me);\n/*.$enddecl${AOs::Philo} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Global objects ----------------------------------------------------------*/\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 650U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.5.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo0} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo0} .......................................................*/\nstruct Philo AO_Philo0;\n/*.$enddef${AOs::AO_Philo0} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo1} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo1} .......................................................*/\nstruct Philo AO_Philo1;\n/*.$enddef${AOs::AO_Philo1} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo2} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo2} .......................................................*/\nstruct Philo AO_Philo2;\n/*.$enddef${AOs::AO_Philo2} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo3} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo3} .......................................................*/\nstruct Philo AO_Philo3;\n/*.$enddef${AOs::AO_Philo3} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Philo4} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Philo4} .......................................................*/\nstruct Philo AO_Philo4;\n/*.$enddef${AOs::AO_Philo4} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Local objects -----------------------------------------------------------*/\n#define THINK_TIME  \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + (BSP_TICKS_PER_SEC/2U))\n#define EAT_TIME    \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + BSP_TICKS_PER_SEC)\n\n/* Philo definition --------------------------------------------------------*/\n/*.$define${AOs::Philo_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo_ctor} ......................................................*/\nvoid Philo_ctor(void) {\n    QActive_ctor(&AO_Philo0.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo1.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo2.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo3.super, Q_STATE_CAST(&Philo_initial));\n    QActive_ctor(&AO_Philo4.super, Q_STATE_CAST(&Philo_initial));\n    BSP_randomSeed(123U);\n}\n/*.$enddef${AOs::Philo_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Philo} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo} ...........................................................*/\n/*.${AOs::Philo::SM} .......................................................*/\nstatic QState Philo_initial(Philo * const me) {\n    /*.${AOs::Philo::SM::initial} */\n    return Q_TRAN(&Philo_thinking);\n}\n/*.${AOs::Philo::SM::thinking} .............................................*/\nstatic QState Philo_thinking(Philo * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Philo::SM::thinking} */\n        case Q_ENTRY_SIG: {\n            QActive_armX(&me->super, 0U, THINK_TIME, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::thinking} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::thinking::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Philo_hungry);\n            break;\n        }\n        /*.${AOs::Philo::SM::thinking::EAT, DONE} */\n        case EAT_SIG: /* intentionally fall through */\n        case DONE_SIG: {\n            Q_ERROR(); /* these events should never arrive in this state */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Philo::SM::hungry} ...............................................*/\nstatic QState Philo_hungry(Philo * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Philo::SM::hungry} */\n        case Q_ENTRY_SIG: {\n            QACTIVE_POST(&AO_Table, HUNGRY_SIG, me->super.prio);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::hungry::EAT} */\n        case EAT_SIG: {\n            status_ = Q_TRAN(&Philo_eating);\n            break;\n        }\n        /*.${AOs::Philo::SM::hungry::DONE} */\n        case DONE_SIG: {\n            Q_ERROR(); /* this event should never arrive in this state */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Philo::SM::eating} ...............................................*/\nstatic QState Philo_eating(Philo * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Philo::SM::eating} */\n        case Q_ENTRY_SIG: {\n            QActive_armX(&me->super, 0U, EAT_TIME, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::eating} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            QACTIVE_POST(QF_ACTIVE_CAST(&AO_Table), DONE_SIG, me->super.prio);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::eating::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Philo_thinking);\n            break;\n        }\n        /*.${AOs::Philo::SM::eating::EAT, DONE} */\n        case EAT_SIG: /* intentionally fall through */\n        case DONE_SIG: {\n            Q_ERROR(); /* these events should never arrive in this state */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${AOs::Philo} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/workstation/dpp/qpn_conf.h",
    "content": "/*****************************************************************************\n* Product: QP-nano configuration for the Blinky example\n* Last Updated for Version: 5.6.2\n* Date of the Last Update:  2016-04-05\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef QPN_CONF_H\n#define QPN_CONF_H\n\n#define Q_PARAM_SIZE            4U\n#define QF_MAX_TICK_RATE        1U\n#define QF_TIMEEVT_CTR_SIZE     2U\n#define QF_TIMEEVT_PERIODIC\n\n#endif  /* QPN_CONF_H */\n"
  },
  {
    "path": "examples/workstation/dpp/table.c",
    "content": "/*.$file${.::table.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: dpp.qm\n* File:  ${.::table.c}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::table.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"  /* QP-nano port */\n#include \"bsp.h\"  /* Board Support Package */\n#include \"dpp.h\"  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(\"table\")\n\n/* Active object class -----------------------------------------------------*/\n/*.$declare${AOs::Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table} ...........................................................*/\ntypedef struct Table {\n/* protected: */\n    QActive super;\n\n/* private: */\n    uint8_t fork[N_PHILO];\n    uint8_t isHungry[N_PHILO];\n} Table;\n\n/* protected: */\nstatic QState Table_initial(Table * const me);\nstatic QState Table_active(Table * const me);\nstatic QState Table_serving(Table * const me);\nstatic QState Table_paused(Table * const me);\n/*.$enddecl${AOs::Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Global objects ----------------------------------------------------------*/\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 650U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.5.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Table} ........................................................*/\nstruct Table AO_Table;\n/*.$enddef${AOs::AO_Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n#define RIGHT(n_) ((uint8_t)(((n_) + (N_PHILO - 1U)) % N_PHILO))\n#define LEFT(n_)  ((uint8_t)(((n_) + 1U) % N_PHILO))\n#define FREE      ((uint8_t)0)\n#define USED      ((uint8_t)1)\n\n/*..........................................................................*/\n/*.$define${AOs::Table_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table_ctor} ......................................................*/\nvoid Table_ctor(void) {\n    uint8_t n;\n    Table *me = &AO_Table;\n\n    QActive_ctor(&me->super, Q_STATE_CAST(&Table_initial));\n    for (n = 0U; n < N_PHILO; ++n) {\n        me->fork[n] = FREE;\n        me->isHungry[n] = 0U;\n    }\n}\n/*.$enddef${AOs::Table_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table} ...........................................................*/\n/*.${AOs::Table::SM} .......................................................*/\nstatic QState Table_initial(Table * const me) {\n    /*.${AOs::Table::SM::initial} */\n    uint8_t n;\n    for (n = 0U; n < N_PHILO; ++n) {\n        me->fork[n] = FREE;\n        me->isHungry[n] = 0U;\n        BSP_displayPhilStat(n, \"thinking\");\n    }\n    return Q_TRAN(&Table_serving);\n}\n/*.${AOs::Table::SM::active} ...............................................*/\nstatic QState Table_active(Table * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Table::SM::active::TERMINATE} */\n        case TERMINATE_SIG: {\n            BSP_terminate(0);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::EAT} */\n        case EAT_SIG: {\n            Q_ERROR();\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Table::SM::active::serving} ......................................*/\nstatic QState Table_serving(Table * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Table::SM::active::serving} */\n        case Q_ENTRY_SIG: {\n            uint8_t n;\n            for (n = 0U; n < N_PHILO; ++n) { /* give permissions to eat... */\n                if ((me->isHungry[n] != 0U)\n                    && (me->fork[LEFT(n)] == FREE)\n                    && (me->fork[n] == FREE))\n                {\n                    QActive *philo;\n\n                    me->fork[LEFT(n)] = USED;\n                    me->fork[n] = USED;\n                    philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\n                    QACTIVE_POST(philo, EAT_SIG, n);\n                    me->isHungry[n] = 0U;\n                    BSP_displayPhilStat(n, \"eating  \");\n                }\n            }\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::HUNGRY} */\n        case HUNGRY_SIG: {\n            uint8_t n, m;\n            QActive *philo;\n\n            n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* phil ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n\n            BSP_displayPhilStat(n, \"hungry  \");\n            m = LEFT(n);\n            /*.${AOs::Table::SM::active::serving::HUNGRY::[bothfree]} */\n            if ((me->fork[m] == FREE) && (me->fork[n] == FREE)) {\n                me->fork[m] = USED;\n                me->fork[n] = USED;\n                philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + n].act));\n                QACTIVE_POST(philo, EAT_SIG, n);\n                BSP_displayPhilStat(n, \"eating  \");\n                status_ = Q_HANDLED();\n            }\n            /*.${AOs::Table::SM::active::serving::HUNGRY::[else]} */\n            else {\n                me->isHungry[n] = 1U;\n                status_ = Q_HANDLED();\n            }\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::DONE} */\n        case DONE_SIG: {\n            uint8_t n, m;\n            QActive *philo;\n\n            n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* phil ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n\n            BSP_displayPhilStat(n, \"thinking\");\n            m = LEFT(n);\n            /* both forks of Phil[n] must be used */\n            Q_ASSERT((me->fork[n] == USED) && (me->fork[m] == USED));\n\n            me->fork[m] = FREE;\n            me->fork[n] = FREE;\n            m = RIGHT(n); /* check the right neighbor */\n\n            if ((me->isHungry[m] != 0U) && (me->fork[m] == FREE)) {\n                me->fork[n] = USED;\n                me->fork[m] = USED;\n                me->isHungry[m] = 0U;\n                philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n                QACTIVE_POST(philo, EAT_SIG, m);\n                BSP_displayPhilStat(m, \"eating  \");\n            }\n            m = LEFT(n); /* check the left neighbor */\n            n = LEFT(m); /* left fork of the left neighbor */\n            if ((me->isHungry[m] != 0U) && (me->fork[n] == FREE)) {\n                me->fork[m] = USED;\n                me->fork[n] = USED;\n                me->isHungry[m] = 0U;\n                philo = QF_ACTIVE_CAST(Q_ROM_PTR(QF_active[PHILO_0_PRIO + m].act));\n                QACTIVE_POST(philo, EAT_SIG, m);\n                BSP_displayPhilStat(m, \"eating  \");\n            }\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::EAT} */\n        case EAT_SIG: {\n            Q_ERROR();\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::PAUSE} */\n        case PAUSE_SIG: {\n            status_ = Q_TRAN(&Table_paused);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Table_active);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Table::SM::active::paused} .......................................*/\nstatic QState Table_paused(Table * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Table::SM::active::paused} */\n        case Q_ENTRY_SIG: {\n            BSP_displayPaused(1U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused} */\n        case Q_EXIT_SIG: {\n            BSP_displayPaused(0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused::SERVE} */\n        case SERVE_SIG: {\n            status_ = Q_TRAN(&Table_serving);\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused::HUNGRY} */\n        case HUNGRY_SIG: {\n            uint8_t n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* philo ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n            me->isHungry[n] = 1U;\n            BSP_displayPhilStat(n, \"hungry  \");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused::DONE} */\n        case DONE_SIG: {\n            uint8_t n, m;\n\n            n = (uint8_t)(Q_PAR(me) - PHILO_0_PRIO);\n            /* phil ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n\n            BSP_displayPhilStat(n, \"thinking\");\n            m = LEFT(n);\n            /* both forks of Phil[n] must be used */\n            Q_ASSERT((me->fork[n] == USED) && (me->fork[m] == USED));\n\n            me->fork[m] = FREE;\n            me->fork[n] = FREE;\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Table_active);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${AOs::Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/workstation/dpp-comp/Makefile",
    "content": "##############################################################################\n# Product: Makefile for QP-nano for Windows and POSIX *HOSTS*\n# Last updated for version 6.4.0\n# Last updated on  2019-01-09\n#\n#                    Q u a n t u m  L e a P s\n#                    ------------------------\n#                    Modern Embedded Software\n#\n# Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# https://www.state-machine.com\n# mailto:info@state-machine.com\n##############################################################################\n#\n# examples of invoking this Makefile:\n# building configurations: Debug (default), Release, and Spy\n# make\n# make CONF=rel\n#\n# cleaning configurations: Debug (default), Release, and Spy\n# make clean\n# make CONF=rel clean\n#\n# NOTE:\n# To use this Makefile on Windows, you will need the GNU make utility, which\n# is included in the QTools collection for Windows, see:\n#    http://sourceforge.net/projects/qpc/files/QTools/\n#\n\n#-----------------------------------------------------------------------------\n# project name:\n#\nPROJECT := dpp\n\n#-----------------------------------------------------------------------------\n# project directories:\n#\n\n# list of all source directories used by this project\nVPATH := . \\\n\n# list of all include directories needed by this project\nINCLUDES := -I. \\\n\n# location of the QP-nano framework (if not provided in an env. variable)\nifeq ($(QPN),)\nQPN := ../../..\nendif\n\n#-----------------------------------------------------------------------------\n# project files:\n#\n\n# C source files...\nC_SRCS := \\\n\tbsp.c \\\n\tmain.c \\\n\tphilo.c \\\n\ttable.c\n\n# C++ source files...\nCPP_SRCS :=\n\nLIB_DIRS  :=\nLIBS      :=\n\n# defines...\nDEFINES   :=\n\nifeq (,$(CONF))\n\tCONF := dbg\nendif\n\n#-----------------------------------------------------------------------------\n# add QP-nano framework (depends on the OS this Makefile runs on):\n#\nifeq ($(OS),Windows_NT)\n\nQPN_PORT_DIR := $(QPN)/ports/win32-qv\n\nC_SRCS += \\\n\tqepn.c \\\n\tqfn_win32.c\n\nelse\n\nQPN_PORT_DIR := $(QPN)/ports/posix-qv\n\nC_SRCS += \\\n\tqepn.c \\\n\tqfn_posix.c\n\nLIBS += -lpthread\n\nendif\n\n#============================================================================\n# Typically you should not need to change anything below this line\n\nVPATH    += $(QPN)/src/qfn $(QPN_PORT_DIR)\nINCLUDES += -I$(QPN)/include -I$(QPN)/src -I$(QPN_PORT_DIR)\n\n#-----------------------------------------------------------------------------\n# GNU toolset:\n#\n# NOTE:\n# GNU toolset (MinGW) is included in the QTools collection for Windows, see:\n#     http://sourceforge.net/projects/qpc/files/QTools/\n# It is assumed that %QTOOLS%\\bin directory is added to the PATH\n#\nCC    := gcc\nCPP   := g++\nLINK  := gcc    # for C programs\n#LINK  := g++   # for C++ programs\n\n#-----------------------------------------------------------------------------\n# basic utilities (depends on the OS this Makefile runs on):\n#\nifeq ($(OS),Windows_NT)\n\tMKDIR      := mkdir\n\tRM         := rm\n\tTARGET_EXT := .exe\nelse ifeq ($(OSTYPE),cygwin)\n\tMKDIR      := mkdir -p\n\tRM         := rm -f\n\tTARGET_EXT := .exe\nelse\n\tMKDIR      := mkdir -p\n\tRM         := rm -f\n\tTARGET_EXT :=\nendif\n\n#-----------------------------------------------------------------------------\n# build configurations...\n\nifeq (rel, $(CONF)) # Release configuration ..................................\n\nBIN_DIR := build_rel\n# gcc options:\nCFLAGS  = -c -O3 -fno-pie -std=c99 -pedantic -Wall -Wextra -W \\\n\t$(INCLUDES) $(DEFINES) -DNDEBUG\n\nCPPFLAGS = -c -O3 -fno-pie -std=c++11 -pedantic -Wall -Wextra \\\n\t-fno-rtti -fno-exceptions \\\n\t$(INCLUDES) $(DEFINES) -DNDEBUG\n\nelse # default Debug configuration .........................................\n\nBIN_DIR := build\n\n# gcc options:\nCFLAGS  = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \\\n\t$(INCLUDES) $(DEFINES)\n\nCPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \\\n\t-fno-rtti -fno-exceptions \\\n\t$(INCLUDES) $(DEFINES)\n\nendif  # .....................................................................\n\nLINKFLAGS :=\n\n#-----------------------------------------------------------------------------\nC_OBJS       := $(patsubst %.c,%.o,   $(C_SRCS))\nCPP_OBJS     := $(patsubst %.cpp,%.o, $(CPP_SRCS))\n\nTARGET_EXE   := $(BIN_DIR)/$(PROJECT)$(TARGET_EXT)\nC_OBJS_EXT   := $(addprefix $(BIN_DIR)/, $(C_OBJS))\nC_DEPS_EXT   := $(patsubst %.o,%.d, $(C_OBJS_EXT))\nCPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))\nCPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))\n\n# create $(BIN_DIR) if it does not exist\nifeq (\"$(wildcard $(BIN_DIR))\",\"\")\n$(shell $(MKDIR) $(BIN_DIR))\nendif\n\n#-----------------------------------------------------------------------------\n# rules\n#\n\nall: $(TARGET_EXE)\n\n$(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)\n\t$(LINK) $(LINKFLAGS) $(LIB_DIRS) -o $@ $^ $(LIBS)\n\n$(BIN_DIR)/%.d : %.c\n\t$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@\n\n$(BIN_DIR)/%.d : %.cpp\n\t$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@\n\n$(BIN_DIR)/%.o : %.c\n\t$(CC) $(CFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.cpp\n\t$(CPP) $(CPPFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.rc\n\t$(RC) $(RCINCLUDES) -i $< -o $@\n\n# include dependency files only if our goal depends on their existence\nifneq ($(MAKECMDGOALS),clean)\n  ifneq ($(MAKECMDGOALS),show)\n-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)\n  endif\nendif\n\n.PHONY : clean show\n\nclean :\n\t-$(RM) $(BIN_DIR)/*.o \\\n\t$(BIN_DIR)/*.d \\\n\t$(TARGET_EXE)\n\nshow :\n\t@echo PROJECT      = $(PROJECT)\n\t@echo TARGET_EXE   = $(TARGET_EXE)\n\t@echo VPATH        = $(VPATH)\n\t@echo C_SRCS       = $(C_SRCS)\n\t@echo CPP_SRCS     = $(CPP_SRCS)\n\t@echo C_DEPS_EXT   = $(C_DEPS_EXT)\n\t@echo C_OBJS_EXT   = $(C_OBJS_EXT)\n\t@echo C_DEPS_EXT   = $(C_DEPS_EXT)\n\t@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)\n\t@echo CPP_OBJS_EXT = $(CPP_OBJS_EXT)\n\t@echo LIB_DIRS     = $(LIB_DIRS)\n\t@echo LIBS         = $(LIBS)\n\t@echo DEFINES      = $(DEFINES)\n\n"
  },
  {
    "path": "examples/workstation/dpp-comp/bsp.c",
    "content": "/*****************************************************************************\n* Product: DPP example (console)\n* Last Updated for Version: 6.3.7\n* Date of the Last Update:  2018-12-13\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2018 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"dpp.h\"\n#include \"bsp.h\"\n\n#include \"safe_std.h\" /* portable \"safe\" <stdio.h>/<string.h> facilities */\n#include <stdlib.h>\n\n//Q_DEFINE_THIS_FILE\n\n/* local variables ---------------------------------------------------------*/\nstatic uint32_t l_rnd; /* random seed */\n\n/*..........................................................................*/\nvoid BSP_init(void) {\n    PRINTF_S(\"Dining Philosopher Problem example\\n\"\n           \"QP-nano %s\\n\"\n           \"Press 'p' to pause\\n\"\n           \"Press 's' to serve\\n\"\n           \"Press ESC to quit...\\n\",\n           QP_VERSION_STR);\n\n    BSP_randomSeed(1234U);\n}\n/*..........................................................................*/\nvoid BSP_terminate(int16_t result) {\n    (void)result;\n    QF_stop();\n}\n/*..........................................................................*/\nvoid BSP_displayPhilStat(uint8_t n, char_t const *stat) {\n    PRINTF_S(\"Philosopher %2d is %s\\n\", (int)n, stat);\n}\n/*..........................................................................*/\nvoid BSP_displayPaused(uint8_t paused) {\n    PRINTF_S(\"Paused is %s\\n\", paused ? \"ON\" : \"OFF\");\n}\n/*..........................................................................*/\nuint32_t BSP_random(void) {  /* a very cheap pseudo-random-number generator */\n    /* \"Super-Duper\" Linear Congruential Generator (LCG)\n    * LCG(2^32, 3*7*11*13*23, 0, seed)\n    */\n    l_rnd = l_rnd * (3U*7U*11U*13U*23U);\n    return l_rnd >> 8;\n}\n/*..........................................................................*/\nvoid BSP_randomSeed(uint32_t seed) {\n    l_rnd = seed;\n}\n\n/****************************************************************************/\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char_t const Q_ROM * const module, int_t id) {\n    FPRINTF_S(stderr, \"Assertion in %s:%d\", module, id);\n    BSP_terminate(-1);\n}\n\n/*--------------------------------------------------------------------------*/\nvoid QF_onStartup(void) {\n    QF_consoleSetup();\n    QF_setTickRate(BSP_TICKS_PER_SEC, 50); /* desired tick rate/ticker-prio */\n}\n/*..........................................................................*/\nvoid QF_onCleanup(void) {\n    PRINTF_S(\"\\n%s\\n\", \"Bye! Bye!\");\n    QF_consoleCleanup();\n}\n/*..........................................................................*/\nvoid QF_onClockTickISR(void) {\n    QF_tickXISR(0U); /* perform the QF-nano clock tick processing */\n\n    switch (QF_consoleGetKey()) {\n        case '\\33': { /* see if the ESC key pressed */\n            BSP_terminate(0);\n            break;\n        }\n        case 'p': {\n            QACTIVE_POST_ISR((QActive *)&AO_Table, PAUSE_SIG, 0U);\n            break;\n        }\n        case 's': {\n            QACTIVE_POST_ISR((QActive *)&AO_Table, SERVE_SIG, 0U);\n            break;\n        }\n        default: {\n            break;\n        }\n    }\n}\n\n"
  },
  {
    "path": "examples/workstation/dpp-comp/bsp.h",
    "content": "/*****************************************************************************\n* Product: DPP example\n* Last Updated for Version: 5.4.0\n* Date of the Last Update:  2015-03-07\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* Web  : www.state-machine.com\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BSP_H\n#define BSP_H\n\n#define BSP_TICKS_PER_SEC    100U\n\nvoid BSP_init(void);\nvoid BSP_displayPaused(uint8_t paused);\nvoid BSP_displayPhilStat(uint8_t n, char_t const *stat);\nvoid BSP_terminate(int16_t result);\n\nvoid BSP_randomSeed(uint32_t seed);   /* random seed */\nuint32_t BSP_random(void);            /* pseudo-random generator */\n\n#endif /* BSP_H */\n"
  },
  {
    "path": "examples/workstation/dpp-comp/dpp.h",
    "content": "/*.$file${.::dpp.h} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: dpp_comp.qm\n* File:  ${.::dpp.h}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::dpp.h} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#ifndef DPP_H\n#define DPP_H\n\nenum DPPSignals {\n    EAT_SIG = Q_USER_SIG, /* published by Table to let a philosopher eat */\n    DONE_SIG,             /* published by Philosopher when done eating */\n    PAUSE_SIG,            /* published by BSP to pause the application */\n    SERVE_SIG,            /* published by BSP to pause the application */\n    TERMINATE_SIG,        /* published by BSP to terminate the application */\n    HUNGRY_SIG,           /* posted direclty to Table from hungry Philo */\n    MAX_SIG               /* the last signal */\n};\n\n/* number of philosophers */\n#define N_PHILO ((uint8_t)10)\n\n/*.$declare${AOs::Philo} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo} ...........................................................*/\ntypedef struct Philo {\n/* protected: */\n    QHsm super;\n\n/* public: */\n    uint16_t tickCtr;\n    uint8_t num;\n} Philo;\n\n/* public: */\nvoid Philo_ctor(Philo * const me, uint8_t num);\n\n/* protected: */\nQState Philo_initial(Philo * const me);\nQState Philo_thinking(Philo * const me);\nQState Philo_hungry(Philo * const me);\nQState Philo_eating(Philo * const me);\n/*.$enddecl${AOs::Philo} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::AO_Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\nextern struct Table AO_Table;\n/*.$enddecl${AOs::AO_Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$declare${AOs::Table_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table_ctor} ......................................................*/\nvoid Table_ctor(void);\n/*.$enddecl${AOs::Table_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n#endif /* DPP_H */\n"
  },
  {
    "path": "examples/workstation/dpp-comp/dpp.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio Express 2013 for Windows Desktop\nVisualStudioVersion = 12.0.21005.1\nMinimumVisualStudioVersion = 10.0.40219.1\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"dpp\", \"dpp.vcxproj\", \"{8CC465F7-872E-4D03-B93C-1B64858B4E11}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{8CC465F7-872E-4D03-B93C-1B64858B4E11}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{8CC465F7-872E-4D03-B93C-1B64858B4E11}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{8CC465F7-872E-4D03-B93C-1B64858B4E11}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{8CC465F7-872E-4D03-B93C-1B64858B4E11}.Release|Win32.Build.0 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "examples/workstation/dpp-comp/dpp.vcxproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"12.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <ItemGroup Label=\"ProjectConfigurations\">\n    <ProjectConfiguration Include=\"Debug|Win32\">\n      <Configuration>Debug</Configuration>\n      <Platform>Win32</Platform>\n    </ProjectConfiguration>\n    <ProjectConfiguration Include=\"Release|Win32\">\n      <Configuration>Release</Configuration>\n      <Platform>Win32</Platform>\n    </ProjectConfiguration>\n  </ItemGroup>\n  <PropertyGroup Label=\"Globals\">\n    <ProjectGuid>{8CC465F7-872E-4D03-B93C-1B64858B4E11}</ProjectGuid>\n    <RootNamespace>dpp</RootNamespace>\n    <Keyword>Win32Proj</Keyword>\n    <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>\n  </PropertyGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.Default.props\" />\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\" Label=\"Configuration\">\n    <ConfigurationType>Application</ConfigurationType>\n    <CharacterSet>NotSet</CharacterSet>\n    <WholeProgramOptimization>true</WholeProgramOptimization>\n    <PlatformToolset>v142</PlatformToolset>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\" Label=\"Configuration\">\n    <ConfigurationType>Application</ConfigurationType>\n    <CharacterSet>NotSet</CharacterSet>\n    <PlatformToolset>v142</PlatformToolset>\n  </PropertyGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.props\" />\n  <ImportGroup Label=\"ExtensionSettings\">\n  </ImportGroup>\n  <ImportGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\" Label=\"PropertySheets\">\n    <Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n  </ImportGroup>\n  <ImportGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\" Label=\"PropertySheets\">\n    <Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n  </ImportGroup>\n  <PropertyGroup Label=\"UserMacros\" />\n  <PropertyGroup>\n    <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>\n    <OutDir Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">$(SolutionDir)$(Configuration)\\</OutDir>\n    <IntDir Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">$(Configuration)\\</IntDir>\n    <LinkIncremental Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">true</LinkIncremental>\n    <OutDir Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">$(SolutionDir)$(Configuration)\\</OutDir>\n    <IntDir Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">$(Configuration)\\</IntDir>\n    <LinkIncremental Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">false</LinkIncremental>\n  </PropertyGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">\n    <ClCompile>\n      <Optimization>Disabled</Optimization>\n      <AdditionalIncludeDirectories>.;../../../include;../../../ports/win32-qv</AdditionalIncludeDirectories>\n      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <MinimalRebuild>false</MinimalRebuild>\n      <ExceptionHandling>\n      </ExceptionHandling>\n      <BasicRuntimeChecks>Default</BasicRuntimeChecks>\n      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\n      <PrecompiledHeader>NotUsing</PrecompiledHeader>\n      <WarningLevel>Level4</WarningLevel>\n      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\n      <DisableSpecificWarnings>4127</DisableSpecificWarnings>\n      <CompileAs>Default</CompileAs>\n    </ClCompile>\n    <Link>\n      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\n      <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n      <GenerateDebugInformation>true</GenerateDebugInformation>\n      <SubSystem>Console</SubSystem>\n      <TargetMachine>MachineX86</TargetMachine>\n    </Link>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">\n    <ClCompile>\n      <Optimization>MaxSpeed</Optimization>\n      <IntrinsicFunctions>true</IntrinsicFunctions>\n      <AdditionalIncludeDirectories>.;../../../include;../../../ports/win32-qv</AdditionalIncludeDirectories>\n      <PreprocessorDefinitions>NDEBUG;snprintf=_snprintf;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <MinimalRebuild>false</MinimalRebuild>\n      <ExceptionHandling>\n      </ExceptionHandling>\n      <BasicRuntimeChecks>Default</BasicRuntimeChecks>\n      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\n      <FunctionLevelLinking>true</FunctionLevelLinking>\n      <PrecompiledHeader>NotUsing</PrecompiledHeader>\n      <WarningLevel>Level4</WarningLevel>\n      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\n      <DisableSpecificWarnings>4127</DisableSpecificWarnings>\n    </ClCompile>\n    <Link>\n      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\n      <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n      <GenerateDebugInformation>true</GenerateDebugInformation>\n      <SubSystem>Console</SubSystem>\n      <OptimizeReferences>true</OptimizeReferences>\n      <EnableCOMDATFolding>true</EnableCOMDATFolding>\n      <TargetMachine>MachineX86</TargetMachine>\n      <GenerateMapFile>true</GenerateMapFile>\n    </Link>\n  </ItemDefinitionGroup>\n  <ItemGroup>\n    <ClCompile Include=\"..\\..\\..\\ports\\win32-qv\\qfn_win32.c\" />\n    <ClCompile Include=\"..\\..\\..\\src\\qfn\\qepn.c\" />\n    <ClCompile Include=\"bsp.c\" />\n    <ClCompile Include=\"main.c\" />\n    <ClCompile Include=\"philo.c\" />\n    <ClCompile Include=\"table.c\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ClInclude Include=\"..\\..\\..\\ports\\win32-qv\\qfn_port.h\" />\n    <ClInclude Include=\"bsp.h\" />\n    <ClInclude Include=\"dpp.h\" />\n  </ItemGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\" />\n  <ImportGroup Label=\"ExtensionTargets\">\n  </ImportGroup>\n</Project>"
  },
  {
    "path": "examples/workstation/dpp-comp/dpp.vcxproj.filters",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <ItemGroup>\n    <ClCompile Include=\"bsp.c\" />\n    <ClCompile Include=\"main.c\" />\n    <ClCompile Include=\"philo.c\" />\n    <ClCompile Include=\"table.c\" />\n    <ClCompile Include=\"..\\..\\..\\ports\\win32-qv\\qfn_win32.c\">\n      <Filter>QP</Filter>\n    </ClCompile>\n    <ClCompile Include=\"..\\..\\..\\src\\qfn\\qepn.c\">\n      <Filter>QP</Filter>\n    </ClCompile>\n  </ItemGroup>\n  <ItemGroup>\n    <ClInclude Include=\"bsp.h\" />\n    <ClInclude Include=\"dpp.h\" />\n    <ClInclude Include=\"..\\..\\..\\ports\\win32-qv\\qfn_port.h\">\n      <Filter>QP</Filter>\n    </ClInclude>\n  </ItemGroup>\n  <ItemGroup>\n    <Filter Include=\"QP\">\n      <UniqueIdentifier>{a6390746-fe72-41ca-8497-373e88ccf529}</UniqueIdentifier>\n    </Filter>\n  </ItemGroup>\n</Project>"
  },
  {
    "path": "examples/workstation/dpp-comp/dpp_comp.qm",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<model version=\"4.6.0\" links=\"1\">\n <documentation>Dining Philosopher Problem (DPP) example with the &quot;Orthogonal Component&quot; state pattern. In this implemetnation, the Philosophers (Philos) are not active objects, but rather state-machine components of the Table active object.</documentation>\n <!--${qpn}-->\n <framework name=\"qpn\"/>\n <!--${AOs}-->\n <package name=\"AOs\" stereotype=\"0x02\">\n  <!--${AOs::Philo}-->\n  <class name=\"Philo\" superclass=\"qpn::QHsm\">\n   <!--${AOs::Philo::tickCtr}-->\n   <attribute name=\"tickCtr\" type=\"uint16_t\" visibility=\"0x00\" properties=\"0x00\"/>\n   <!--${AOs::Philo::num}-->\n   <attribute name=\"num\" type=\"uint8_t\" visibility=\"0x00\" properties=\"0x00\"/>\n   <!--${AOs::Philo::ctor}-->\n   <operation name=\"ctor\" type=\"void\" visibility=\"0x00\" properties=\"0x00\">\n    <!--${AOs::Philo::ctor::num}-->\n    <parameter name=\"num\" type=\"uint8_t\"/>\n    <code>QHsm_ctor(&amp;me-&gt;super, Q_STATE_CAST(&amp;Philo_initial));\nme-&gt;num = num;</code>\n   </operation>\n   <!--${AOs::Philo::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${AOs::Philo::SM::initial}-->\n    <initial target=\"../1\">\n     <action>me-&gt;tickCtr = 0U;</action>\n     <initial_glyph conn=\"2,3,5,1,20,5,-4\">\n      <action box=\"0,-2,6,2\"/>\n     </initial_glyph>\n    </initial>\n    <!--${AOs::Philo::SM::thinking}-->\n    <state name=\"thinking\">\n     <entry>me-&gt;tickCtr = THINK_TIME;</entry>\n     <exit>me-&gt;tickCtr = 0U;</exit>\n     <!--${AOs::Philo::SM::thinking::Q_TIMEOUT}-->\n     <tran trig=\"Q_TIMEOUT\" target=\"../../2\">\n      <tran_glyph conn=\"2,14,3,1,20,11,-4\">\n       <action box=\"0,-2,10,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Philo::SM::thinking::EAT, DONE}-->\n     <tran trig=\"EAT, DONE\">\n      <action>Q_ERROR(); /* these events should never arrive in this state */</action>\n      <tran_glyph conn=\"2,17,3,-1,13\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,5,16,16\">\n      <entry box=\"1,2,5,2\"/>\n      <exit box=\"1,4,6,2\"/>\n     </state_glyph>\n    </state>\n    <!--${AOs::Philo::SM::hungry}-->\n    <state name=\"hungry\">\n     <entry>QACTIVE_POST(&amp;AO_Table, HUNGRY_SIG, me-&gt;num);</entry>\n     <!--${AOs::Philo::SM::hungry::EAT}-->\n     <tran trig=\"EAT\" target=\"../../3\">\n      <tran_glyph conn=\"2,32,3,1,20,11,-4\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Philo::SM::hungry::DONE}-->\n     <tran trig=\"DONE\">\n      <action>Q_ERROR(); /* this event should never arrive in this state */</action>\n      <tran_glyph conn=\"2,36,3,-1,14\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,23,16,16\">\n      <entry box=\"1,2,5,2\"/>\n     </state_glyph>\n    </state>\n    <!--${AOs::Philo::SM::eating}-->\n    <state name=\"eating\">\n     <entry>me-&gt;tickCtr = EAT_TIME;</entry>\n     <exit>me-&gt;tickCtr = 0U;\nQACTIVE_POST(QF_ACTIVE_CAST(&amp;AO_Table), DONE_SIG, me-&gt;num);</exit>\n     <!--${AOs::Philo::SM::eating::Q_TIMEOUT}-->\n     <tran trig=\"Q_TIMEOUT\" target=\"../../1\">\n      <tran_glyph conn=\"2,51,3,1,22,-41,-6\">\n       <action box=\"0,-2,6,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Philo::SM::eating::EAT, DONE}-->\n     <tran trig=\"EAT, DONE\">\n      <action>Q_ERROR(); /* these events should never arrive in this state */</action>\n      <tran_glyph conn=\"2,55,3,-1,13\">\n       <action box=\"0,-2,14,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,41,16,18\">\n      <entry box=\"1,2,5,2\"/>\n      <exit box=\"1,4,5,2\"/>\n     </state_glyph>\n    </state>\n    <state_diagram size=\"28,62\"/>\n   </statechart>\n  </class>\n  <!--${AOs::Table}-->\n  <class name=\"Table\" superclass=\"qpn::QActive\">\n   <!--${AOs::Table::philo_pool[N_PHILO]}-->\n   <attribute name=\"philo_pool[N_PHILO]\" type=\"Philo\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Table::fork[N_PHILO]}-->\n   <attribute name=\"fork[N_PHILO]\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Table::isHungry[N_PHILO]}-->\n   <attribute name=\"isHungry[N_PHILO]\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${AOs::Table::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${AOs::Table::SM::initial}-->\n    <initial target=\"../1/2\">\n     <action>uint8_t n;\nfor (n = 0U; n &lt; N_PHILO; ++n) {\n    QHSM_INIT(&amp;me-&gt;philo_pool[n].super);\n    me-&gt;fork[n] = FREE;\n    me-&gt;isHungry[n] = 0U;\n    BSP_displayPhilStat(n, &quot;thinking&quot;);\n}</action>\n     <initial_glyph conn=\"4,4,5,1,42,18,-8\">\n      <action box=\"0,-2,6,2\"/>\n     </initial_glyph>\n    </initial>\n    <!--${AOs::Table::SM::active}-->\n    <state name=\"active\">\n     <entry>// request periodic timeout in 1 clock tick and every 1 tick\nQActive_armX(&amp;me-&gt;super, 0U, 1U, 1U);</entry>\n     <!--${AOs::Table::SM::active::EAT}-->\n     <tran trig=\"EAT\">\n      <action>Q_ERROR();</action>\n      <tran_glyph conn=\"2,13,3,-1,14\">\n       <action box=\"0,-2,13,4\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Table::SM::active::Q_TIMEOUT}-->\n     <tran trig=\"Q_TIMEOUT\">\n      <action>uint8_t n;\nfor (n = 0U; n &lt; N_PHILO; ++n) { // for all &quot;Philo&quot; components...\n    Philo *philo = &amp;me-&gt;philo_pool[n];\n    if (philo-&gt;tickCtr != 0U) { // is the &quot;Philo&quot; tick counter runnning?\n        if (--philo-&gt;tickCtr == 0U) { // is the &quot;Philo&quot; tick expiring?\n            // synchronously dispatch to component\n            Q_SIG(philo) = Q_TIMEOUT_SIG;\n            Q_PAR(philo) = n;\n            QHSM_DISPATCH(&amp;philo-&gt;super);\n        }\n    }\n}</action>\n      <tran_glyph conn=\"2,18,3,-1,14\">\n       <action box=\"0,-2,12,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${AOs::Table::SM::active::serving}-->\n     <state name=\"serving\">\n      <entry brief=\"give pending permitions to eat\">uint8_t n;\nfor (n = 0U; n &lt; N_PHILO; ++n) { /* give permissions to eat... */\n    if ((me-&gt;isHungry[n] != 0U)\n        &amp;&amp; (me-&gt;fork[LEFT(n)] == FREE)\n        &amp;&amp; (me-&gt;fork[n] == FREE))\n    {\n        me-&gt;fork[LEFT(n)] = USED;\n        me-&gt;fork[n] = USED;\n\n        /* synchronously dispatch to philo_pool[n] */\n        Q_SIG(&amp;me-&gt;philo_pool[n]) = EAT_SIG;\n        Q_PAR(&amp;me-&gt;philo_pool[n]) = n;\n        QHSM_DISPATCH(&amp;me-&gt;philo_pool[n].super);\n\n        me-&gt;isHungry[n] = 0U;\n        BSP_displayPhilStat(n, &quot;eating  &quot;);\n    }\n}</entry>\n      <!--${AOs::Table::SM::active::serving::HUNGRY}-->\n      <tran trig=\"HUNGRY\">\n       <action>uint8_t n, m;\n\nn = (uint8_t)Q_PAR(me);\n/* philo ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\n\nBSP_displayPhilStat(n, &quot;hungry  &quot;);\nm = LEFT(n);</action>\n       <!--${AOs::Table::SM::active::serving::HUNGRY::[bothfree]}-->\n       <choice>\n        <guard brief=\"both free\">(me-&gt;fork[m] == FREE) &amp;&amp; (me-&gt;fork[n] == FREE)</guard>\n        <action>me-&gt;fork[m] = USED;\nme-&gt;fork[n] = USED;\n\n/* synchronously dispatch to philo_pool[n] */\nQ_SIG(&amp;me-&gt;philo_pool[n]) = EAT_SIG;\nQ_PAR(&amp;me-&gt;philo_pool[n]) = n;\nQHSM_DISPATCH(&amp;me-&gt;philo_pool[n].super);\n\nBSP_displayPhilStat(n, &quot;eating  &quot;);</action>\n        <choice_glyph conn=\"19,27,5,-1,10\">\n         <action box=\"1,0,10,2\"/>\n        </choice_glyph>\n       </choice>\n       <!--${AOs::Table::SM::active::serving::HUNGRY::[else]}-->\n       <choice>\n        <guard>else</guard>\n        <action>me-&gt;isHungry[n] = 1U;</action>\n        <choice_glyph conn=\"19,27,4,-1,5,10\">\n         <action box=\"1,5,6,2\"/>\n        </choice_glyph>\n       </choice>\n       <tran_glyph conn=\"4,27,3,-1,15\">\n        <action box=\"0,-2,8,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::serving::DONE}-->\n      <tran trig=\"DONE\">\n       <action>uint8_t n, m;\n\nn = (uint8_t)Q_PAR(me);\n\n/* phil ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\n\nBSP_displayPhilStat(n, &quot;thinking&quot;);\nm = LEFT(n);\n/* both forks of Philo[n] must be used */\nQ_ASSERT((me-&gt;fork[n] == USED) &amp;&amp; (me-&gt;fork[m] == USED));\n\nme-&gt;fork[m] = FREE;\nme-&gt;fork[n] = FREE;\nm = RIGHT(n); /* check the right neighbor */\n\nif ((me-&gt;isHungry[m] != 0U) &amp;&amp; (me-&gt;fork[m] == FREE)) {\n    me-&gt;fork[n] = USED;\n    me-&gt;fork[m] = USED;\n    me-&gt;isHungry[m] = 0U;\n\n    /* synchronously dispatch to philo_pool[m] */\n    Q_SIG(&amp;me-&gt;philo_pool[m]) = EAT_SIG;\n    Q_PAR(&amp;me-&gt;philo_pool[m]) = m;\n    QHSM_DISPATCH(&amp;me-&gt;philo_pool[m].super);\n\n    BSP_displayPhilStat(m, &quot;eating  &quot;);\n}\nm = LEFT(n); /* check the left neighbor */\nn = LEFT(m); /* left fork of the left neighbor */\nif ((me-&gt;isHungry[m] != 0U) &amp;&amp; (me-&gt;fork[n] == FREE)) {\n    me-&gt;fork[m] = USED;\n    me-&gt;fork[n] = USED;\n    me-&gt;isHungry[m] = 0U;\n\n    /* synchronously dispatch to philo_pool[m] */\n    Q_SIG(&amp;me-&gt;philo_pool[m]) = EAT_SIG;\n    Q_PAR(&amp;me-&gt;philo_pool[m]) = m;\n    QHSM_DISPATCH(&amp;me-&gt;philo_pool[m].super);\n\n    BSP_displayPhilStat(m, &quot;eating  &quot;);\n}</action>\n       <tran_glyph conn=\"4,35,3,-1,15\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::serving::EAT}-->\n      <tran trig=\"EAT\">\n       <action>Q_ERROR();</action>\n       <tran_glyph conn=\"4,38,3,-1,15\">\n        <action box=\"0,-2,12,4\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::serving::PAUSE}-->\n      <tran trig=\"PAUSE\" target=\"../../3\">\n       <tran_glyph conn=\"4,42,3,1,36,6,-2\">\n        <action box=\"0,-2,7,2\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"4,20,34,24\">\n       <entry box=\"1,2,27,2\"/>\n      </state_glyph>\n     </state>\n     <!--${AOs::Table::SM::active::paused}-->\n     <state name=\"paused\">\n      <entry>BSP_displayPaused(1U);</entry>\n      <exit>BSP_displayPaused(0U);</exit>\n      <!--${AOs::Table::SM::active::paused::SERVE}-->\n      <tran trig=\"SERVE\" target=\"../../2\">\n       <tran_glyph conn=\"4,58,3,1,38,-20,-4\">\n        <action box=\"0,-2,7,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::paused::HUNGRY}-->\n      <tran trig=\"HUNGRY\">\n       <action>uint8_t n = (uint8_t)Q_PAR(me);\n\n/* philo ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\nme-&gt;isHungry[n] = 1U;\nBSP_displayPhilStat(n, &quot;hungry  &quot;);</action>\n       <tran_glyph conn=\"4,61,3,-1,15\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${AOs::Table::SM::active::paused::DONE}-->\n      <tran trig=\"DONE\">\n       <action>uint8_t n, m;\n\nn = (uint8_t)Q_PAR(me);\n/* philo ID must be in range and he must be not hungry */\nQ_ASSERT((n &lt; N_PHILO) &amp;&amp; (me-&gt;isHungry[n] == 0U));\n\nBSP_displayPhilStat(n, &quot;thinking&quot;);\nm = LEFT(n);\n/* both forks of Phil[n] must be used */\nQ_ASSERT((me-&gt;fork[n] == USED) &amp;&amp; (me-&gt;fork[m] == USED));\n\nme-&gt;fork[m] = FREE;\nme-&gt;fork[n] = FREE;</action>\n       <tran_glyph conn=\"4,64,3,-1,15\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <state_glyph node=\"4,46,34,20\">\n       <entry box=\"1,2,18,4\"/>\n       <exit box=\"1,6,18,4\"/>\n      </state_glyph>\n     </state>\n     <state_glyph node=\"2,6,42,62\">\n      <entry box=\"1,2,6,2\"/>\n     </state_glyph>\n    </state>\n    <state_diagram size=\"50,71\"/>\n   </statechart>\n  </class>\n  <!--${AOs::AO_Table}-->\n  <attribute name=\"AO_Table\" type=\"struct Table\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${AOs::Table_ctor}-->\n  <operation name=\"Table_ctor\" type=\"void\" visibility=\"0x00\" properties=\"0x01\">\n   <code>uint8_t n;\nTable *me = &amp;AO_Table;\n\nQActive_ctor(&amp;me-&gt;super, Q_STATE_CAST(&amp;Table_initial));\nfor (n = 0U; n &lt; N_PHILO; ++n) {\n    Philo_ctor(&amp;me-&gt;philo_pool[n], n);\n    me-&gt;fork[n] = FREE;\n    me-&gt;isHungry[n] = 0U;\n}</code>\n  </operation>\n </package>\n <!--${.}-->\n <directory name=\".\">\n  <!--${.::dpp.h}-->\n  <file name=\"dpp.h\">\n   <text>#ifndef DPP_H\n#define DPP_H\n\nenum DPPSignals {\n    EAT_SIG = Q_USER_SIG, /* published by Table to let a philosopher eat */\n    DONE_SIG,             /* published by Philosopher when done eating */\n    PAUSE_SIG,            /* published by BSP to pause the application */\n    SERVE_SIG,            /* published by BSP to pause the application */\n    TERMINATE_SIG,        /* published by BSP to terminate the application */\n    HUNGRY_SIG,           /* posted direclty to Table from hungry Philo */\n    MAX_SIG               /* the last signal */\n};\n\n/* number of philosophers */\n#define N_PHILO ((uint8_t)10)\n\n$declare${AOs::Philo}\n$declare${AOs::AO_Table}\n$declare${AOs::Table_ctor}\n\n#endif /* DPP_H */\n</text>\n  </file>\n  <!--${.::philo.c}-->\n  <file name=\"philo.c\">\n   <text>#include &quot;qpn.h&quot;  /* QP-nano port */\n#include &quot;bsp.h&quot;  /* Board Support Package */\n#include &quot;dpp.h&quot;  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(&quot;philo&quot;)\n\n/* Active object class -----------------------------------------------------*/\n\n/* Local objects -----------------------------------------------------------*/\n#define THINK_TIME  \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + (BSP_TICKS_PER_SEC/2U))\n#define EAT_TIME    \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + BSP_TICKS_PER_SEC)\n\n/* Philo definition --------------------------------------------------------*/\n$define${AOs::Philo}</text>\n  </file>\n  <!--${.::table.c}-->\n  <file name=\"table.c\">\n   <text>#include &quot;qpn.h&quot;  /* QP-nano port */\n#include &quot;bsp.h&quot;  /* Board Support Package */\n#include &quot;dpp.h&quot;  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(&quot;table&quot;)\n\n/* Active object class -----------------------------------------------------*/\n$declare${AOs::Table}\n\n/* Global objects ----------------------------------------------------------*/\n$define${AOs::AO_Table}\n\n#define RIGHT(n_) ((uint8_t)(((n_) + (N_PHILO - 1U)) % N_PHILO))\n#define LEFT(n_)  ((uint8_t)(((n_) + 1U) % N_PHILO))\n#define FREE      ((uint8_t)0)\n#define USED      ((uint8_t)1)\n\n/*..........................................................................*/\n$define${AOs::Table_ctor}\n$define${AOs::Table}\n</text>\n  </file>\n </directory>\n</model>\n"
  },
  {
    "path": "examples/workstation/dpp-comp/main.c",
    "content": "/*****************************************************************************\n* Product: DPP example\n* Last Updated for Version: 5.9.8\n* Date of the Last Update:  2017-09-19\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"  /* QP-nano */\n#include \"bsp.h\"  /* Board Support Package */\n#include \"dpp.h\"  /* Application interface */\n\n/*..........................................................................*/\nstatic QEvt l_tableQueue[10];\n\n/* QF_active[] array defines all active object control blocks --------------*/\nQActiveCB const Q_ROM QF_active[] = {\n    { (QActive *)0,           (QEvt *)0,        0U                      },\n    { (QActive *)&AO_Table,   l_tableQueue,     Q_DIM(l_tableQueue)     }\n};\n\n/*..........................................................................*/\nint_t main() {\n    Table_ctor();    /* instantiate the Table AO */\n\n    QF_init(Q_DIM(QF_active)); /* initialize the QF-nano framework */\n    BSP_init();      /* initialize the Board Support Package */\n\n    return QF_run(); /* transfer control to QF-nano */\n}\n"
  },
  {
    "path": "examples/workstation/dpp-comp/philo.c",
    "content": "/*.$file${.::philo.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: dpp_comp.qm\n* File:  ${.::philo.c}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::philo.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"  /* QP-nano port */\n#include \"bsp.h\"  /* Board Support Package */\n#include \"dpp.h\"  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(\"philo\")\n\n/* Active object class -----------------------------------------------------*/\n\n/* Local objects -----------------------------------------------------------*/\n#define THINK_TIME  \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + (BSP_TICKS_PER_SEC/2U))\n#define EAT_TIME    \\\n    (QTimeEvtCtr)((BSP_random() % BSP_TICKS_PER_SEC) + BSP_TICKS_PER_SEC)\n\n/* Philo definition --------------------------------------------------------*/\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 650U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.5.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Philo} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Philo} ...........................................................*/\n/*.${AOs::Philo::ctor} .....................................................*/\nvoid Philo_ctor(Philo * const me, uint8_t num) {\n    QHsm_ctor(&me->super, Q_STATE_CAST(&Philo_initial));\n    me->num = num;\n}\n\n/*.${AOs::Philo::SM} .......................................................*/\nQState Philo_initial(Philo * const me) {\n    /*.${AOs::Philo::SM::initial} */\n    me->tickCtr = 0U;\n    return Q_TRAN(&Philo_thinking);\n}\n/*.${AOs::Philo::SM::thinking} .............................................*/\nQState Philo_thinking(Philo * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Philo::SM::thinking} */\n        case Q_ENTRY_SIG: {\n            me->tickCtr = THINK_TIME;\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::thinking} */\n        case Q_EXIT_SIG: {\n            me->tickCtr = 0U;\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::thinking::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Philo_hungry);\n            break;\n        }\n        /*.${AOs::Philo::SM::thinking::EAT, DONE} */\n        case EAT_SIG: /* intentionally fall through */\n        case DONE_SIG: {\n            Q_ERROR(); /* these events should never arrive in this state */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Philo::SM::hungry} ...............................................*/\nQState Philo_hungry(Philo * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Philo::SM::hungry} */\n        case Q_ENTRY_SIG: {\n            QACTIVE_POST(&AO_Table, HUNGRY_SIG, me->num);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::hungry::EAT} */\n        case EAT_SIG: {\n            status_ = Q_TRAN(&Philo_eating);\n            break;\n        }\n        /*.${AOs::Philo::SM::hungry::DONE} */\n        case DONE_SIG: {\n            Q_ERROR(); /* this event should never arrive in this state */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Philo::SM::eating} ...............................................*/\nQState Philo_eating(Philo * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Philo::SM::eating} */\n        case Q_ENTRY_SIG: {\n            me->tickCtr = EAT_TIME;\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::eating} */\n        case Q_EXIT_SIG: {\n            me->tickCtr = 0U;\n            QACTIVE_POST(QF_ACTIVE_CAST(&AO_Table), DONE_SIG, me->num);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Philo::SM::eating::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Philo_thinking);\n            break;\n        }\n        /*.${AOs::Philo::SM::eating::EAT, DONE} */\n        case EAT_SIG: /* intentionally fall through */\n        case DONE_SIG: {\n            Q_ERROR(); /* these events should never arrive in this state */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${AOs::Philo} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/workstation/dpp-comp/qpn_conf.h",
    "content": "/*****************************************************************************\n* Product: QP-nano configuration for the Blinky example\n* Last Updated for Version: 5.6.2\n* Date of the Last Update:  2016-04-05\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef QPN_CONF_H\n#define QPN_CONF_H\n\n#define Q_PARAM_SIZE            4U\n#define QF_MAX_TICK_RATE        1U\n#define QF_TIMEEVT_CTR_SIZE     2U\n#define QF_TIMEEVT_PERIODIC\n\n#endif  /* QPN_CONF_H */\n"
  },
  {
    "path": "examples/workstation/dpp-comp/table.c",
    "content": "/*.$file${.::table.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: dpp_comp.qm\n* File:  ${.::table.c}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::table.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"  /* QP-nano port */\n#include \"bsp.h\"  /* Board Support Package */\n#include \"dpp.h\"  /* Application interface */\n\nQ_DEFINE_THIS_MODULE(\"table\")\n\n/* Active object class -----------------------------------------------------*/\n/*.$declare${AOs::Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table} ...........................................................*/\ntypedef struct Table {\n/* protected: */\n    QActive super;\n\n/* private: */\n    Philo philo_pool[N_PHILO];\n    uint8_t fork[N_PHILO];\n    uint8_t isHungry[N_PHILO];\n} Table;\n\n/* protected: */\nstatic QState Table_initial(Table * const me);\nstatic QState Table_active(Table * const me);\nstatic QState Table_serving(Table * const me);\nstatic QState Table_paused(Table * const me);\n/*.$enddecl${AOs::Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Global objects ----------------------------------------------------------*/\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 650U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.5.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::AO_Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::AO_Table} ........................................................*/\nstruct Table AO_Table;\n/*.$enddef${AOs::AO_Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n#define RIGHT(n_) ((uint8_t)(((n_) + (N_PHILO - 1U)) % N_PHILO))\n#define LEFT(n_)  ((uint8_t)(((n_) + 1U) % N_PHILO))\n#define FREE      ((uint8_t)0)\n#define USED      ((uint8_t)1)\n\n/*..........................................................................*/\n/*.$define${AOs::Table_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table_ctor} ......................................................*/\nvoid Table_ctor(void) {\n    uint8_t n;\n    Table *me = &AO_Table;\n\n    QActive_ctor(&me->super, Q_STATE_CAST(&Table_initial));\n    for (n = 0U; n < N_PHILO; ++n) {\n        Philo_ctor(&me->philo_pool[n], n);\n        me->fork[n] = FREE;\n        me->isHungry[n] = 0U;\n    }\n}\n/*.$enddef${AOs::Table_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${AOs::Table} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${AOs::Table} ...........................................................*/\n/*.${AOs::Table::SM} .......................................................*/\nstatic QState Table_initial(Table * const me) {\n    /*.${AOs::Table::SM::initial} */\n    uint8_t n;\n    for (n = 0U; n < N_PHILO; ++n) {\n        QHSM_INIT(&me->philo_pool[n].super);\n        me->fork[n] = FREE;\n        me->isHungry[n] = 0U;\n        BSP_displayPhilStat(n, \"thinking\");\n    }\n    return Q_TRAN(&Table_serving);\n}\n/*.${AOs::Table::SM::active} ...............................................*/\nstatic QState Table_active(Table * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Table::SM::active} */\n        case Q_ENTRY_SIG: {\n            // request periodic timeout in 1 clock tick and every 1 tick\n            QActive_armX(&me->super, 0U, 1U, 1U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::EAT} */\n        case EAT_SIG: {\n            Q_ERROR();\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            uint8_t n;\n            for (n = 0U; n < N_PHILO; ++n) { // for all \"Philo\" components...\n                Philo *philo = &me->philo_pool[n];\n                if (philo->tickCtr != 0U) { // is the \"Philo\" tick counter runnning?\n                    if (--philo->tickCtr == 0U) { // is the \"Philo\" tick expiring?\n                        // synchronously dispatch to component\n                        Q_SIG(philo) = Q_TIMEOUT_SIG;\n                        Q_PAR(philo) = n;\n                        QHSM_DISPATCH(&philo->super);\n                    }\n                }\n            }\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Table::SM::active::serving} ......................................*/\nstatic QState Table_serving(Table * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Table::SM::active::serving} */\n        case Q_ENTRY_SIG: {\n            uint8_t n;\n            for (n = 0U; n < N_PHILO; ++n) { /* give permissions to eat... */\n                if ((me->isHungry[n] != 0U)\n                    && (me->fork[LEFT(n)] == FREE)\n                    && (me->fork[n] == FREE))\n                {\n                    me->fork[LEFT(n)] = USED;\n                    me->fork[n] = USED;\n\n                    /* synchronously dispatch to philo_pool[n] */\n                    Q_SIG(&me->philo_pool[n]) = EAT_SIG;\n                    Q_PAR(&me->philo_pool[n]) = n;\n                    QHSM_DISPATCH(&me->philo_pool[n].super);\n\n                    me->isHungry[n] = 0U;\n                    BSP_displayPhilStat(n, \"eating  \");\n                }\n            }\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::HUNGRY} */\n        case HUNGRY_SIG: {\n            uint8_t n, m;\n\n            n = (uint8_t)Q_PAR(me);\n            /* philo ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n\n            BSP_displayPhilStat(n, \"hungry  \");\n            m = LEFT(n);\n            /*.${AOs::Table::SM::active::serving::HUNGRY::[bothfree]} */\n            if ((me->fork[m] == FREE) && (me->fork[n] == FREE)) {\n                me->fork[m] = USED;\n                me->fork[n] = USED;\n\n                /* synchronously dispatch to philo_pool[n] */\n                Q_SIG(&me->philo_pool[n]) = EAT_SIG;\n                Q_PAR(&me->philo_pool[n]) = n;\n                QHSM_DISPATCH(&me->philo_pool[n].super);\n\n                BSP_displayPhilStat(n, \"eating  \");\n                status_ = Q_HANDLED();\n            }\n            /*.${AOs::Table::SM::active::serving::HUNGRY::[else]} */\n            else {\n                me->isHungry[n] = 1U;\n                status_ = Q_HANDLED();\n            }\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::DONE} */\n        case DONE_SIG: {\n            uint8_t n, m;\n\n            n = (uint8_t)Q_PAR(me);\n\n            /* phil ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n\n            BSP_displayPhilStat(n, \"thinking\");\n            m = LEFT(n);\n            /* both forks of Philo[n] must be used */\n            Q_ASSERT((me->fork[n] == USED) && (me->fork[m] == USED));\n\n            me->fork[m] = FREE;\n            me->fork[n] = FREE;\n            m = RIGHT(n); /* check the right neighbor */\n\n            if ((me->isHungry[m] != 0U) && (me->fork[m] == FREE)) {\n                me->fork[n] = USED;\n                me->fork[m] = USED;\n                me->isHungry[m] = 0U;\n\n                /* synchronously dispatch to philo_pool[m] */\n                Q_SIG(&me->philo_pool[m]) = EAT_SIG;\n                Q_PAR(&me->philo_pool[m]) = m;\n                QHSM_DISPATCH(&me->philo_pool[m].super);\n\n                BSP_displayPhilStat(m, \"eating  \");\n            }\n            m = LEFT(n); /* check the left neighbor */\n            n = LEFT(m); /* left fork of the left neighbor */\n            if ((me->isHungry[m] != 0U) && (me->fork[n] == FREE)) {\n                me->fork[m] = USED;\n                me->fork[n] = USED;\n                me->isHungry[m] = 0U;\n\n                /* synchronously dispatch to philo_pool[m] */\n                Q_SIG(&me->philo_pool[m]) = EAT_SIG;\n                Q_PAR(&me->philo_pool[m]) = m;\n                QHSM_DISPATCH(&me->philo_pool[m].super);\n\n                BSP_displayPhilStat(m, \"eating  \");\n            }\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::EAT} */\n        case EAT_SIG: {\n            Q_ERROR();\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::serving::PAUSE} */\n        case PAUSE_SIG: {\n            status_ = Q_TRAN(&Table_paused);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Table_active);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${AOs::Table::SM::active::paused} .......................................*/\nstatic QState Table_paused(Table * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${AOs::Table::SM::active::paused} */\n        case Q_ENTRY_SIG: {\n            BSP_displayPaused(1U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused} */\n        case Q_EXIT_SIG: {\n            BSP_displayPaused(0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused::SERVE} */\n        case SERVE_SIG: {\n            status_ = Q_TRAN(&Table_serving);\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused::HUNGRY} */\n        case HUNGRY_SIG: {\n            uint8_t n = (uint8_t)Q_PAR(me);\n\n            /* philo ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n            me->isHungry[n] = 1U;\n            BSP_displayPhilStat(n, \"hungry  \");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${AOs::Table::SM::active::paused::DONE} */\n        case DONE_SIG: {\n            uint8_t n, m;\n\n            n = (uint8_t)Q_PAR(me);\n            /* philo ID must be in range and he must be not hungry */\n            Q_ASSERT((n < N_PHILO) && (me->isHungry[n] == 0U));\n\n            BSP_displayPhilStat(n, \"thinking\");\n            m = LEFT(n);\n            /* both forks of Phil[n] must be used */\n            Q_ASSERT((me->fork[n] == USED) && (me->fork[m] == USED));\n\n            me->fork[m] = FREE;\n            me->fork[n] = FREE;\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Table_active);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${AOs::Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/workstation/dpp-gui/README.txt",
    "content": "The Win32 GUI emulation of the Dining Philosopers Problem (DPP) example\nfor the EFM32-SLSTK3401A board from Silicon Labs is now located in the\ndirectory:\n\nexamples\\arm-cm\\dpp_efm32-slstk3401a\\win32-gui\\\n\n\nThis co-location of the Win32 emulation with the embedded code running\non the actual board demonstrates better the \"dual targeting\" development\napproach."
  },
  {
    "path": "examples/workstation/game-gui/README.txt",
    "content": "The Win32 GUI emulation of the \"Fly 'n' Shoot\" game example for the\nEFM32-SLSTK3401A board from Silicon Labs is now located in the directory:\n\nexamples\\arm-cm\\game_efm32-slstk3401a\\win32-gui\\\n\n****\nNOTE: The EFM32-SLSTK3401A board replaces the EK-LM3S811 board, which\nhas been discontinued.\n****\n\nThis co-location of the Win32 emulation with the embedded code running\non the actual board demonstrates better the \"dual targeting\" development\napproach."
  },
  {
    "path": "examples/workstation/history/Makefile",
    "content": "##############################################################################\n# Product: Makefile for QP-nano for Windows and POSIX *HOSTS*\n# Last updated for version 6.4.0\n# Last updated on  2019-01-09\n#\n#                    Q u a n t u m  L e a P s\n#                    ------------------------\n#                    Modern Embedded Software\n#\n# Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# https://www.state-machine.com\n# mailto:info@state-machine.com\n##############################################################################\n#\n# examples of invoking this Makefile:\n# building configurations: Debug (default), Release, and Spy\n# make\n# make CONF=rel\n#\n# cleaning configurations: Debug (default), Release, and Spy\n# make clean\n# make CONF=rel clean\n#\n# NOTE:\n# To use this Makefile on Windows, you will need the GNU make utility, which\n# is included in the QTools collection for Windows, see:\n#    http://sourceforge.net/projects/qpc/files/QTools/\n#\n\n#-----------------------------------------------------------------------------\n# project name:\n#\nPROJECT := history\n\n#-----------------------------------------------------------------------------\n# project directories:\n#\n\n# list of all source directories used by this project\nVPATH := . \\\n\n# list of all include directories needed by this project\nINCLUDES := -I. \\\n\n# location of the QP-nano framework (if not provided in an env. variable)\nifeq ($(QPN),)\nQPN := ../../..\nendif\n\n#-----------------------------------------------------------------------------\n# project files:\n#\n\n# C source files...\nC_SRCS := \\\n\tbsp.c \\\n\tmain.c \\\n\thistory.c\n\n# C++ source files...\nCPP_SRCS :=\n\nLIB_DIRS  :=\nLIBS      :=\n\n# defines...\nDEFINES   :=\n\nifeq (,$(CONF))\n\tCONF := dbg\nendif\n\n#-----------------------------------------------------------------------------\n# add QP-nano framework (depends on the OS this Makefile runs on):\n#\nifeq ($(OS),Windows_NT)\n\nQPN_PORT_DIR := $(QPN)/ports/win32-qv\n\nC_SRCS += \\\n\tqepn.c \\\n\tqfn_win32.c\n\nelse\n\nQPN_PORT_DIR := $(QPN)/ports/posix-qv\n\nC_SRCS += \\\n\tqepn.c \\\n\tqfn_posix.c\n\nLIBS += -lpthread\n\nendif\n\n#============================================================================\n# Typically you should not need to change anything below this line\n\nVPATH    += $(QPN)/src/qfn $(QPN_PORT_DIR)\nINCLUDES += -I$(QPN)/include -I$(QPN)/src -I$(QPN_PORT_DIR)\n\n#-----------------------------------------------------------------------------\n# GNU toolset:\n#\n# NOTE:\n# GNU toolset (MinGW) is included in the QTools collection for Windows, see:\n#     http://sourceforge.net/projects/qpc/files/QTools/\n# It is assumed that %QTOOLS%\\bin directory is added to the PATH\n#\nCC    := gcc\nCPP   := g++\nLINK  := gcc    # for C programs\n#LINK  := g++   # for C++ programs\n\n#-----------------------------------------------------------------------------\n# basic utilities (depends on the OS this Makefile runs on):\n#\nifeq ($(OS),Windows_NT)\n\tMKDIR      := mkdir\n\tRM         := rm\n\tTARGET_EXT := .exe\nelse ifeq ($(OSTYPE),cygwin)\n\tMKDIR      := mkdir -p\n\tRM         := rm -f\n\tTARGET_EXT := .exe\nelse\n\tMKDIR      := mkdir -p\n\tRM         := rm -f\n\tTARGET_EXT :=\nendif\n\n#-----------------------------------------------------------------------------\n# build configurations...\n\nifeq (rel, $(CONF)) # Release configuration ..................................\n\nBIN_DIR := build_rel\n# gcc options:\nCFLAGS  = -c -O3 -fno-pie -std=c99 -pedantic -Wall -Wextra -W \\\n\t$(INCLUDES) $(DEFINES) -DNDEBUG\n\nCPPFLAGS = -c -O3 -fno-pie -std=c++11 -pedantic -Wall -Wextra \\\n\t-fno-rtti -fno-exceptions \\\n\t$(INCLUDES) $(DEFINES) -DNDEBUG\n\nelse # default Debug configuration .........................................\n\nBIN_DIR := build\n\n# gcc options:\nCFLAGS  = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \\\n\t$(INCLUDES) $(DEFINES)\n\nCPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \\\n\t-fno-rtti -fno-exceptions \\\n\t$(INCLUDES) $(DEFINES)\n\nendif  # .....................................................................\n\nLINKFLAGS :=\n\n#-----------------------------------------------------------------------------\nC_OBJS       := $(patsubst %.c,%.o,   $(C_SRCS))\nCPP_OBJS     := $(patsubst %.cpp,%.o, $(CPP_SRCS))\n\nTARGET_EXE   := $(BIN_DIR)/$(PROJECT)$(TARGET_EXT)\nC_OBJS_EXT   := $(addprefix $(BIN_DIR)/, $(C_OBJS))\nC_DEPS_EXT   := $(patsubst %.o,%.d, $(C_OBJS_EXT))\nCPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))\nCPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))\n\n# create $(BIN_DIR) if it does not exist\nifeq (\"$(wildcard $(BIN_DIR))\",\"\")\n$(shell $(MKDIR) $(BIN_DIR))\nendif\n\n#-----------------------------------------------------------------------------\n# rules\n#\n\nall: $(TARGET_EXE)\n\n$(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)\n\t$(LINK) $(LINKFLAGS) $(LIB_DIRS) -o $@ $^ $(LIBS)\n\n$(BIN_DIR)/%.d : %.c\n\t$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@\n\n$(BIN_DIR)/%.d : %.cpp\n\t$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@\n\n$(BIN_DIR)/%.o : %.c\n\t$(CC) $(CFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.cpp\n\t$(CPP) $(CPPFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.rc\n\t$(RC) $(RCINCLUDES) -i $< -o $@\n\n# include dependency files only if our goal depends on their existence\nifneq ($(MAKECMDGOALS),clean)\n  ifneq ($(MAKECMDGOALS),show)\n-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)\n  endif\nendif\n\n.PHONY : clean show\n\nclean :\n\t-$(RM) $(BIN_DIR)/*.o \\\n\t$(BIN_DIR)/*.d \\\n\t$(TARGET_EXE)\n\nshow :\n\t@echo PROJECT      = $(PROJECT)\n\t@echo TARGET_EXE   = $(TARGET_EXE)\n\t@echo VPATH        = $(VPATH)\n\t@echo C_SRCS       = $(C_SRCS)\n\t@echo CPP_SRCS     = $(CPP_SRCS)\n\t@echo C_DEPS_EXT   = $(C_DEPS_EXT)\n\t@echo C_OBJS_EXT   = $(C_OBJS_EXT)\n\t@echo C_DEPS_EXT   = $(C_DEPS_EXT)\n\t@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)\n\t@echo CPP_OBJS_EXT = $(CPP_OBJS_EXT)\n\t@echo LIB_DIRS     = $(LIB_DIRS)\n\t@echo LIBS         = $(LIBS)\n\t@echo DEFINES      = $(DEFINES)\n\n"
  },
  {
    "path": "examples/workstation/history/bsp.c",
    "content": "/*****************************************************************************\n* Product: Board Support Package (BSP) for the History example\n* Last Updated for Version: 6.3.7\n* Date of the Last Update:  2018-12-13\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2018 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"     /* QP-nano */\n#include \"bsp.h\"     /* Board Support Package */\n#include \"history.h\" /* Application interface */\n\n#include \"safe_std.h\" /* portable \"safe\" <stdio.h>/<string.h> facilities */\n#include <stdlib.h>\n\n/*..........................................................................*/\n/* dummy definition of the QF_active[] array (not used in this example) */\nQActiveCB const Q_ROM QF_active[] = {\n    { (QActive *)0,  (QEvt *)0, 0U }\n};\n\n/*..........................................................................*/\nvoid BSP_init(void) {\n    PRINTF_S(\"History state pattern\\nQP-nano version: %s\\n\"\n           \"Press 'o' to OPEN  the door\\n\"\n           \"Press 'c' to CLOSE the door\\n\"\n           \"Press 't' to start TOASTING\\n\"\n           \"Press 'b' to start BAKING\\n\"\n           \"Press 'f' to turn the oven OFF\\n\"\n           \"Press ESC to quit...\\n\",\n           QP_VERSION_STR);\n}\n/*..........................................................................*/\nvoid BSP_exit(void) {\n    PRINTF_S(\"\\n%s\\n\", \"Bye! Bye!\");\n    QF_onCleanup();\n    exit(0);\n}\n\n/*--------------------------------------------------------------------------*/\nvoid QF_onStartup(void) {\n    QF_consoleSetup();\n    QF_setTickRate(BSP_TICKS_PER_SEC, 50); /* desired tick rate/ticker-prio */\n}\n/*..........................................................................*/\nvoid QF_onCleanup(void) {\n    QF_consoleCleanup();\n}\n/*..........................................................................*/\nvoid QF_onClockTickISR(void) {\n}\n\n/*..........................................................................*/\n/* this function is used by the QP embedded systems-friendly assertions */\nQ_NORETURN Q_onAssert(char const * const file, int line) {\n    PRINTF_S(\"Assertion failed in %s, line %d\", file, line);\n    exit(-1);\n}\n"
  },
  {
    "path": "examples/workstation/history/bsp.h",
    "content": "/*****************************************************************************\n* Product: BSP for QP-nano example, Win32\n* Last updated for version 5.4.0\n* Last updated on  2015-05-18\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, www.state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BSP_H\n#define BSP_H\n\n#define BSP_TICKS_PER_SEC    100U\n\nvoid BSP_init(void);\nvoid BSP_exit(void);\n\n#endif /* BSP_H */\n"
  },
  {
    "path": "examples/workstation/history/history.c",
    "content": "/*.$file${.::history.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: history.qm\n* File:  ${.::history.c}\n*\n* This code has been generated by QM 5.0.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::history.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"     /* QP-nano */\n#include \"bsp.h\"     /* Board Support Package */\n#include \"history.h\" /* Application interface */\n\n#include \"safe_std.h\" /* portable \"safe\" <stdio.h>/<string.h> facilities */\n#include <stdlib.h>\n\n//Q_DEFINE_THIS_FILE\n\n/*.$declare${SMs::ToastOven} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${SMs::ToastOven} .......................................................*/\ntypedef struct ToastOven {\n/* protected: */\n    QHsm super;\n\n/* private state histories */\n    QStateHandler hist_doorClosed;\n} ToastOven;\n\n/* protected: */\nstatic QState ToastOven_initial(ToastOven * const me);\nstatic QState ToastOven_doorClosed(ToastOven * const me);\nstatic QState ToastOven_heating(ToastOven * const me);\nstatic QState ToastOven_toasting(ToastOven * const me);\nstatic QState ToastOven_baking(ToastOven * const me);\nstatic QState ToastOven_off(ToastOven * const me);\nstatic QState ToastOven_doorOpen(ToastOven * const me);\nstatic QState ToastOven_final(ToastOven * const me);\n/*.$enddecl${SMs::ToastOven} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\nstatic ToastOven l_oven; /* the only instance of the ToastOven class */\n\n/* global-scope definitions -----------------------------------------*/\nQHsm * const the_oven = (QHsm *)&l_oven; /* the opaque pointer */\n\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 670U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.7.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${SMs::ToastOven_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${SMs::ToastOven_ctor} ..................................................*/\nvoid ToastOven_ctor(void) {\n    ToastOven *me = &l_oven;\n    QHsm_ctor(&me->super, Q_STATE_CAST(&ToastOven_initial));\n}\n/*.$enddef${SMs::ToastOven_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${SMs::ToastOven} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${SMs::ToastOven} .......................................................*/\n/*.${SMs::ToastOven::SM} ...................................................*/\nstatic QState ToastOven_initial(ToastOven * const me) {\n    /*.${SMs::ToastOven::SM::initial} */\n    /* state history attributes */\n    /* state history attributes */\n    me->hist_doorClosed = Q_STATE_CAST(&ToastOven_off);\n    return Q_TRAN(&ToastOven_doorClosed);\n}\n/*.${SMs::ToastOven::SM::doorClosed} .......................................*/\nstatic QState ToastOven_doorClosed(ToastOven * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${SMs::ToastOven::SM::doorClosed} */\n        case Q_ENTRY_SIG: {\n            PRINTF_S(\"%s;\", \"door-Closed\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::ToastOven::SM::doorClosed} */\n        case Q_EXIT_SIG: {\n            /* save deep history */\n            me->hist_doorClosed = QHsm_state(me);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::ToastOven::SM::doorClosed::initial} */\n        case Q_INIT_SIG: {\n            status_ = Q_TRAN(&ToastOven_off);\n            break;\n        }\n        /*.${SMs::ToastOven::SM::doorClosed::TERMINATE} */\n        case TERMINATE_SIG: {\n            status_ = Q_TRAN(&ToastOven_final);\n            break;\n        }\n        /*.${SMs::ToastOven::SM::doorClosed::OPEN} */\n        case OPEN_SIG: {\n            status_ = Q_TRAN(&ToastOven_doorOpen);\n            break;\n        }\n        /*.${SMs::ToastOven::SM::doorClosed::TOAST} */\n        case TOAST_SIG: {\n            status_ = Q_TRAN(&ToastOven_toasting);\n            break;\n        }\n        /*.${SMs::ToastOven::SM::doorClosed::BAKE} */\n        case BAKE_SIG: {\n            status_ = Q_TRAN(&ToastOven_baking);\n            break;\n        }\n        /*.${SMs::ToastOven::SM::doorClosed::OFF} */\n        case OFF_SIG: {\n            status_ = Q_TRAN(&ToastOven_off);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${SMs::ToastOven::SM::doorClosed::heating} ..............................*/\nstatic QState ToastOven_heating(ToastOven * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${SMs::ToastOven::SM::doorClosed::heating} */\n        case Q_ENTRY_SIG: {\n            PRINTF_S(\"%s;\", \"heater-On\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::ToastOven::SM::doorClosed::heating} */\n        case Q_EXIT_SIG: {\n            PRINTF_S(\"%s;\", \"heater-Off\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::ToastOven::SM::doorClosed::heating::initial} */\n        case Q_INIT_SIG: {\n            status_ = Q_TRAN(&ToastOven_toasting);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&ToastOven_doorClosed);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${SMs::ToastOven::SM::doorClosed::heating::toasting} ....................*/\nstatic QState ToastOven_toasting(ToastOven * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${SMs::ToastOven::SM::doorClosed::heating::toasting} */\n        case Q_ENTRY_SIG: {\n            PRINTF_S(\"%s;\", \"toasting\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&ToastOven_heating);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${SMs::ToastOven::SM::doorClosed::heating::baking} ......................*/\nstatic QState ToastOven_baking(ToastOven * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${SMs::ToastOven::SM::doorClosed::heating::baking} */\n        case Q_ENTRY_SIG: {\n            PRINTF_S(\"%s;\", \"baking\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&ToastOven_heating);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${SMs::ToastOven::SM::doorClosed::off} ..................................*/\nstatic QState ToastOven_off(ToastOven * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${SMs::ToastOven::SM::doorClosed::off} */\n        case Q_ENTRY_SIG: {\n            PRINTF_S(\"%s;\", \"toaster-Off\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&ToastOven_doorClosed);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${SMs::ToastOven::SM::doorOpen} .........................................*/\nstatic QState ToastOven_doorOpen(ToastOven * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${SMs::ToastOven::SM::doorOpen} */\n        case Q_ENTRY_SIG: {\n            PRINTF_S(\"%s;\", \"door-Open,lamp-On\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::ToastOven::SM::doorOpen} */\n        case Q_EXIT_SIG: {\n            PRINTF_S(\"%s;\", \"lamp-Off\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${SMs::ToastOven::SM::doorOpen::CLOSE} */\n        case CLOSE_SIG: {\n            status_ = Q_TRAN_HIST(me->hist_doorClosed);\n            break;\n        }\n        /*.${SMs::ToastOven::SM::doorOpen::TERMINATE} */\n        case TERMINATE_SIG: {\n            status_ = Q_TRAN(&ToastOven_final);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${SMs::ToastOven::SM::final} ............................................*/\nstatic QState ToastOven_final(ToastOven * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${SMs::ToastOven::SM::final} */\n        case Q_ENTRY_SIG: {\n            BSP_exit(); /* terminate the application */\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${SMs::ToastOven} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/workstation/history/history.h",
    "content": "/*.$file${.::history.h} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: history.qm\n* File:  ${.::history.h}\n*\n* This code has been generated by QM 5.0.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::history.h} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#ifndef HISTORY_H\n#define HISTORY_H\n\nenum ToastOvenSignals {\n    OPEN_SIG = Q_USER_SIG,\n    CLOSE_SIG,\n    TOAST_SIG,\n    BAKE_SIG,\n    OFF_SIG,\n    TERMINATE_SIG /* terminate the application */\n};\n\nextern QHsm * const the_oven; /* opaque pointer to the oven HSM */\n\n/*.$declare${SMs::ToastOven_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${SMs::ToastOven_ctor} ..................................................*/\nvoid ToastOven_ctor(void);\n/*.$enddecl${SMs::ToastOven_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n#endif /* HISTORY_H */\n"
  },
  {
    "path": "examples/workstation/history/history.qm",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<model version=\"5.0.0\" links=\"1\">\n <documentation>QHsmTst is a contrived state machine from Chapter 2 of the PSiCC2 book for testing all possible transition topologies with up to 4-levels of state nesting.</documentation>\n <!--${qpn}-->\n <framework name=\"qpn\"/>\n <!--${SMs}-->\n <package name=\"SMs\" stereotype=\"0x02\">\n  <!--${SMs::ToastOven}-->\n  <class name=\"ToastOven\" superclass=\"qpn::QHsm\">\n   <documentation>Oven state machine</documentation>\n   <!--${SMs::ToastOven::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${SMs::ToastOven::SM::initial}-->\n    <initial target=\"../1\">\n     <initial_glyph conn=\"3,2,5,1,53,4,-4\">\n      <action box=\"2,-2,13,4\"/>\n     </initial_glyph>\n    </initial>\n    <!--${SMs::ToastOven::SM::doorClosed}-->\n    <state name=\"doorClosed\">\n     <entry>PRINTF_S(&quot;%s;&quot;, &quot;door-Closed&quot;);</entry>\n     <!--${SMs::ToastOven::SM::doorClosed::initial}-->\n     <initial target=\"../8\">\n      <initial_glyph conn=\"40,10,4,0,10\">\n       <action box=\"0,-2,6,2\"/>\n      </initial_glyph>\n     </initial>\n     <!--${SMs::ToastOven::SM::doorClosed::history}-->\n     <history type=\"deep\" target=\"../8\">\n      <history_glyph conn=\"52,16,1,0,-8,4\"/>\n     </history>\n     <!--${SMs::ToastOven::SM::doorClosed::TERMINATE}-->\n     <tran trig=\"TERMINATE\" target=\"../../3\">\n      <tran_glyph conn=\"52,30,1,0,16,2\">\n       <action box=\"0,-2,9,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${SMs::ToastOven::SM::doorClosed::OPEN}-->\n     <tran trig=\"OPEN\" target=\"../../2\">\n      <tran_glyph conn=\"52,10,1,3,8\">\n       <action box=\"0,-2,6,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${SMs::ToastOven::SM::doorClosed::TOAST}-->\n     <tran trig=\"TOAST\" target=\"../7/1\">\n      <tran_glyph conn=\"12,38,2,2,-6\">\n       <action box=\"0,-2,6,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${SMs::ToastOven::SM::doorClosed::BAKE}-->\n     <tran trig=\"BAKE\" target=\"../7/2\">\n      <tran_glyph conn=\"28,38,2,2,-6\">\n       <action box=\"0,-2,6,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${SMs::ToastOven::SM::doorClosed::OFF}-->\n     <tran trig=\"OFF\" target=\"../8\">\n      <tran_glyph conn=\"44,38,2,2,-10\">\n       <action box=\"0,-2,6,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${SMs::ToastOven::SM::doorClosed::heating}-->\n     <state name=\"heating\">\n      <entry>PRINTF_S(&quot;%s;&quot;, &quot;heater-On&quot;);</entry>\n      <exit>PRINTF_S(&quot;%s;&quot;, &quot;heater-Off&quot;);</exit>\n      <!--${SMs::ToastOven::SM::doorClosed::heating::initial}-->\n      <initial target=\"../1\">\n       <initial_glyph conn=\"14,16,4,0,8\">\n        <action box=\"0,-2,10,2\"/>\n       </initial_glyph>\n      </initial>\n      <!--${SMs::ToastOven::SM::doorClosed::heating::toasting}-->\n      <state name=\"toasting\">\n       <entry>PRINTF_S(&quot;%s;&quot;, &quot;toasting&quot;);</entry>\n       <state_glyph node=\"6,24,14,8\">\n        <entry box=\"1,2,5,2\"/>\n       </state_glyph>\n      </state>\n      <!--${SMs::ToastOven::SM::doorClosed::heating::baking}-->\n      <state name=\"baking\">\n       <entry>PRINTF_S(&quot;%s;&quot;, &quot;baking&quot;);</entry>\n       <state_glyph node=\"22,24,12,8\">\n        <entry box=\"1,2,5,2\"/>\n       </state_glyph>\n      </state>\n      <state_glyph node=\"4,11,32,23\">\n       <entry box=\"1,2,7,2\"/>\n       <exit box=\"1,4,5,2\"/>\n      </state_glyph>\n     </state>\n     <!--${SMs::ToastOven::SM::doorClosed::off}-->\n     <state name=\"off\">\n      <entry>PRINTF_S(&quot;%s;&quot;, &quot;toaster-Off&quot;);</entry>\n      <state_glyph node=\"38,20,12,8\">\n       <entry box=\"1,2,5,2\"/>\n      </state_glyph>\n     </state>\n     <state_glyph node=\"2,4,50,34\">\n      <entry box=\"1,2,5,2\"/>\n     </state_glyph>\n    </state>\n    <!--${SMs::ToastOven::SM::doorOpen}-->\n    <state name=\"doorOpen\">\n     <entry>PRINTF_S(&quot;%s;&quot;, &quot;door-Open,lamp-On&quot;);</entry>\n     <exit>PRINTF_S(&quot;%s;&quot;, &quot;lamp-Off&quot;);</exit>\n     <!--${SMs::ToastOven::SM::doorOpen::CLOSE}-->\n     <tran trig=\"CLOSE\" target=\"../../1\" cpref=\"../../1/1\">\n      <tran_glyph conn=\"60,16,3,1,-7\">\n       <action box=\"-6,-2,7,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${SMs::ToastOven::SM::doorOpen::TERMINATE}-->\n     <tran trig=\"TERMINATE\" target=\"../../3\">\n      <tran_glyph conn=\"70,26,2,0,6\">\n       <action box=\"0,0,8,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"60,4,18,22\">\n      <entry box=\"1,2,6,2\"/>\n      <exit box=\"1,4,5,2\"/>\n     </state_glyph>\n    </state>\n    <!--${SMs::ToastOven::SM::final}-->\n    <state name=\"final\">\n     <entry>BSP_exit(); /* terminate the application */</entry>\n     <state_glyph node=\"60,32,16,6\">\n      <entry box=\"1,2,5,2\"/>\n     </state_glyph>\n    </state>\n    <state_diagram size=\"80,40\"/>\n   </statechart>\n  </class>\n  <!--${SMs::AO_ToastOven}-->\n  <attribute name=\"AO_ToastOven\" type=\"ToastOven\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${SMs::ToastOven_ctor}-->\n  <operation name=\"ToastOven_ctor\" type=\"void\" visibility=\"0x00\" properties=\"0x00\">\n   <code>ToastOven *me = &amp;l_oven;\nQHsm_ctor(&amp;me-&gt;super, Q_STATE_CAST(&amp;ToastOven_initial));</code>\n  </operation>\n </package>\n <!--${.}-->\n <directory name=\".\">\n  <!--${.::history.h}-->\n  <file name=\"history.h\">\n   <text>#ifndef HISTORY_H\n#define HISTORY_H\n\nenum ToastOvenSignals {\n    OPEN_SIG = Q_USER_SIG,\n    CLOSE_SIG,\n    TOAST_SIG,\n    BAKE_SIG,\n    OFF_SIG,\n    TERMINATE_SIG /* terminate the application */\n};\n\nextern QHsm * const the_oven; /* opaque pointer to the oven HSM */\n\n$declare(SMs::ToastOven_ctor)\n\n#endif /* HISTORY_H */\n</text>\n  </file>\n  <!--${.::history.c}-->\n  <file name=\"history.c\">\n   <text>#include &quot;qpn.h&quot;     /* QP-nano */\n#include &quot;bsp.h&quot;     /* Board Support Package */\n#include &quot;history.h&quot; /* Application interface */\n\n#include &quot;safe_std.h&quot; /* portable &quot;safe&quot; &lt;stdio.h&gt;/&lt;string.h&gt; facilities */\n#include &lt;stdlib.h&gt;\n\n//Q_DEFINE_THIS_FILE\n\n$declare(SMs::ToastOven)\n\nstatic ToastOven l_oven; /* the only instance of the ToastOven class */\n\n/* global-scope definitions -----------------------------------------*/\nQHsm * const the_oven = (QHsm *)&amp;l_oven; /* the opaque pointer */\n\n$define(SMs::ToastOven_ctor)\n$define(SMs::ToastOven)</text>\n  </file>\n </directory>\n</model>\n"
  },
  {
    "path": "examples/workstation/history/main.c",
    "content": "/*****************************************************************************\n* Product: History Example for QP-nano, Win32\n* Last updated for version 6.4.0\n* Last updated on  2019-02-10\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"     /* QP-nano */\n#include \"bsp.h\"     /* Board Support Package */\n#include \"history.h\" /* Application interface */\n\n#include \"safe_std.h\" /* portable \"safe\" <stdio.h>/<string.h> facilities */\n#include <stdlib.h>\n\nQ_DEFINE_THIS_FILE\n\n/*..........................................................................*/\nint main() {\n    QF_onStartup();\n\n    ToastOven_ctor(); /* instantiate the ToasterOven object */\n\n    BSP_init();       /* initialize the Board Support Package */\n\n    QHSM_INIT(the_oven); /* trigger the initial transition */\n\n    for (;;) {\n        uint8_t c;\n\n        PRINTF_S(\"%c\\n\", ' ');\n        c = (uint8_t)QF_consoleWaitForKey();\n        PRINTF_S(\"%c: \", (c != '\\33') ? c : 'x');\n\n        switch (c) {\n            case 'o':   Q_SIG(the_oven) = OPEN_SIG;      break;\n            case 'c':   Q_SIG(the_oven) = CLOSE_SIG;     break;\n            case 't':   Q_SIG(the_oven) = TOAST_SIG;     break;\n            case 'b':   Q_SIG(the_oven) = BAKE_SIG;      break;\n            case 'f':   Q_SIG(the_oven) = OFF_SIG;       break;\n            case '\\33': Q_SIG(the_oven) = TERMINATE_SIG; break;\n        }\n\n        /* dispatch the event into the state machine */\n        QHSM_DISPATCH(the_oven);\n    }\n\n    QF_onCleanup();\n    return 0;\n}\n"
  },
  {
    "path": "examples/workstation/history/qpn_conf.h",
    "content": "/*****************************************************************************\n* Product: QP-nano configuration for the \"Tranisition to History\" example\n* Last Updated for Version: 5.6.2\n* Date of the Last Update:  2016-04-05\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef QPN_CONF_H\n#define QPN_CONF_H\n\n#define QF_TIMEEVT_CTR_SIZE     2U\n#define Q_PARAM_SIZE            4U\n\n#endif  /* QPN_CONF_H */\n"
  },
  {
    "path": "examples/workstation/pelican/Makefile",
    "content": "##############################################################################\n# Product: Makefile for QP-nano for Windows and POSIX *HOSTS*\n# Last updated for version 6.4.0\n# Last updated on  2019-01-09\n#\n#                    Q u a n t u m  L e a P s\n#                    ------------------------\n#                    Modern Embedded Software\n#\n# Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# https://www.state-machine.com\n# mailto:info@state-machine.com\n##############################################################################\n#\n# examples of invoking this Makefile:\n# building configurations: Debug (default), Release, and Spy\n# make\n# make CONF=rel\n#\n# cleaning configurations: Debug (default), Release, and Spy\n# make clean\n# make CONF=rel clean\n#\n# NOTE:\n# To use this Makefile on Windows, you will need the GNU make utility, which\n# is included in the QTools collection for Windows, see:\n#    http://sourceforge.net/projects/qpc/files/QTools/\n#\n\n#-----------------------------------------------------------------------------\n# project name:\n#\nPROJECT := pelican\n\n#-----------------------------------------------------------------------------\n# project directories:\n#\n\n# list of all source directories used by this project\nVPATH := . \\\n\n# list of all include directories needed by this project\nINCLUDES := -I. \\\n\n# location of the QP-nano framework (if not provided in an env. variable)\nifeq ($(QPN),)\nQPN := ../../..\nendif\n\n#-----------------------------------------------------------------------------\n# project files:\n#\n\n# C source files...\nC_SRCS := \\\n\tbsp.c \\\n\tmain.c \\\n\tpelican.c\n\n# C++ source files...\nCPP_SRCS :=\n\nLIB_DIRS  :=\nLIBS      :=\n\n# defines...\nDEFINES   :=\n\nifeq (,$(CONF))\n\tCONF := dbg\nendif\n\n#-----------------------------------------------------------------------------\n# add QP-nano framework (depends on the OS this Makefile runs on):\n#\nifeq ($(OS),Windows_NT)\n\nQPN_PORT_DIR := $(QPN)/ports/win32-qv\n\nC_SRCS += \\\n\tqepn.c \\\n\tqfn_win32.c\n\nelse\n\nQPN_PORT_DIR := $(QPN)/ports/posix-qv\n\nC_SRCS += \\\n\tqepn.c \\\n\tqfn_posix.c\n\nLIBS += -lpthread\n\nendif\n\n#============================================================================\n# Typically you should not need to change anything below this line\n\nVPATH    += $(QPN)/src/qfn $(QPN_PORT_DIR)\nINCLUDES += -I$(QPN)/include -I$(QPN)/src -I$(QPN_PORT_DIR)\n\n#-----------------------------------------------------------------------------\n# GNU toolset:\n#\n# NOTE:\n# GNU toolset (MinGW) is included in the QTools collection for Windows, see:\n#     http://sourceforge.net/projects/qpc/files/QTools/\n# It is assumed that %QTOOLS%\\bin directory is added to the PATH\n#\nCC    := gcc\nCPP   := g++\nLINK  := gcc    # for C programs\n#LINK  := g++   # for C++ programs\n\n#-----------------------------------------------------------------------------\n# basic utilities (depends on the OS this Makefile runs on):\n#\nifeq ($(OS),Windows_NT)\n\tMKDIR      := mkdir\n\tRM         := rm\n\tTARGET_EXT := .exe\nelse ifeq ($(OSTYPE),cygwin)\n\tMKDIR      := mkdir -p\n\tRM         := rm -f\n\tTARGET_EXT := .exe\nelse\n\tMKDIR      := mkdir -p\n\tRM         := rm -f\n\tTARGET_EXT :=\nendif\n\n#-----------------------------------------------------------------------------\n# build configurations...\n\nifeq (rel, $(CONF)) # Release configuration ..................................\n\nBIN_DIR := build_rel\n# gcc options:\nCFLAGS  = -c -O3 -fno-pie -std=c99 -pedantic -Wall -Wextra -W \\\n\t$(INCLUDES) $(DEFINES) -DNDEBUG\n\nCPPFLAGS = -c -O3 -fno-pie -std=c++11 -pedantic -Wall -Wextra \\\n\t-fno-rtti -fno-exceptions \\\n\t$(INCLUDES) $(DEFINES) -DNDEBUG\n\nelse # default Debug configuration .........................................\n\nBIN_DIR := build\n\n# gcc options:\nCFLAGS  = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \\\n\t$(INCLUDES) $(DEFINES)\n\nCPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \\\n\t-fno-rtti -fno-exceptions \\\n\t$(INCLUDES) $(DEFINES)\n\nendif  # .....................................................................\n\nLINKFLAGS :=\n\n#-----------------------------------------------------------------------------\nC_OBJS       := $(patsubst %.c,%.o,   $(C_SRCS))\nCPP_OBJS     := $(patsubst %.cpp,%.o, $(CPP_SRCS))\n\nTARGET_EXE   := $(BIN_DIR)/$(PROJECT)$(TARGET_EXT)\nC_OBJS_EXT   := $(addprefix $(BIN_DIR)/, $(C_OBJS))\nC_DEPS_EXT   := $(patsubst %.o,%.d, $(C_OBJS_EXT))\nCPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))\nCPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))\n\n# create $(BIN_DIR) if it does not exist\nifeq (\"$(wildcard $(BIN_DIR))\",\"\")\n$(shell $(MKDIR) $(BIN_DIR))\nendif\n\n#-----------------------------------------------------------------------------\n# rules\n#\n\nall: $(TARGET_EXE)\n\n$(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)\n\t$(LINK) $(LINKFLAGS) $(LIB_DIRS) -o $@ $^ $(LIBS)\n\n$(BIN_DIR)/%.d : %.c\n\t$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@\n\n$(BIN_DIR)/%.d : %.cpp\n\t$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@\n\n$(BIN_DIR)/%.o : %.c\n\t$(CC) $(CFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.cpp\n\t$(CPP) $(CPPFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.rc\n\t$(RC) $(RCINCLUDES) -i $< -o $@\n\n# include dependency files only if our goal depends on their existence\nifneq ($(MAKECMDGOALS),clean)\n  ifneq ($(MAKECMDGOALS),show)\n-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)\n  endif\nendif\n\n.PHONY : clean show\n\nclean :\n\t-$(RM) $(BIN_DIR)/*.o \\\n\t$(BIN_DIR)/*.d \\\n\t$(TARGET_EXE)\n\nshow :\n\t@echo PROJECT      = $(PROJECT)\n\t@echo TARGET_EXE   = $(TARGET_EXE)\n\t@echo VPATH        = $(VPATH)\n\t@echo C_SRCS       = $(C_SRCS)\n\t@echo CPP_SRCS     = $(CPP_SRCS)\n\t@echo C_DEPS_EXT   = $(C_DEPS_EXT)\n\t@echo C_OBJS_EXT   = $(C_OBJS_EXT)\n\t@echo C_DEPS_EXT   = $(C_DEPS_EXT)\n\t@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)\n\t@echo CPP_OBJS_EXT = $(CPP_OBJS_EXT)\n\t@echo LIB_DIRS     = $(LIB_DIRS)\n\t@echo LIBS         = $(LIBS)\n\t@echo DEFINES      = $(DEFINES)\n\n"
  },
  {
    "path": "examples/workstation/pelican/bsp.c",
    "content": "/*****************************************************************************\n* Product: BSP for PELICAN crossing example,  Win32-GUI\n* Last Updated for Version: 6.3.7\n* Date of the Last Update:  2018-11-09\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2018 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"     /* QP-nano */\n#include \"bsp.h\"     /* Board Support Package (BSP) */\n#include \"pelican.h\" /* application interface */\n\n#include \"safe_std.h\" /* portable \"safe\" <stdio.h>/<string.h> facilities */\n#include <stdlib.h>\n\n//Q_DEFINE_THIS_MODULE(\"bsp\")\n\n/*..........................................................................*/\nvoid BSP_init(void) {\n    PRINTF_S(\"Pedestrian LIght CONtrolled crossing example\"\n           \"\\nQP-nano %s\\n\"\n           \"Press 'p' to generate PED_WAITING\\n\"\n           \"Press 'f' to generate OFF\\n\"\n           \"Press 'o' to generate ON\\n\"\n           \"Press ESC to quit...\\n\",\n           QP_VERSION_STR);\n}\n/*..........................................................................*/\nvoid BSP_terminate(int16_t result) {\n    (void)result;\n    QF_stop();\n}\n/*..........................................................................*/\nvoid BSP_showState(char_t const *state) {\n    PRINTF_S(\"STATE: %s -----\\n\", state);\n}\n/*..........................................................................*/\nvoid BSP_signalCars(enum BSP_CarsSignal sig) {\n    switch (sig) {\n        case CARS_RED: {\n            PRINTF_S(\"%s\\n\", \"cars: RED\");\n            break;\n        }\n        case CARS_YELLOW: {\n            PRINTF_S(\"%s\\n\", \"cars: YELLOW\");\n            break;\n        }\n        case CARS_GREEN: {\n            PRINTF_S(\"%s\\n\", \"cars: GREEN\");\n            break;\n        }\n        case CARS_BLANK: {\n            PRINTF_S(\"%s\\n\", \"cars: BLANK\");\n            break;\n        }\n    }\n}\n/*..........................................................................*/\nvoid BSP_signalPeds(enum BSP_PedsSignal sig) {\n    switch (sig) {\n        case PEDS_DONT_WALK: {\n            PRINTF_S(\"%s\\n\", \"peds: DON'T WALK\");\n            break;\n        }\n        case PEDS_BLANK: {\n            PRINTF_S(\"%s\\n\", \"peds: BLANK\");\n            break;\n        }\n        case PEDS_WALK: {\n            PRINTF_S(\"%s\\n\", \"peds: WALK\");\n            break;\n        }\n    }\n}\n\n/*--------------------------------------------------------------------------*/\nvoid QF_onStartup(void) {\n    QF_consoleSetup();\n    QF_setTickRate(BSP_TICKS_PER_SEC, 50); /* desired tick rate/ticker-prio */\n}\n/*..........................................................................*/\nvoid QF_onCleanup(void) {\n    PRINTF_S(\"\\n%s\\n\", \"Bye! Bye!\");\n    QF_consoleCleanup();\n}\n/*..........................................................................*/\nvoid QF_onClockTickISR(void) {\n    QF_tickXISR(0U); /* perform the QF-nano clock tick processing */\n\n    switch (QF_consoleGetKey()) {\n        case 'p':\n            PRINTF_S(\"%s\\n\", \"-----> PEDS_WAITING\");\n            QACTIVE_POST_ISR((QActive *)&AO_Pelican,\n                              PEDS_WAITING_SIG, 0U);\n            break;\n        case 'f':\n            PRINTF_S(\"%s\\n\", \"-----> OFF\");\n            QACTIVE_POST_ISR((QActive *)&AO_Pelican,\n                             OFF_SIG, 0U);\n            break;\n        case 'o':\n            PRINTF_S(\"%s\\n\", \"-----> ON\");\n            QACTIVE_POST_ISR((QActive *)&AO_Pelican,\n                             ON_SIG, 0U);\n            break;\n        case '\\33': /* ESC pressed? */\n            QACTIVE_POST_ISR((QActive *)&AO_Pelican,\n                             TERMINATE_SIG, 0U);\n            break;\n        default:\n            break;\n    }\n}\n/*--------------------------------------------------------------------------*/\nQ_NORETURN Q_onAssert(char const * const module, int location) {\n    QF_INT_DISABLE(); /* cut-off all interrupts */\n    FPRINTF_S(stderr, \"Assertion failed in %s:%d\", module, location);\n    BSP_terminate(-1);\n}\n"
  },
  {
    "path": "examples/workstation/pelican/bsp.h",
    "content": "/*****************************************************************************\n* Product: BSP for PELICAN crossing example\n* Last updated for version 5.4.0\n* Last updated on  2015-05-18\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, www.state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BSP_H\n#define BSP_H\n\n#define BSP_TICKS_PER_SEC   100U\n\nenum BSP_CarsSignal {\n    CARS_RED, CARS_YELLOW, CARS_GREEN, CARS_BLANK\n};\n\nenum BSP_PedsSignal {\n    PEDS_DONT_WALK, PEDS_WALK, PEDS_BLANK\n};\n\nvoid BSP_init(void);\nvoid BSP_showState(char_t const *state);\nvoid BSP_signalCars(enum BSP_CarsSignal sig);\nvoid BSP_signalPeds(enum BSP_PedsSignal sig);\n\n#endif /* BSP_H */\n"
  },
  {
    "path": "examples/workstation/pelican/main.c",
    "content": "/*****************************************************************************\n* Product: PELICAN crossing example\n* Last updated for version 5.8.0\n* Last updated on  2016-11-06\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"     /* QP-nano */\n#include \"bsp.h\"     /* Board Support Package (BSP) */\n#include \"pelican.h\" /* application interface */\n\n/*..........................................................................*/\nstatic QEvt  l_pelicanQueue[3];\n\n/* QF_active[] array defines all active object control blocks --------------*/\nQActiveCB const Q_ROM QF_active[] = {\n    { (QActive *)0,           (QEvt *)0,      0U                    },\n    { (QActive *)&AO_Pelican, l_pelicanQueue, Q_DIM(l_pelicanQueue) }\n};\n\n/*..........................................................................*/\nint main (void) {\n    Pelican_ctor();   /* instantiate the  Pelican AO */\n    QF_init(Q_DIM(QF_active)); /* initialize the QF-nano framework */\n    BSP_init();      /* initialize the Board Support Package */\n    return QF_run();  /* transfer control to QF-nano */\n}\n"
  },
  {
    "path": "examples/workstation/pelican/pelican.c",
    "content": "/*.$file${.::pelican.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: pelican.qm\n* File:  ${.::pelican.c}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::pelican.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"     /* QP-nano */\n#include \"bsp.h\"     /* Board Support Package (BSP) */\n#include \"pelican.h\" /* application interface */\n\n/*Q_DEFINE_THIS_FILE*/\n\n#define CARS_GREEN_MIN_TOUT (QTimeEvtCtr)(BSP_TICKS_PER_SEC * 8U)\n#define CARS_YELLOW_TOUT    (QTimeEvtCtr)(BSP_TICKS_PER_SEC * 3U)\n#define PEDS_WALK_TOUT      (QTimeEvtCtr)(BSP_TICKS_PER_SEC * 3U)\n#define PEDS_FLASH_TOUT     (QTimeEvtCtr)(BSP_TICKS_PER_SEC / 5U)\n#define PEDS_FLASH_NUM      (uint8_t)(5U * 2U)\n#define OFF_FLASH_TOUT      (QTimeEvtCtr)(BSP_TICKS_PER_SEC / 2U)\n\n/* Pelican class declaration -----------------------------------------------*/\n/*.$declare${components::Pelican} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${components::Pelican} ..................................................*/\ntypedef struct Pelican {\n/* protected: */\n    QActive super;\n\n/* private: */\n    uint8_t flashCtr;\n} Pelican;\n\n/* protected: */\nstatic QState Pelican_initial(Pelican * const me);\nstatic QState Pelican_operational(Pelican * const me);\nstatic QState Pelican_carsEnabled(Pelican * const me);\nstatic QState Pelican_carsGreen(Pelican * const me);\nstatic QState Pelican_carsGreenNoPed(Pelican * const me);\nstatic QState Pelican_carsGreenInt(Pelican * const me);\nstatic QState Pelican_carsGreenPedWait(Pelican * const me);\nstatic QState Pelican_carsYellow(Pelican * const me);\nstatic QState Pelican_pedsEnabled(Pelican * const me);\nstatic QState Pelican_pedsWalk(Pelican * const me);\nstatic QState Pelican_pedsFlash(Pelican * const me);\nstatic QState Pelican_offline(Pelican * const me);\n/*.$enddecl${components::Pelican} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n/* Global objects ----------------------------------------------------------*/\nstruct Pelican AO_Pelican; /* the single instance of the Pelican AO */\n\n/* Pelican class definition ------------------------------------------------*/\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 650U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.5.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${components::Pelican_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${components::Pelican_ctor} .............................................*/\nvoid Pelican_ctor(void) {\n    QActive_ctor(&AO_Pelican.super, Q_STATE_CAST(&Pelican_initial));\n}\n/*.$enddef${components::Pelican_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${components::Pelican} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${components::Pelican} ..................................................*/\n/*.${components::Pelican::SM} ..............................................*/\nstatic QState Pelican_initial(Pelican * const me) {\n    /*.${components::Pelican::SM::initial} */\n    return Q_TRAN(&Pelican_operational);\n}\n/*.${components::Pelican::SM::operational} .................................*/\nstatic QState Pelican_operational(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${components::Pelican::SM::operational} */\n        case Q_ENTRY_SIG: {\n            BSP_signalCars(CARS_RED);\n            BSP_signalPeds(PEDS_DONT_WALK);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::initial} */\n        case Q_INIT_SIG: {\n            status_ = Q_TRAN(&Pelican_carsEnabled);\n            break;\n        }\n        /*.${components::Pelican::SM::operational::OFF} */\n        case OFF_SIG: {\n            status_ = Q_TRAN(&Pelican_offline);\n            break;\n        }\n        /*.${components::Pelican::SM::operational::TERMINATE} */\n        case TERMINATE_SIG: {\n            QF_stop();\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${components::Pelican::SM::operational::carsEnabled} ....................*/\nstatic QState Pelican_carsEnabled(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${components::Pelican::SM::operational::carsEnabled} */\n        case Q_EXIT_SIG: {\n            BSP_signalCars(CARS_RED);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::carsEnabled::initial} */\n        case Q_INIT_SIG: {\n            status_ = Q_TRAN(&Pelican_carsGreen);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Pelican_operational);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${components::Pelican::SM::operational::carsEnabled::carsGreen} .........*/\nstatic QState Pelican_carsGreen(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${components::Pelican::SM::operational::carsEnabled::carsGreen} */\n        case Q_ENTRY_SIG: {\n            BSP_signalCars(CARS_GREEN);\n            /* one-shot timeout in CARS_GREEN_MIN_TOUT ticks */\n            QActive_armX(&me->super, 0U, CARS_GREEN_MIN_TOUT, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::carsEnabled::carsGreen} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::carsEnabled::carsGreen::initial} */\n        case Q_INIT_SIG: {\n            status_ = Q_TRAN(&Pelican_carsGreenNoPed);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Pelican_carsEnabled);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenNoPed} */\nstatic QState Pelican_carsGreenNoPed(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenNoPed} */\n        case Q_ENTRY_SIG: {\n            BSP_showState(\"carsGreenNoPed\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenNoPed::PEDS_WAITING} */\n        case PEDS_WAITING_SIG: {\n            status_ = Q_TRAN(&Pelican_carsGreenPedWait);\n            break;\n        }\n        /*.${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenNoPed::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Pelican_carsGreenInt);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Pelican_carsGreen);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenInt} */\nstatic QState Pelican_carsGreenInt(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenInt} */\n        case Q_ENTRY_SIG: {\n            BSP_showState(\"carsGreenInt\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenInt::PEDS_WAITING} */\n        case PEDS_WAITING_SIG: {\n            status_ = Q_TRAN(&Pelican_carsYellow);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Pelican_carsGreen);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenPedWait} */\nstatic QState Pelican_carsGreenPedWait(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenPedWait} */\n        case Q_ENTRY_SIG: {\n            BSP_showState(\"carsGreenPedWait\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenPedWait::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Pelican_carsYellow);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Pelican_carsGreen);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${components::Pelican::SM::operational::carsEnabled::carsYellow} ........*/\nstatic QState Pelican_carsYellow(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${components::Pelican::SM::operational::carsEnabled::carsYellow} */\n        case Q_ENTRY_SIG: {\n            BSP_showState(\"carsYellow\");\n            BSP_signalCars(CARS_YELLOW);\n\n            /* one-shot timeout in CARS_YELLOW_TOUT ticks */\n            QActive_armX(&me->super, 0U, CARS_YELLOW_TOUT, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::carsEnabled::carsYellow} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::carsEnabled::carsYellow::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Pelican_pedsEnabled);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Pelican_carsEnabled);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${components::Pelican::SM::operational::pedsEnabled} ....................*/\nstatic QState Pelican_pedsEnabled(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${components::Pelican::SM::operational::pedsEnabled} */\n        case Q_EXIT_SIG: {\n            BSP_signalPeds(PEDS_DONT_WALK);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::pedsEnabled::initial} */\n        case Q_INIT_SIG: {\n            status_ = Q_TRAN(&Pelican_pedsWalk);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Pelican_operational);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${components::Pelican::SM::operational::pedsEnabled::pedsWalk} ..........*/\nstatic QState Pelican_pedsWalk(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${components::Pelican::SM::operational::pedsEnabled::pedsWalk} */\n        case Q_ENTRY_SIG: {\n            BSP_showState(\"pedsWalk\");\n            BSP_signalPeds(PEDS_WALK);\n            /* one-shot timeout in PEDS_WALK_TOUT ticks */\n            QActive_armX(&me->super, 0U, PEDS_WALK_TOUT, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::pedsEnabled::pedsWalk} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::pedsEnabled::pedsWalk::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            status_ = Q_TRAN(&Pelican_pedsFlash);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Pelican_pedsEnabled);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${components::Pelican::SM::operational::pedsEnabled::pedsFlash} .........*/\nstatic QState Pelican_pedsFlash(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${components::Pelican::SM::operational::pedsEnabled::pedsFlash} */\n        case Q_ENTRY_SIG: {\n            BSP_showState(\"pedsFlash\");\n            /* periodic timeout in PEDS_FLASH_TOUT and every PEDS_FLASH_TOUT ticks */\n            QActive_armX(&me->super, 0U, PEDS_FLASH_TOUT, PEDS_FLASH_TOUT);\n            me->flashCtr = (PEDS_FLASH_NUM * 2U) + 1U;\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::pedsEnabled::pedsFlash} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::operational::pedsEnabled::pedsFlash::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            /*.${components::Pelican::SM::operational::pedsEnabled::pedsFlash::Q_TIMEOUT::[me->flashCtr!=0U]} */\n            if (me->flashCtr != 0U) {\n                --me->flashCtr;\n                /*.${components::Pelican::SM::operational::pedsEnabled::pedsFlash::Q_TIMEOUT::[me->flashCtr!=0~::[(me->flashCtr&1U)==0U]} */\n                if ((me->flashCtr & 1U) == 0U) {\n                    BSP_signalPeds(PEDS_DONT_WALK);\n                    status_ = Q_HANDLED();\n                }\n                /*.${components::Pelican::SM::operational::pedsEnabled::pedsFlash::Q_TIMEOUT::[me->flashCtr!=0~::[else]} */\n                else {\n                    BSP_signalPeds(PEDS_BLANK);\n                    status_ = Q_HANDLED();\n                }\n            }\n            /*.${components::Pelican::SM::operational::pedsEnabled::pedsFlash::Q_TIMEOUT::[else]} */\n            else {\n                status_ = Q_TRAN(&Pelican_carsEnabled);\n            }\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&Pelican_pedsEnabled);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${components::Pelican::SM::offline} .....................................*/\nstatic QState Pelican_offline(Pelican * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${components::Pelican::SM::offline} */\n        case Q_ENTRY_SIG: {\n            BSP_showState(\"offline\");\n            /* periodic timeout in OFF_FLASH_TOUT and every OFF_FLASH_TOUT ticks */\n            QActive_armX(&me->super, 0U, OFF_FLASH_TOUT, OFF_FLASH_TOUT);\n            me->flashCtr = 0U;\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::offline} */\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${components::Pelican::SM::offline::Q_TIMEOUT} */\n        case Q_TIMEOUT_SIG: {\n            me->flashCtr ^= 1U;\n            /*.${components::Pelican::SM::offline::Q_TIMEOUT::[(me->flashCtr&1U)==0U]} */\n            if ((me->flashCtr & 1U) == 0U) {\n                BSP_signalCars(CARS_RED);\n                BSP_signalPeds(PEDS_DONT_WALK);\n                status_ = Q_HANDLED();\n            }\n            /*.${components::Pelican::SM::offline::Q_TIMEOUT::[else]} */\n            else {\n                BSP_signalCars(CARS_BLANK);\n                BSP_signalPeds(PEDS_BLANK);\n                status_ = Q_HANDLED();\n            }\n            break;\n        }\n        /*.${components::Pelican::SM::offline::ON} */\n        case ON_SIG: {\n            status_ = Q_TRAN(&Pelican_operational);\n            break;\n        }\n        /*.${components::Pelican::SM::offline::TERMINATE} */\n        case TERMINATE_SIG: {\n            QF_stop();\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${components::Pelican} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/workstation/pelican/pelican.h",
    "content": "/*.$file${.::pelican.h} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: pelican.qm\n* File:  ${.::pelican.h}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::pelican.h} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#ifndef PELICAN_H\n#define PELICAN_H\n\nenum PelicanSignals {\n    PEDS_WAITING_SIG = Q_USER_SIG,\n    OFF_SIG,\n    ON_SIG,\n    TERMINATE_SIG\n};\n\n/* active objects ................................................*/\n/*.$declare${components::Pelican_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${components::Pelican_ctor} .............................................*/\nvoid Pelican_ctor(void);\n/*.$enddecl${components::Pelican_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\nextern struct Pelican AO_Pelican;\n\n#endif /* PELICAN_H */\n"
  },
  {
    "path": "examples/workstation/pelican/pelican.qm",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<model version=\"4.6.0\" links=\"1\">\n <documentation>PEdestrian LIght CONtrolled (PELICAN) crossing example</documentation>\n <!--${qpn}-->\n <framework name=\"qpn\"/>\n <!--${components}-->\n <package name=\"components\" stereotype=\"0x02\">\n  <!--${components::Pelican}-->\n  <class name=\"Pelican\" superclass=\"qpn::QActive\">\n   <documentation>PEdestrian LIght CONtrolled (PELICAN) crossing</documentation>\n   <!--${components::Pelican::flashCtr}-->\n   <attribute name=\"flashCtr\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${components::Pelican::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${components::Pelican::SM::initial}-->\n    <initial target=\"../1\">\n     <initial_glyph conn=\"2,2,5,1,72,4,-2\">\n      <action box=\"1,-2,27,4\"/>\n     </initial_glyph>\n    </initial>\n    <!--${components::Pelican::SM::operational}-->\n    <state name=\"operational\">\n     <entry brief=\"CARS_RED; PEDS_DONT_WALK\">BSP_signalCars(CARS_RED);\nBSP_signalPeds(PEDS_DONT_WALK);</entry>\n     <!--${components::Pelican::SM::operational::initial}-->\n     <initial target=\"../3\">\n      <initial_glyph conn=\"3,9,5,1,34,9,-2\">\n       <action box=\"1,-2,6,2\"/>\n      </initial_glyph>\n     </initial>\n     <!--${components::Pelican::SM::operational::OFF}-->\n     <tran trig=\"OFF\" target=\"../../2\">\n      <tran_glyph conn=\"2,14,3,1,72,66,-2\">\n       <action box=\"0,-2,5,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${components::Pelican::SM::operational::TERMINATE}-->\n     <tran trig=\"TERMINATE\">\n      <action>QF_stop();</action>\n      <tran_glyph conn=\"2,12,3,-1,15\">\n       <action box=\"0,-2,10,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${components::Pelican::SM::operational::carsEnabled}-->\n     <state name=\"carsEnabled\">\n      <exit brief=\"CARS_RED\">BSP_signalCars(CARS_RED);</exit>\n      <!--${components::Pelican::SM::operational::carsEnabled::initial}-->\n      <initial target=\"../1\">\n       <initial_glyph conn=\"5,21,5,1,26,4,-2\">\n        <action box=\"1,-2,6,2\"/>\n       </initial_glyph>\n      </initial>\n      <!--${components::Pelican::SM::operational::carsEnabled::carsGreen}-->\n      <state name=\"carsGreen\">\n       <entry brief=\"CARS_GREEN\">BSP_signalCars(CARS_GREEN);\n/* one-shot timeout in CARS_GREEN_MIN_TOUT ticks */\nQActive_armX(&amp;me-&gt;super, 0U, CARS_GREEN_MIN_TOUT, 0U);</entry>\n       <exit>QActive_disarmX(&amp;me-&gt;super, 0U);</exit>\n       <!--${components::Pelican::SM::operational::carsEnabled::carsGreen::initial}-->\n       <initial target=\"../1\">\n        <initial_glyph conn=\"7,31,5,1,17,3,-2\">\n         <action box=\"0,-2,6,2\"/>\n        </initial_glyph>\n       </initial>\n       <!--${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenNoPed}-->\n       <state name=\"carsGreenNoPed\">\n        <entry>BSP_showState(&quot;carsGreenNoPed&quot;);</entry>\n        <!--${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenNoPed::PEDS_WAITING}-->\n        <tran trig=\"PEDS_WAITING\" target=\"../../3\">\n         <tran_glyph conn=\"8,38,3,1,19,15,-5\">\n          <action box=\"0,-2,11,2\"/>\n         </tran_glyph>\n        </tran>\n        <!--${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenNoPed::Q_TIMEOUT}-->\n        <tran trig=\"Q_TIMEOUT\" target=\"../../2\">\n         <tran_glyph conn=\"8,41,3,1,17,4,-3\">\n          <action box=\"0,-2,10,2\"/>\n         </tran_glyph>\n        </tran>\n        <state_glyph node=\"8,32,14,10\">\n         <entry box=\"1,2,5,2\"/>\n        </state_glyph>\n       </state>\n       <!--${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenInt}-->\n       <state name=\"carsGreenInt\">\n        <entry>BSP_showState(&quot;carsGreenInt&quot;);</entry>\n        <!--${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenInt::PEDS_WAITING}-->\n        <tran trig=\"PEDS_WAITING\" target=\"../../../2\">\n         <tran_glyph conn=\"8,49,3,1,25,20,-4\">\n          <action box=\"0,-2,11,2\"/>\n         </tran_glyph>\n        </tran>\n        <state_glyph node=\"8,43,14,7\">\n         <entry box=\"1,2,5,2\"/>\n        </state_glyph>\n       </state>\n       <!--${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenPedWait}-->\n       <state name=\"carsGreenPedWait\">\n        <entry>BSP_showState(&quot;carsGreenPedWait&quot;);</entry>\n        <!--${components::Pelican::SM::operational::carsEnabled::carsGreen::carsGreenPedWait::Q_TIMEOUT}-->\n        <tran trig=\"Q_TIMEOUT\" target=\"../../../2\">\n         <tran_glyph conn=\"8,57,3,1,23,9,-2\">\n          <action box=\"0,-2,10,2\"/>\n         </tran_glyph>\n        </tran>\n        <state_glyph node=\"8,51,14,7\">\n         <entry box=\"1,2,5,2\"/>\n        </state_glyph>\n       </state>\n       <state_glyph node=\"6,23,23,37\">\n        <entry box=\"1,2,17,2\"/>\n        <exit box=\"1,4,5,2\"/>\n       </state_glyph>\n      </state>\n      <!--${components::Pelican::SM::operational::carsEnabled::carsYellow}-->\n      <state name=\"carsYellow\">\n       <entry brief=\"CARS_YELLOW\">BSP_showState(&quot;carsYellow&quot;);\nBSP_signalCars(CARS_YELLOW);\n\n/* one-shot timeout in CARS_YELLOW_TOUT ticks */\nQActive_armX(&amp;me-&gt;super, 0U, CARS_YELLOW_TOUT, 0U);</entry>\n       <exit>QActive_disarmX(&amp;me-&gt;super, 0U);</exit>\n       <!--${components::Pelican::SM::operational::carsEnabled::carsYellow::Q_TIMEOUT}-->\n       <tran trig=\"Q_TIMEOUT\" target=\"../../../4\">\n        <tran_glyph conn=\"6,71,3,3,33\">\n         <action box=\"0,-2,8,2\"/>\n        </tran_glyph>\n       </tran>\n       <state_glyph node=\"6,62,23,10\">\n        <entry box=\"1,2,17,2\"/>\n        <exit box=\"1,4,5,2\"/>\n       </state_glyph>\n      </state>\n      <state_glyph node=\"4,16,31,58\">\n       <exit box=\"1,2,5,2\"/>\n      </state_glyph>\n     </state>\n     <!--${components::Pelican::SM::operational::pedsEnabled}-->\n     <state name=\"pedsEnabled\">\n      <exit brief=\"PEDS_DONT_WALK\">BSP_signalPeds(PEDS_DONT_WALK);</exit>\n      <!--${components::Pelican::SM::operational::pedsEnabled::initial}-->\n      <initial target=\"../1\">\n       <initial_glyph conn=\"40,21,5,1,21,4,-2\">\n        <action box=\"0,-2,6,2\"/>\n       </initial_glyph>\n      </initial>\n      <!--${components::Pelican::SM::operational::pedsEnabled::pedsWalk}-->\n      <state name=\"pedsWalk\">\n       <entry brief=\"PEDS_WALK\">BSP_showState(&quot;pedsWalk&quot;);\nBSP_signalPeds(PEDS_WALK);\n/* one-shot timeout in PEDS_WALK_TOUT ticks */\nQActive_armX(&amp;me-&gt;super, 0U, PEDS_WALK_TOUT, 0U);</entry>\n       <exit>QActive_disarmX(&amp;me-&gt;super, 0U);</exit>\n       <!--${components::Pelican::SM::operational::pedsEnabled::pedsWalk::Q_TIMEOUT}-->\n       <tran trig=\"Q_TIMEOUT\" target=\"../../2\">\n        <tran_glyph conn=\"41,31,3,1,27,7,-2\">\n         <action box=\"0,-2,8,2\"/>\n        </tran_glyph>\n       </tran>\n       <state_glyph node=\"41,23,18,10\">\n        <entry box=\"1,2,15,2\"/>\n        <exit box=\"1,4,5,2\"/>\n       </state_glyph>\n      </state>\n      <!--${components::Pelican::SM::operational::pedsEnabled::pedsFlash}-->\n      <state name=\"pedsFlash\">\n       <entry>BSP_showState(&quot;pedsFlash&quot;);\n/* periodic timeout in PEDS_FLASH_TOUT and every PEDS_FLASH_TOUT ticks */\nQActive_armX(&amp;me-&gt;super, 0U, PEDS_FLASH_TOUT, PEDS_FLASH_TOUT);\nme-&gt;flashCtr = (PEDS_FLASH_NUM * 2U) + 1U;</entry>\n       <exit>QActive_disarmX(&amp;me-&gt;super, 0U);</exit>\n       <!--${components::Pelican::SM::operational::pedsEnabled::pedsFlash::Q_TIMEOUT}-->\n       <tran trig=\"Q_TIMEOUT\">\n        <!--${components::Pelican::SM::operational::pedsEnabled::pedsFlash::Q_TIMEOUT::[me->flashCtr!=0U]}-->\n        <choice>\n         <guard>me-&gt;flashCtr != 0U</guard>\n         <action>--me-&gt;flashCtr;</action>\n         <!--${components::Pelican::SM::operational::pedsEnabled::pedsFlash::Q_TIMEOUT::[me->flashCtr!=0~::[(me->flashCtr&1U)==0U]}-->\n         <choice>\n          <guard>(me-&gt;flashCtr &amp; 1U) == 0U</guard>\n          <action>BSP_signalPeds(PEDS_DONT_WALK);</action>\n          <choice_glyph conn=\"49,54,5,-1,-5,9,16\">\n           <action box=\"-7,9,26,5\"/>\n          </choice_glyph>\n         </choice>\n         <!--${components::Pelican::SM::operational::pedsEnabled::pedsFlash::Q_TIMEOUT::[me->flashCtr!=0~::[else]}-->\n         <choice>\n          <guard>else</guard>\n          <action>BSP_signalPeds(PEDS_BLANK);</action>\n          <choice_glyph conn=\"49,54,4,-1,3,11\">\n           <action box=\"0,3,22,4\"/>\n          </choice_glyph>\n         </choice>\n         <choice_glyph conn=\"49,45,5,-1,11,9,-11\">\n          <action box=\"1,0,16,4\"/>\n         </choice_glyph>\n        </choice>\n        <!--${components::Pelican::SM::operational::pedsEnabled::pedsFlash::Q_TIMEOUT::[else]}-->\n        <choice target=\"../../../../3\">\n         <guard>else</guard>\n         <choice_glyph conn=\"49,45,4,1,3,-14\">\n          <action box=\"-7,3,6,2\"/>\n         </choice_glyph>\n        </choice>\n        <tran_glyph conn=\"41,45,3,-1,8\">\n         <action box=\"0,-2,8,2\"/>\n        </tran_glyph>\n       </tran>\n       <state_glyph node=\"41,36,25,32\">\n        <entry box=\"1,2,5,2\"/>\n        <exit box=\"1,4,5,2\"/>\n       </state_glyph>\n      </state>\n      <state_glyph node=\"39,16,31,58\">\n       <exit box=\"1,2,5,2\"/>\n      </state_glyph>\n     </state>\n     <state_glyph node=\"2,4,70,72\">\n      <entry box=\"1,2,28,2\"/>\n     </state_glyph>\n    </state>\n    <!--${components::Pelican::SM::offline}-->\n    <state name=\"offline\">\n     <entry>BSP_showState(&quot;offline&quot;);\n/* periodic timeout in OFF_FLASH_TOUT and every OFF_FLASH_TOUT ticks */\nQActive_armX(&amp;me-&gt;super, 0U, OFF_FLASH_TOUT, OFF_FLASH_TOUT);\nme-&gt;flashCtr = 0U;</entry>\n     <exit>QActive_disarmX(&amp;me-&gt;super, 0U);</exit>\n     <!--${components::Pelican::SM::offline::Q_TIMEOUT}-->\n     <tran trig=\"Q_TIMEOUT\">\n      <action>me-&gt;flashCtr ^= 1U;</action>\n      <!--${components::Pelican::SM::offline::Q_TIMEOUT::[(me->flashCtr&1U)==0U]}-->\n      <choice>\n       <guard>(me-&gt;flashCtr &amp; 1U) == 0U</guard>\n       <action brief=\"\\CARS_RED; PEDS_DONT_WALK;\">BSP_signalCars(CARS_RED);\nBSP_signalPeds(PEDS_DONT_WALK);</action>\n       <choice_glyph conn=\"36,89,5,-1,29\">\n        <action box=\"1,0,23,4\"/>\n       </choice_glyph>\n      </choice>\n      <!--${components::Pelican::SM::offline::Q_TIMEOUT::[else]}-->\n      <choice>\n       <guard>else</guard>\n       <action brief=\"CARS_BLANK; PEDS_BLANK;\">BSP_signalCars(CARS_BLANK);\nBSP_signalPeds(PEDS_BLANK);</action>\n       <choice_glyph conn=\"36,89,4,-1,5,29\">\n        <action box=\"1,5,26,2\"/>\n       </choice_glyph>\n      </choice>\n      <tran_glyph conn=\"2,89,3,-1,34\">\n       <action box=\"0,-2,22,4\"/>\n      </tran_glyph>\n     </tran>\n     <!--${components::Pelican::SM::offline::ON}-->\n     <tran trig=\"ON\" target=\"../../1\">\n      <tran_glyph conn=\"2,86,3,2,63,-10\">\n       <action box=\"0,-2,6,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${components::Pelican::SM::offline::TERMINATE}-->\n     <tran trig=\"TERMINATE\">\n      <action>QF_stop();</action>\n      <tran_glyph conn=\"2,93,3,-1,14\">\n       <action box=\"0,-2,10,2\"/>\n      </tran_glyph>\n     </tran>\n     <state_glyph node=\"2,78,70,19\">\n      <entry box=\"1,2,5,2\"/>\n      <exit box=\"1,4,5,2\"/>\n     </state_glyph>\n    </state>\n    <state_diagram size=\"76,99\"/>\n   </statechart>\n  </class>\n  <!--${components::AO_Pelican}-->\n  <attribute name=\"AO_Pelican\" type=\"QActive * const\" visibility=\"0x00\" properties=\"0x00\"/>\n  <!--${components::Pelican_ctor}-->\n  <operation name=\"Pelican_ctor\" type=\"void\" visibility=\"0x00\" properties=\"0x01\">\n   <documentation>constructor</documentation>\n   <code>QActive_ctor(&amp;AO_Pelican.super, Q_STATE_CAST(&amp;Pelican_initial));</code>\n  </operation>\n </package>\n <!--${.}-->\n <directory name=\".\">\n  <!--${.::pelican.h}-->\n  <file name=\"pelican.h\">\n   <text>#ifndef PELICAN_H\n#define PELICAN_H\n\nenum PelicanSignals {\n    PEDS_WAITING_SIG = Q_USER_SIG,\n    OFF_SIG,\n    ON_SIG,\n    TERMINATE_SIG\n};\n\n/* active objects ................................................*/\n$declare(components::Pelican_ctor)\n\nextern struct Pelican AO_Pelican;\n\n#endif /* PELICAN_H */\n</text>\n  </file>\n  <!--${.::pelican.c}-->\n  <file name=\"pelican.c\">\n   <text>#include &quot;qpn.h&quot;     /* QP-nano */\n#include &quot;bsp.h&quot;     /* Board Support Package (BSP) */\n#include &quot;pelican.h&quot; /* application interface */\n\n/*Q_DEFINE_THIS_FILE*/\n\n#define CARS_GREEN_MIN_TOUT (QTimeEvtCtr)(BSP_TICKS_PER_SEC * 8U)\n#define CARS_YELLOW_TOUT    (QTimeEvtCtr)(BSP_TICKS_PER_SEC * 3U)\n#define PEDS_WALK_TOUT      (QTimeEvtCtr)(BSP_TICKS_PER_SEC * 3U)\n#define PEDS_FLASH_TOUT     (QTimeEvtCtr)(BSP_TICKS_PER_SEC / 5U)\n#define PEDS_FLASH_NUM      (uint8_t)(5U * 2U)\n#define OFF_FLASH_TOUT      (QTimeEvtCtr)(BSP_TICKS_PER_SEC / 2U)\n\n/* Pelican class declaration -----------------------------------------------*/\n$declare(components::Pelican)\n\n/* Global objects ----------------------------------------------------------*/\nstruct Pelican AO_Pelican; /* the single instance of the Pelican AO */\n\n/* Pelican class definition ------------------------------------------------*/\n$define(components::Pelican_ctor)\n$define(components::Pelican)</text>\n  </file>\n </directory>\n</model>\n"
  },
  {
    "path": "examples/workstation/pelican/qpn_conf.h",
    "content": "/*****************************************************************************\n* Product: QP-nano configuration for the PELICAN example\n* Last Updated for Version: 5.6.2\n* Date of the Last Update:  2016-04-05\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef QPN_CONF_H\n#define QPN_CONF_H\n\n#define Q_PARAM_SIZE            4U\n#define QF_MAX_TICK_RATE        1U\n#define QF_TIMEEVT_CTR_SIZE     2U\n#define QF_TIMEEVT_PERIODIC\n\n#endif  /* QPN_CONF_H */\n"
  },
  {
    "path": "examples/workstation/qhsmtst/Makefile",
    "content": "##############################################################################\n# Product: Makefile for QP-nano for Windows and POSIX *HOSTS*\n# Last updated for version 6.4.0\n# Last updated on  2019-01-09\n#\n#                    Q u a n t u m  L e a P s\n#                    ------------------------\n#                    Modern Embedded Software\n#\n# Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# https://www.state-machine.com\n# mailto:info@state-machine.com\n##############################################################################\n#\n# examples of invoking this Makefile:\n# building configurations: Debug (default), Release, and Spy\n# make\n# make CONF=rel\n#\n# cleaning configurations: Debug (default), Release, and Spy\n# make clean\n# make CONF=rel clean\n#\n# NOTE:\n# To use this Makefile on Windows, you will need the GNU make utility, which\n# is included in the QTools collection for Windows, see:\n#    http://sourceforge.net/projects/qpc/files/QTools/\n#\n\n#-----------------------------------------------------------------------------\n# project name:\n#\nPROJECT := qhsmtst\n\n#-----------------------------------------------------------------------------\n# project directories:\n#\n\n# list of all source directories used by this project\nVPATH := . \\\n\n# list of all include directories needed by this project\nINCLUDES := -I. \\\n\n# location of the QP-nano framework (if not provided in an env. variable)\nifeq ($(QPN),)\nQPN := ../../..\nendif\n\n#-----------------------------------------------------------------------------\n# project files:\n#\n\n# C source files...\nC_SRCS := \\\n\tbsp.c \\\n\tmain.c \\\n\tqhsmtst.c\n\n# C++ source files...\nCPP_SRCS :=\n\nLIB_DIRS  :=\nLIBS      :=\n\n# defines...\nDEFINES   :=\n\nifeq (,$(CONF))\n\tCONF := dbg\nendif\n\n#-----------------------------------------------------------------------------\n# add QP-nano framework (depends on the OS this Makefile runs on):\n#\nifeq ($(OS),Windows_NT)\n\nQPN_PORT_DIR := $(QPN)/ports/win32-qv\n\nC_SRCS += \\\n\tqepn.c \\\n\tqfn_win32.c\n\nelse\n\nQPN_PORT_DIR := $(QPN)/ports/posix-qv\n\nC_SRCS += \\\n\tqepn.c \\\n\tqfn_posix.c\n\nLIBS += -lpthread\n\nendif\n\n#============================================================================\n# Typically you should not need to change anything below this line\n\nVPATH    += $(QPN)/src/qfn $(QPN_PORT_DIR)\nINCLUDES += -I$(QPN)/include -I$(QPN)/src -I$(QPN_PORT_DIR)\n\n#-----------------------------------------------------------------------------\n# GNU toolset:\n#\n# NOTE:\n# GNU toolset (MinGW) is included in the QTools collection for Windows, see:\n#     http://sourceforge.net/projects/qpc/files/QTools/\n# It is assumed that %QTOOLS%\\bin directory is added to the PATH\n#\nCC    := gcc\nCPP   := g++\nLINK  := gcc    # for C programs\n#LINK  := g++   # for C++ programs\n\n#-----------------------------------------------------------------------------\n# basic utilities (depends on the OS this Makefile runs on):\n#\nifeq ($(OS),Windows_NT)\n\tMKDIR      := mkdir\n\tRM         := rm\n\tTARGET_EXT := .exe\nelse ifeq ($(OSTYPE),cygwin)\n\tMKDIR      := mkdir -p\n\tRM         := rm -f\n\tTARGET_EXT := .exe\nelse\n\tMKDIR      := mkdir -p\n\tRM         := rm -f\n\tTARGET_EXT :=\nendif\n\n#-----------------------------------------------------------------------------\n# build configurations...\n\nifeq (rel, $(CONF)) # Release configuration ..................................\n\nBIN_DIR := build_rel\n# gcc options:\nCFLAGS  = -c -O3 -fno-pie -std=c99 -pedantic -Wall -Wextra -W \\\n\t$(INCLUDES) $(DEFINES) -DNDEBUG\n\nCPPFLAGS = -c -O3 -fno-pie -std=c++11 -pedantic -Wall -Wextra \\\n\t-fno-rtti -fno-exceptions \\\n\t$(INCLUDES) $(DEFINES) -DNDEBUG\n\nelse # default Debug configuration .........................................\n\nBIN_DIR := build\n\n# gcc options:\nCFLAGS  = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \\\n\t$(INCLUDES) $(DEFINES)\n\nCPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \\\n\t-fno-rtti -fno-exceptions \\\n\t$(INCLUDES) $(DEFINES)\n\nendif  # .....................................................................\n\nLINKFLAGS :=\n\n#-----------------------------------------------------------------------------\nC_OBJS       := $(patsubst %.c,%.o,   $(C_SRCS))\nCPP_OBJS     := $(patsubst %.cpp,%.o, $(CPP_SRCS))\n\nTARGET_EXE   := $(BIN_DIR)/$(PROJECT)$(TARGET_EXT)\nC_OBJS_EXT   := $(addprefix $(BIN_DIR)/, $(C_OBJS))\nC_DEPS_EXT   := $(patsubst %.o,%.d, $(C_OBJS_EXT))\nCPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))\nCPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))\n\n# create $(BIN_DIR) if it does not exist\nifeq (\"$(wildcard $(BIN_DIR))\",\"\")\n$(shell $(MKDIR) $(BIN_DIR))\nendif\n\n#-----------------------------------------------------------------------------\n# rules\n#\n\nall: $(TARGET_EXE)\n\n$(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)\n\t$(LINK) $(LINKFLAGS) $(LIB_DIRS) -o $@ $^ $(LIBS)\n\n$(BIN_DIR)/%.d : %.c\n\t$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@\n\n$(BIN_DIR)/%.d : %.cpp\n\t$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@\n\n$(BIN_DIR)/%.o : %.c\n\t$(CC) $(CFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.cpp\n\t$(CPP) $(CPPFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.rc\n\t$(RC) $(RCINCLUDES) -i $< -o $@\n\n# include dependency files only if our goal depends on their existence\nifneq ($(MAKECMDGOALS),clean)\n  ifneq ($(MAKECMDGOALS),show)\n-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)\n  endif\nendif\n\n.PHONY : clean show\n\nclean :\n\t-$(RM) $(BIN_DIR)/*.o \\\n\t$(BIN_DIR)/*.d \\\n\t$(TARGET_EXE)\n\nshow :\n\t@echo PROJECT      = $(PROJECT)\n\t@echo TARGET_EXE   = $(TARGET_EXE)\n\t@echo VPATH        = $(VPATH)\n\t@echo C_SRCS       = $(C_SRCS)\n\t@echo CPP_SRCS     = $(CPP_SRCS)\n\t@echo C_DEPS_EXT   = $(C_DEPS_EXT)\n\t@echo C_OBJS_EXT   = $(C_OBJS_EXT)\n\t@echo C_DEPS_EXT   = $(C_DEPS_EXT)\n\t@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)\n\t@echo CPP_OBJS_EXT = $(CPP_OBJS_EXT)\n\t@echo LIB_DIRS     = $(LIB_DIRS)\n\t@echo LIBS         = $(LIBS)\n\t@echo DEFINES      = $(DEFINES)\n\n"
  },
  {
    "path": "examples/workstation/qhsmtst/bsp.c",
    "content": "/*****************************************************************************\n* Product: BSP for QHsmTst example, Win32\n* Last updated for version 6.4.0\n* Last updated on  2019-02-10\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"bsp.h\"\n#include \"qhsmtst.h\"\n\n#include \"safe_std.h\" /* portable \"safe\" <stdio.h>/<string.h> facilities */\n#include <stdlib.h>\n\nQ_DEFINE_THIS_FILE\n\n/*..........................................................................*/\n/* dummy definition of the QF_active[] array (not used in this example) */\nQActiveCB const Q_ROM QF_active[] = {\n    { (QActive *)0,  (QEvt *)0, 0U }\n};\n\nstatic FILE *l_outFile;\n\n/*..........................................................................*/\nvoid BSP_init(char const *fname) {\n   if (*fname == '\\0') {\n        l_outFile = stdout;  /* use the stdout as the output file */\n        PRINTF_S(\"QHsmTst example, built on %s at %s,\\n\"\n               \"QP-nano: %s.\\nPress ESC to quit...\\n\",\n               __DATE__, __TIME__, QP_VERSION_STR);\n    }\n    else {\n        l_outFile = fopen(fname, \"w\");\n        Q_ASSERT(l_outFile != (FILE *)0);\n\n        PRINTF_S(\"QHsmTst example, built on %s at %s, QP-nano %s\\n\"\n               \"output saved to %s\\n\",\n               __DATE__, __TIME__, QP_VERSION_STR,\n               fname);\n\n        FPRINTF_S(l_outFile, \"QHsmTst example, QP-nano %s\\n\",\n               QP_VERSION_STR);\n    }\n\n    QHSM_INIT(the_hsm); /* the top-most initial tran. */\n}\n/*..........................................................................*/\nvoid BSP_exit(void) {\n    fclose(l_outFile);\n    PRINTF_S(\"\\n%s\\n\", \"Bye! Bye!\");\n    QF_onCleanup();\n    exit(0);\n}\n/*..........................................................................*/\nvoid BSP_display(char const *msg) {\n    FPRINTF_S(l_outFile, \"%s\", msg);\n}\n/*..........................................................................*/\nvoid BSP_dispatch(QSignal sig) {\n    if ((A_SIG <= sig) && (sig <= I_SIG)) {\n        FPRINTF_S(l_outFile, \"%c:\", 'A' + sig - A_SIG);\n    }\n    Q_SIG(the_hsm) = sig;\n    QHSM_DISPATCH(the_hsm); /* dispatch the event */\n    FPRINTF_S(l_outFile, \"\\n\", \"\");\n}\n\n\n/*--------------------------------------------------------------------------*/\nvoid QF_onStartup(void) {\n    QF_consoleSetup();\n}\n/*..........................................................................*/\nvoid QF_onCleanup(void) {\n    QF_consoleCleanup();\n}\n/*..........................................................................*/\nvoid QF_onClockTickISR(void) {\n}\n\n/*..........................................................................*/\n/* this function is used by the QP embedded systems-friendly assertions */\nQ_NORETURN Q_onAssert(char const * const file, int line) {\n    PRINTF_S(\"Assertion failed in %s, line %d\", file, line);\n    exit(-1);\n}\n\n\n\n\n"
  },
  {
    "path": "examples/workstation/qhsmtst/bsp.h",
    "content": "/*****************************************************************************\n* Product: BSP for QP-nano example, Win32\n* Last updated for version 5.4.0\n* Last updated on  2015-05-18\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, www.state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BSP_H\n#define BSP_H\n\nvoid BSP_init(char const *fname);\nvoid BSP_exit(void);\nvoid BSP_display(char const *msg);\nvoid BSP_dispatch(QSignal sig);\n\n#endif /* BSP_H */\n"
  },
  {
    "path": "examples/workstation/qhsmtst/log.txt",
    "content": "QHsmTst example, QP-nano 6.5.0\ntop-INIT;s-ENTRY;s2-ENTRY;s2-INIT;s21-ENTRY;s211-ENTRY;A:s21-A;s211-EXIT;s21-EXIT;s21-ENTRY;s21-INIT;s211-ENTRY;\nB:s21-B;s211-EXIT;s211-ENTRY;\nD:s211-D;s211-EXIT;s21-INIT;s211-ENTRY;\nE:s-E;s211-EXIT;s21-EXIT;s2-EXIT;s1-ENTRY;s11-ENTRY;\nI:s1-I;\nF:s1-F;s11-EXIT;s1-EXIT;s2-ENTRY;s21-ENTRY;s211-ENTRY;\nI:s2-I;\nI:s-I;\nF:s2-F;s211-EXIT;s21-EXIT;s2-EXIT;s1-ENTRY;s11-ENTRY;\nA:s1-A;s11-EXIT;s1-EXIT;s1-ENTRY;s1-INIT;s11-ENTRY;\nB:s1-B;s11-EXIT;s11-ENTRY;\nD:s1-D;s11-EXIT;s1-EXIT;s-INIT;s1-ENTRY;s11-ENTRY;\nD:s11-D;s11-EXIT;s1-INIT;s11-ENTRY;\nE:s-E;s11-EXIT;s1-EXIT;s1-ENTRY;s11-ENTRY;\nG:s11-G;s11-EXIT;s1-EXIT;s2-ENTRY;s21-ENTRY;s211-ENTRY;\nH:s211-H;s211-EXIT;s21-EXIT;s2-EXIT;s-INIT;s1-ENTRY;s11-ENTRY;\nH:s11-H;s11-EXIT;s1-EXIT;s-INIT;s1-ENTRY;s11-ENTRY;\nC:s1-C;s11-EXIT;s1-EXIT;s2-ENTRY;s2-INIT;s21-ENTRY;s211-ENTRY;\nG:s21-G;s211-EXIT;s21-EXIT;s2-EXIT;s1-ENTRY;s1-INIT;s11-ENTRY;\nC:s1-C;s11-EXIT;s1-EXIT;s2-ENTRY;s2-INIT;s21-ENTRY;s211-ENTRY;\nC:s2-C;s211-EXIT;s21-EXIT;s2-EXIT;s1-ENTRY;s1-INIT;s11-ENTRY;\n"
  },
  {
    "path": "examples/workstation/qhsmtst/main.c",
    "content": "/*****************************************************************************\n* Product: QHsmTst Example\n* Last Updated for Version: 6.3.7\n* Date of the Last Update:  2018-12-13\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2018 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"bsp.h\"\n#include \"qhsmtst.h\"\n\n#include \"safe_std.h\" /* portable \"safe\" <stdio.h>/<string.h> facilities */\n#include <stdlib.h>\n\n//Q_DEFINE_THIS_FILE\n\n/*..........................................................................*/\nint main(int argc, char *argv[]) {\n    QHsmTst_ctor(); /* instantiate the QHsmTst object */\n\n    BSP_init((argc > 1) ? argv[1] : \"\");\n    QF_onStartup();\n\n    if (argc > 1) { /* batch version? */\n        /* testing of dynamic transitions... */\n        BSP_dispatch(A_SIG);\n        BSP_dispatch(B_SIG);\n        BSP_dispatch(D_SIG);\n        BSP_dispatch(E_SIG);\n        BSP_dispatch(I_SIG);\n        BSP_dispatch(F_SIG);\n        BSP_dispatch(I_SIG);\n        BSP_dispatch(I_SIG);\n        BSP_dispatch(F_SIG);\n        BSP_dispatch(A_SIG);\n        BSP_dispatch(B_SIG);\n        BSP_dispatch(D_SIG);\n        BSP_dispatch(D_SIG);\n        BSP_dispatch(E_SIG);\n        BSP_dispatch(G_SIG);\n        BSP_dispatch(H_SIG);\n        BSP_dispatch(H_SIG);\n        BSP_dispatch(C_SIG);\n        BSP_dispatch(G_SIG);\n        BSP_dispatch(C_SIG);\n        BSP_dispatch(C_SIG);\n    }\n    else { /* interactive version */\n        PRINTF_S(\"\\n\", \"\");\n        for (;;) { /* event loop */\n            int c;\n            QSignal sig;\n\n            c = (uint8_t)QF_consoleWaitForKey();\n\n            if ('a' <= c && c <= 'i') {      /* in range? */\n                sig = (QSignal)(c - 'a' + A_SIG);\n            }\n            else if ('A' <= c && c <= 'I') { /* in range? */\n               sig = (QSignal)(c - 'A' + A_SIG);\n            }\n            else if (c == '\\33') {           /* the ESC key? */\n                sig = TERMINATE_SIG;\n            }\n            else {\n                sig = IGNORE_SIG;\n            }\n\n            BSP_dispatch(sig);\n        }\n    }\n\n    QF_onCleanup();\n    return 0;\n}\n"
  },
  {
    "path": "examples/workstation/qhsmtst/qhsmtst.c",
    "content": "/*.$file${.::qhsmtst.c} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: qhsmtst.qm\n* File:  ${.::qhsmtst.c}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::qhsmtst.c} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#include \"qpn.h\"\n#include \"bsp.h\"\n#include \"qhsmtst.h\"\n\n/*.$declare${HSMs::QHsmTst} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${HSMs::QHsmTst} ........................................................*/\ntypedef struct QHsmTst {\n/* protected: */\n    QHsm super;\n\n/* private: */\n    uint8_t foo;\n\n/* private state histories */\n    QStateHandler hist_s1;\n} QHsmTst;\n\n/* protected: */\nstatic QState QHsmTst_initial(QHsmTst * const me);\nstatic QState QHsmTst_s(QHsmTst * const me);\nstatic QState QHsmTst_s1(QHsmTst * const me);\nstatic QState QHsmTst_s11(QHsmTst * const me);\nstatic QState QHsmTst_s2(QHsmTst * const me);\nstatic QState QHsmTst_s21(QHsmTst * const me);\nstatic QState QHsmTst_s211(QHsmTst * const me);\n/*.$enddecl${HSMs::QHsmTst} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\nstatic QHsmTst l_hsmtst; /* the only instance of the QHsmTst class */\n\n/* global-scope definitions ---------------------------------------*/\nQHsm * const the_hsm = (QHsm *)&l_hsmtst; /* the opaque pointer */\n\n/*.$skip${QP_VERSION} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*. Check for the minimum required QP version */\n#if (QP_VERSION < 650U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))\n#error qpn version 6.5.0 or higher required\n#endif\n/*.$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${HSMs::QHsmTst_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${HSMs::QHsmTst_ctor} ...................................................*/\nvoid QHsmTst_ctor(void) {\n    QHsmTst *me = &l_hsmtst;\n    QHsm_ctor(&me->super, Q_STATE_CAST(&QHsmTst_initial));\n}\n/*.$enddef${HSMs::QHsmTst_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n/*.$define${HSMs::QHsmTst} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${HSMs::QHsmTst} ........................................................*/\n/*.${HSMs::QHsmTst::SM} ....................................................*/\nstatic QState QHsmTst_initial(QHsmTst * const me) {\n    /*.${HSMs::QHsmTst::SM::initial} */\n    me->foo = 0U;\n    BSP_display(\"top-INIT;\");\n    /* state history attributes */\n    /* state history attributes */\n    me->hist_s1 = Q_STATE_CAST(&QHsmTst_s11);\n    return Q_TRAN(&QHsmTst_s2);\n}\n/*.${HSMs::QHsmTst::SM::s} .................................................*/\nstatic QState QHsmTst_s(QHsmTst * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${HSMs::QHsmTst::SM::s} */\n        case Q_ENTRY_SIG: {\n            BSP_display(\"s-ENTRY;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${HSMs::QHsmTst::SM::s} */\n        case Q_EXIT_SIG: {\n            BSP_display(\"s-EXIT;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${HSMs::QHsmTst::SM::s::initial} */\n        case Q_INIT_SIG: {\n            BSP_display(\"s-INIT;\");\n            status_ = Q_TRAN(&QHsmTst_s11);\n            break;\n        }\n        /*.${HSMs::QHsmTst::SM::s::I} */\n        case I_SIG: {\n            /*.${HSMs::QHsmTst::SM::s::I::[me->foo]} */\n            if (me->foo) {\n                me->foo = 0U;\n                BSP_display(\"s-I;\");\n                status_ = Q_HANDLED();\n            }\n            else {\n                status_ = Q_UNHANDLED();\n            }\n            break;\n        }\n        /*.${HSMs::QHsmTst::SM::s::E} */\n        case E_SIG: {\n            BSP_display(\"s-E;\");\n            status_ = Q_TRAN(&QHsmTst_s11);\n            break;\n        }\n        /*.${HSMs::QHsmTst::SM::s::TERMINATE} */\n        case TERMINATE_SIG: {\n            BSP_exit();\n            status_ = Q_HANDLED();\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${HSMs::QHsmTst::SM::s::s1} .............................................*/\nstatic QState QHsmTst_s1(QHsmTst * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${HSMs::QHsmTst::SM::s::s1} */\n        case Q_ENTRY_SIG: {\n            BSP_display(\"s1-ENTRY;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${HSMs::QHsmTst::SM::s::s1} */\n        case Q_EXIT_SIG: {\n            BSP_display(\"s1-EXIT;\");\n            /* save deep history */\n            me->hist_s1 = QHsm_state(me);\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${HSMs::QHsmTst::SM::s::s1::initial} */\n        case Q_INIT_SIG: {\n            BSP_display(\"s1-INIT;\");\n            status_ = Q_TRAN(&QHsmTst_s11);\n            break;\n        }\n        /*.${HSMs::QHsmTst::SM::s::s1::I} */\n        case I_SIG: {\n            BSP_display(\"s1-I;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${HSMs::QHsmTst::SM::s::s1::D} */\n        case D_SIG: {\n            /*.${HSMs::QHsmTst::SM::s::s1::D::[!me->foo]} */\n            if (!me->foo) {\n                me->foo = 1U;\n                BSP_display(\"s1-D;\");\n                status_ = Q_TRAN(&QHsmTst_s);\n            }\n            else {\n                status_ = Q_UNHANDLED();\n            }\n            break;\n        }\n        /*.${HSMs::QHsmTst::SM::s::s1::A} */\n        case A_SIG: {\n            BSP_display(\"s1-A;\");\n            status_ = Q_TRAN(&QHsmTst_s1);\n            break;\n        }\n        /*.${HSMs::QHsmTst::SM::s::s1::B} */\n        case B_SIG: {\n            BSP_display(\"s1-B;\");\n            status_ = Q_TRAN(&QHsmTst_s11);\n            break;\n        }\n        /*.${HSMs::QHsmTst::SM::s::s1::F} */\n        case F_SIG: {\n            BSP_display(\"s1-F;\");\n            status_ = Q_TRAN(&QHsmTst_s211);\n            break;\n        }\n        /*.${HSMs::QHsmTst::SM::s::s1::C} */\n        case C_SIG: {\n            BSP_display(\"s1-C;\");\n            status_ = Q_TRAN(&QHsmTst_s2);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsmTst_s);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${HSMs::QHsmTst::SM::s::s1::s11} ........................................*/\nstatic QState QHsmTst_s11(QHsmTst * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${HSMs::QHsmTst::SM::s::s1::s11} */\n        case Q_ENTRY_SIG: {\n            BSP_display(\"s11-ENTRY;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${HSMs::QHsmTst::SM::s::s1::s11} */\n        case Q_EXIT_SIG: {\n            BSP_display(\"s11-EXIT;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${HSMs::QHsmTst::SM::s::s1::s11::H} */\n        case H_SIG: {\n            BSP_display(\"s11-H;\");\n            status_ = Q_TRAN(&QHsmTst_s);\n            break;\n        }\n        /*.${HSMs::QHsmTst::SM::s::s1::s11::D} */\n        case D_SIG: {\n            /*.${HSMs::QHsmTst::SM::s::s1::s11::D::[me->foo]} */\n            if (me->foo) {\n                me->foo = 0U;\n                BSP_display(\"s11-D;\");\n                status_ = Q_TRAN(&QHsmTst_s1);\n            }\n            else {\n                status_ = Q_UNHANDLED();\n            }\n            break;\n        }\n        /*.${HSMs::QHsmTst::SM::s::s1::s11::G} */\n        case G_SIG: {\n            BSP_display(\"s11-G;\");\n            status_ = Q_TRAN(&QHsmTst_s211);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsmTst_s1);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${HSMs::QHsmTst::SM::s::s2} .............................................*/\nstatic QState QHsmTst_s2(QHsmTst * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${HSMs::QHsmTst::SM::s::s2} */\n        case Q_ENTRY_SIG: {\n            BSP_display(\"s2-ENTRY;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${HSMs::QHsmTst::SM::s::s2} */\n        case Q_EXIT_SIG: {\n            BSP_display(\"s2-EXIT;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${HSMs::QHsmTst::SM::s::s2::initial} */\n        case Q_INIT_SIG: {\n            BSP_display(\"s2-INIT;\");\n            status_ = Q_TRAN(&QHsmTst_s211);\n            break;\n        }\n        /*.${HSMs::QHsmTst::SM::s::s2::I} */\n        case I_SIG: {\n            /*.${HSMs::QHsmTst::SM::s::s2::I::[!me->foo]} */\n            if (!me->foo) {\n                me->foo = 1U;\n                BSP_display(\"s2-I;\");\n                status_ = Q_HANDLED();\n            }\n            else {\n                status_ = Q_UNHANDLED();\n            }\n            break;\n        }\n        /*.${HSMs::QHsmTst::SM::s::s2::F} */\n        case F_SIG: {\n            BSP_display(\"s2-F;\");\n            status_ = Q_TRAN_HIST(me->hist_s1);\n            break;\n        }\n        /*.${HSMs::QHsmTst::SM::s::s2::C} */\n        case C_SIG: {\n            BSP_display(\"s2-C;\");\n            status_ = Q_TRAN(&QHsmTst_s1);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsmTst_s);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${HSMs::QHsmTst::SM::s::s2::s21} ........................................*/\nstatic QState QHsmTst_s21(QHsmTst * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${HSMs::QHsmTst::SM::s::s2::s21} */\n        case Q_ENTRY_SIG: {\n            BSP_display(\"s21-ENTRY;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${HSMs::QHsmTst::SM::s::s2::s21} */\n        case Q_EXIT_SIG: {\n            BSP_display(\"s21-EXIT;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${HSMs::QHsmTst::SM::s::s2::s21::initial} */\n        case Q_INIT_SIG: {\n            BSP_display(\"s21-INIT;\");\n            status_ = Q_TRAN(&QHsmTst_s211);\n            break;\n        }\n        /*.${HSMs::QHsmTst::SM::s::s2::s21::G} */\n        case G_SIG: {\n            BSP_display(\"s21-G;\");\n            status_ = Q_TRAN(&QHsmTst_s1);\n            break;\n        }\n        /*.${HSMs::QHsmTst::SM::s::s2::s21::A} */\n        case A_SIG: {\n            BSP_display(\"s21-A;\");\n            status_ = Q_TRAN(&QHsmTst_s21);\n            break;\n        }\n        /*.${HSMs::QHsmTst::SM::s::s2::s21::B} */\n        case B_SIG: {\n            BSP_display(\"s21-B;\");\n            status_ = Q_TRAN(&QHsmTst_s211);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsmTst_s2);\n            break;\n        }\n    }\n    return status_;\n}\n/*.${HSMs::QHsmTst::SM::s::s2::s21::s211} ..................................*/\nstatic QState QHsmTst_s211(QHsmTst * const me) {\n    QState status_;\n    switch (Q_SIG(me)) {\n        /*.${HSMs::QHsmTst::SM::s::s2::s21::s211} */\n        case Q_ENTRY_SIG: {\n            BSP_display(\"s211-ENTRY;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${HSMs::QHsmTst::SM::s::s2::s21::s211} */\n        case Q_EXIT_SIG: {\n            BSP_display(\"s211-EXIT;\");\n            status_ = Q_HANDLED();\n            break;\n        }\n        /*.${HSMs::QHsmTst::SM::s::s2::s21::s211::H} */\n        case H_SIG: {\n            BSP_display(\"s211-H;\");\n            status_ = Q_TRAN(&QHsmTst_s);\n            break;\n        }\n        /*.${HSMs::QHsmTst::SM::s::s2::s21::s211::D} */\n        case D_SIG: {\n            BSP_display(\"s211-D;\");\n            status_ = Q_TRAN(&QHsmTst_s21);\n            break;\n        }\n        default: {\n            status_ = Q_SUPER(&QHsmTst_s21);\n            break;\n        }\n    }\n    return status_;\n}\n/*.$enddef${HSMs::QHsmTst} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n"
  },
  {
    "path": "examples/workstation/qhsmtst/qhsmtst.h",
    "content": "/*.$file${.::qhsmtst.h} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*\n* Model: qhsmtst.qm\n* File:  ${.::qhsmtst.h}\n*\n* This code has been generated by QM 4.6.0 <www.state-machine.com/qm/>.\n* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation.\n*\n* This program is distributed in the hope that it will be useful, but\n* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n* for more details.\n*/\n/*.$endhead${.::qhsmtst.h} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n#ifndef QHSMTST_H\n#define QHSMTST_H\n\nenum QHsmTstSignals {\n    A_SIG = Q_USER_SIG,\n    B_SIG,\n    C_SIG,\n    D_SIG,\n    E_SIG,\n    F_SIG,\n    G_SIG,\n    H_SIG,\n    I_SIG,\n    TERMINATE_SIG,\n    IGNORE_SIG,\n    MAX_SIG\n};\n\nextern QHsm * const the_hsm; /* opaque pointer to the test HSM */\n\n/*.$declare${HSMs::QHsmTst_ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv*/\n/*.${HSMs::QHsmTst_ctor} ...................................................*/\nvoid QHsmTst_ctor(void);\n/*.$enddecl${HSMs::QHsmTst_ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/\n\n#endif /* QHSMTST_H */\n"
  },
  {
    "path": "examples/workstation/qhsmtst/qhsmtst.qm",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<model version=\"4.6.0\" links=\"1\">\n <documentation>QHsmTst is a contrived state machine from Chapter 2 of the PSiCC2 book for testing all possible transition topologies with up to 4-levels of state nesting.</documentation>\n <!--${qpn}-->\n <framework name=\"qpn\"/>\n <!--${HSMs}-->\n <package name=\"HSMs\" stereotype=\"0x02\">\n  <!--${HSMs::QHsmTst}-->\n  <class name=\"QHsmTst\" superclass=\"qpn::QHsm\">\n   <documentation>Test active object</documentation>\n   <!--${HSMs::QHsmTst::foo}-->\n   <attribute name=\"foo\" type=\"uint8_t\" visibility=\"0x02\" properties=\"0x00\"/>\n   <!--${HSMs::QHsmTst::SM}-->\n   <statechart properties=\"0x01\">\n    <!--${HSMs::QHsmTst::SM::initial}-->\n    <initial target=\"../1/5\">\n     <action>me-&gt;foo = 0U;\nBSP_display(&quot;top-INIT;&quot;);</action>\n     <initial_glyph conn=\"76,2,4,1,6,-8\">\n      <action box=\"-7,6,13,4\"/>\n     </initial_glyph>\n    </initial>\n    <!--${HSMs::QHsmTst::SM::s}-->\n    <state name=\"s\">\n     <entry>BSP_display(&quot;s-ENTRY;&quot;);</entry>\n     <exit>BSP_display(&quot;s-EXIT;&quot;);</exit>\n     <!--${HSMs::QHsmTst::SM::s::initial}-->\n     <initial target=\"../4/8\">\n      <action>BSP_display(&quot;s-INIT;&quot;);</action>\n      <initial_glyph conn=\"31,7,5,0,-6,18\">\n       <action box=\"-6,0,6,2\"/>\n      </initial_glyph>\n     </initial>\n     <!--${HSMs::QHsmTst::SM::s::I}-->\n     <tran trig=\"I\">\n      <!--${HSMs::QHsmTst::SM::s::I::[me->foo]}-->\n      <choice>\n       <guard>me-&gt;foo</guard>\n       <action>me-&gt;foo = 0U;\nBSP_display(&quot;s-I;&quot;);</action>\n       <choice_glyph conn=\"7,10,5,-1,8\">\n        <action box=\"1,0,12,4\"/>\n       </choice_glyph>\n      </choice>\n      <tran_glyph conn=\"2,10,3,-1,5\">\n       <action box=\"1,-2,6,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${HSMs::QHsmTst::SM::s::E}-->\n     <tran trig=\"E\" target=\"../4/8\">\n      <action>BSP_display(&quot;s-E;&quot;);</action>\n      <tran_glyph conn=\"28,39,2,2,-6\">\n       <action box=\"1,-2,6,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${HSMs::QHsmTst::SM::s::TERMINATE}-->\n     <tran trig=\"TERMINATE\">\n      <action>BSP_exit();</action>\n      <tran_glyph conn=\"71,19,1,-1,4,17\">\n       <action box=\"0,-2,9,2\"/>\n      </tran_glyph>\n     </tran>\n     <!--${HSMs::QHsmTst::SM::s::s1}-->\n     <state name=\"s1\">\n      <entry>BSP_display(&quot;s1-ENTRY;&quot;);</entry>\n      <exit>BSP_display(&quot;s1-EXIT;&quot;);</exit>\n      <!--${HSMs::QHsmTst::SM::s::s1::initial}-->\n      <initial target=\"../8\">\n       <action>BSP_display(&quot;s1-INIT;&quot;);</action>\n       <initial_glyph conn=\"32,19,5,0,-5,6\">\n        <action box=\"-4,0,6,2\"/>\n       </initial_glyph>\n      </initial>\n      <!--${HSMs::QHsmTst::SM::s::s1::history}-->\n      <history type=\"deep\" target=\"../8\">\n       <history_glyph conn=\"34,24,5,0,-4,1\"/>\n      </history>\n      <!--${HSMs::QHsmTst::SM::s::s1::I}-->\n      <tran trig=\"I\">\n       <action>BSP_display(&quot;s1-I;&quot;);</action>\n       <tran_glyph conn=\"13,23,3,-1,6\">\n        <action box=\"1,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${HSMs::QHsmTst::SM::s::s1::D}-->\n      <tran trig=\"D\">\n       <!--${HSMs::QHsmTst::SM::s::s1::D::[!me->foo]}-->\n       <choice target=\"../../..\">\n        <guard>!me-&gt;foo</guard>\n        <action>me-&gt;foo = 1U;\nBSP_display(&quot;s1-D;&quot;);</action>\n        <choice_glyph conn=\"7,17,4,3,6,-5\">\n         <action box=\"-4,2,11,4\"/>\n        </choice_glyph>\n       </choice>\n       <tran_glyph conn=\"13,17,3,-1,-6\">\n        <action box=\"-2,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${HSMs::QHsmTst::SM::s::s1::A}-->\n      <tran trig=\"A\" target=\"..\">\n       <action>BSP_display(&quot;s1-A;&quot;);</action>\n       <tran_glyph conn=\"27,15,0,0,-3,4,3\">\n        <action box=\"1,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${HSMs::QHsmTst::SM::s::s1::B}-->\n      <tran trig=\"B\" target=\"../8\">\n       <action>BSP_display(&quot;s1-B;&quot;);</action>\n       <tran_glyph conn=\"13,27,3,3,6\">\n        <action box=\"1,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${HSMs::QHsmTst::SM::s::s1::F}-->\n      <tran trig=\"F\" target=\"../../5/4/4\">\n       <action>BSP_display(&quot;s1-F;&quot;);</action>\n       <tran_glyph conn=\"34,31,1,3,17\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${HSMs::QHsmTst::SM::s::s1::C}-->\n      <tran trig=\"C\" target=\"../../5\">\n       <action>BSP_display(&quot;s1-C;&quot;);</action>\n       <tran_glyph conn=\"34,17,1,3,5\">\n        <action box=\"0,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${HSMs::QHsmTst::SM::s::s1::s11}-->\n      <state name=\"s11\">\n       <entry>BSP_display(&quot;s11-ENTRY;&quot;);</entry>\n       <exit>BSP_display(&quot;s11-EXIT;&quot;);</exit>\n       <!--${HSMs::QHsmTst::SM::s::s1::s11::H}-->\n       <tran trig=\"H\" target=\"../../..\">\n        <action>BSP_display(&quot;s11-H;&quot;);</action>\n        <tran_glyph conn=\"24,33,2,2,6\">\n         <action box=\"1,0,6,2\"/>\n        </tran_glyph>\n       </tran>\n       <!--${HSMs::QHsmTst::SM::s::s1::s11::D}-->\n       <tran trig=\"D\">\n        <!--${HSMs::QHsmTst::SM::s::s1::s11::D::[me->foo]}-->\n        <choice target=\"../../..\">\n         <guard>me-&gt;foo</guard>\n         <action>me-&gt;foo = 0U;\nBSP_display(&quot;s11-D;&quot;);</action>\n         <choice_glyph conn=\"7,31,4,3,-6,6\">\n          <action box=\"-4,-5,11,4\"/>\n         </choice_glyph>\n        </choice>\n        <tran_glyph conn=\"19,31,3,-1,-12\">\n         <action box=\"-2,-2,6,2\"/>\n        </tran_glyph>\n       </tran>\n       <!--${HSMs::QHsmTst::SM::s::s1::s11::G}-->\n       <tran trig=\"G\" target=\"../../../5/4/4\">\n        <action>BSP_display(&quot;s11-G;&quot;);</action>\n        <tran_glyph conn=\"31,27,1,3,20\">\n         <action box=\"0,-2,6,2\"/>\n        </tran_glyph>\n       </tran>\n       <state_glyph node=\"19,25,12,8\">\n        <entry box=\"1,2,5,2\"/>\n        <exit box=\"1,4,5,2\"/>\n       </state_glyph>\n      </state>\n      <state_glyph node=\"13,15,21,21\">\n       <entry box=\"1,2,5,2\"/>\n       <exit box=\"1,4,5,2\"/>\n      </state_glyph>\n     </state>\n     <!--${HSMs::QHsmTst::SM::s::s2}-->\n     <state name=\"s2\">\n      <entry>BSP_display(&quot;s2-ENTRY;&quot;);</entry>\n      <exit>BSP_display(&quot;s2-EXIT;&quot;);</exit>\n      <!--${HSMs::QHsmTst::SM::s::s2::initial}-->\n      <initial target=\"../4/4\">\n       <action>BSP_display(&quot;s2-INIT;&quot;);</action>\n       <initial_glyph conn=\"65,10,5,0,-8,15\">\n        <action box=\"-4,0,6,2\"/>\n       </initial_glyph>\n      </initial>\n      <!--${HSMs::QHsmTst::SM::s::s2::I}-->\n      <tran trig=\"I\">\n       <!--${HSMs::QHsmTst::SM::s::s2::I::[!me->foo]}-->\n       <choice>\n        <guard>!me-&gt;foo</guard>\n        <action>me-&gt;foo = 1U;\nBSP_display(&quot;s2-I;&quot;);</action>\n        <choice_glyph conn=\"45,14,5,-1,8\">\n         <action box=\"1,0,10,4\"/>\n        </choice_glyph>\n       </choice>\n       <tran_glyph conn=\"39,14,3,-1,6\">\n        <action box=\"1,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${HSMs::QHsmTst::SM::s::s2::F}-->\n      <tran trig=\"F\" target=\"../../4\" cpref=\"../../4/1\">\n       <action>BSP_display(&quot;s2-F;&quot;);</action>\n       <tran_glyph conn=\"39,24,3,5,-5\">\n        <action box=\"-3,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${HSMs::QHsmTst::SM::s::s2::C}-->\n      <tran trig=\"C\" target=\"../../4\">\n       <action>BSP_display(&quot;s2-C;&quot;);</action>\n       <tran_glyph conn=\"39,19,3,1,-5\">\n        <action box=\"-3,-2,6,2\"/>\n       </tran_glyph>\n      </tran>\n      <!--${HSMs::QHsmTst::SM::s::s2::s21}-->\n      <state name=\"s21\">\n       <entry>BSP_display(&quot;s21-ENTRY;&quot;);</entry>\n       <exit>BSP_display(&quot;s21-EXIT;&quot;);</exit>\n       <!--${HSMs::QHsmTst::SM::s::s2::s21::initial}-->\n       <initial target=\"../4\">\n        <action>BSP_display(&quot;s21-INIT;&quot;);</action>\n        <initial_glyph conn=\"64,23,5,0,-4,2\">\n         <action box=\"-2,0,5,2\"/>\n        </initial_glyph>\n       </initial>\n       <!--${HSMs::QHsmTst::SM::s::s2::s21::G}-->\n       <tran trig=\"G\" target=\"../../../4\">\n        <action>BSP_display(&quot;s21-G;&quot;);</action>\n        <tran_glyph conn=\"45,21,3,1,-11\">\n         <action box=\"-3,-2,8,2\"/>\n        </tran_glyph>\n       </tran>\n       <!--${HSMs::QHsmTst::SM::s::s2::s21::A}-->\n       <tran trig=\"A\" target=\"..\">\n        <action>BSP_display(&quot;s21-A;&quot;);</action>\n        <tran_glyph conn=\"59,19,0,0,-3,4,3\">\n         <action box=\"1,-2,6,2\"/>\n        </tran_glyph>\n       </tran>\n       <!--${HSMs::QHsmTst::SM::s::s2::s21::B}-->\n       <tran trig=\"B\" target=\"../4\">\n        <action>BSP_display(&quot;s21-B;&quot;);</action>\n        <tran_glyph conn=\"66,27,1,1,-4\">\n         <action box=\"-2,-2,5,2\"/>\n        </tran_glyph>\n       </tran>\n       <!--${HSMs::QHsmTst::SM::s::s2::s21::s211}-->\n       <state name=\"s211\">\n        <entry>BSP_display(&quot;s211-ENTRY;&quot;);</entry>\n        <exit>BSP_display(&quot;s211-EXIT;&quot;);</exit>\n        <!--${HSMs::QHsmTst::SM::s::s2::s21::s211::H}-->\n        <tran trig=\"H\" target=\"../../../..\">\n         <action>BSP_display(&quot;s211-H;&quot;);</action>\n         <tran_glyph conn=\"57,32,2,2,7\">\n          <action box=\"1,0,6,2\"/>\n         </tran_glyph>\n        </tran>\n        <!--${HSMs::QHsmTst::SM::s::s2::s21::s211::D}-->\n        <tran trig=\"D\" target=\"../..\">\n         <action>BSP_display(&quot;s211-D;&quot;);</action>\n         <tran_glyph conn=\"62,30,1,1,4\">\n          <action box=\"0,-2,6,2\"/>\n         </tran_glyph>\n        </tran>\n        <state_glyph node=\"51,25,11,7\">\n         <entry box=\"1,2,5,2\"/>\n         <exit box=\"1,4,5,2\"/>\n        </state_glyph>\n       </state>\n       <state_glyph node=\"45,19,21,15\">\n        <entry box=\"1,2,5,2\"/>\n        <exit box=\"1,4,5,2\"/>\n       </state_glyph>\n      </state>\n      <state_glyph node=\"39,6,29,30\">\n       <entry box=\"1,2,5,2\"/>\n       <exit box=\"1,4,5,2\"/>\n      </state_glyph>\n     </state>\n     <state_glyph node=\"2,2,69,37\">\n      <entry box=\"1,2,5,2\"/>\n      <exit box=\"1,4,5,2\"/>\n     </state_glyph>\n    </state>\n    <state_diagram size=\"79,41\"/>\n   </statechart>\n  </class>\n  <!--${HSMs::QHsmTst_ctor}-->\n  <operation name=\"QHsmTst_ctor\" type=\"void\" visibility=\"0x00\" properties=\"0x00\">\n   <code>QHsmTst *me = &amp;l_hsmtst;\nQHsm_ctor(&amp;me-&gt;super, Q_STATE_CAST(&amp;QHsmTst_initial));</code>\n  </operation>\n </package>\n <!--${.}-->\n <directory name=\".\">\n  <!--${.::qhsmtst.h}-->\n  <file name=\"qhsmtst.h\">\n   <text>#ifndef QHSMTST_H\n#define QHSMTST_H\n\nenum QHsmTstSignals {\n    A_SIG = Q_USER_SIG,\n    B_SIG,\n    C_SIG,\n    D_SIG,\n    E_SIG,\n    F_SIG,\n    G_SIG,\n    H_SIG,\n    I_SIG,\n    TERMINATE_SIG,\n    IGNORE_SIG,\n    MAX_SIG\n};\n\nextern QHsm * const the_hsm; /* opaque pointer to the test HSM */\n\n$declare(HSMs::QHsmTst_ctor)\n\n#endif /* QHSMTST_H */\n</text>\n  </file>\n  <!--${.::qhsmtst.c}-->\n  <file name=\"qhsmtst.c\">\n   <text>#include &quot;qpn.h&quot;\n#include &quot;bsp.h&quot;\n#include &quot;qhsmtst.h&quot;\n\n$declare(HSMs::QHsmTst)\n\nstatic QHsmTst l_hsmtst; /* the only instance of the QHsmTst class */\n\n/* global-scope definitions ---------------------------------------*/\nQHsm * const the_hsm = (QHsm *)&amp;l_hsmtst; /* the opaque pointer */\n\n$define(HSMs::QHsmTst_ctor)\n$define(HSMs::QHsmTst)</text>\n  </file>\n </directory>\n</model>\n"
  },
  {
    "path": "examples/workstation/qhsmtst/qpn_conf.h",
    "content": "/*****************************************************************************\n* Product: QP-nano configuration for the QHsmTst example\n* Last Updated for Version: 5.6.2\n* Date of the Last Update:  2016-04-05\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef QPN_CONF_H\n#define QPN_CONF_H\n\n#define Q_PARAM_SIZE            1U\n\n#endif  /* QPN_CONF_H */\n"
  },
  {
    "path": "examples/workstation/reminder/Makefile",
    "content": "##############################################################################\n# Product: Makefile for QP-nano for Windows and POSIX *HOSTS*\n# Last updated for version 6.4.0\n# Last updated on  2019-01-09\n#\n#                    Q u a n t u m  L e a P s\n#                    ------------------------\n#                    Modern Embedded Software\n#\n# Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# https://www.state-machine.com\n# mailto:info@state-machine.com\n##############################################################################\n#\n# examples of invoking this Makefile:\n# building configurations: Debug (default), Release, and Spy\n# make\n# make CONF=rel\n#\n# cleaning configurations: Debug (default), Release, and Spy\n# make clean\n# make CONF=rel clean\n#\n# NOTE:\n# To use this Makefile on Windows, you will need the GNU make utility, which\n# is included in the QTools collection for Windows, see:\n#    http://sourceforge.net/projects/qpc/files/QTools/\n#\n\n#-----------------------------------------------------------------------------\n# project name:\n#\nPROJECT := reminder\n\n#-----------------------------------------------------------------------------\n# project directories:\n#\n\n# list of all source directories used by this project\nVPATH := . \\\n\n# list of all include directories needed by this project\nINCLUDES := -I. \\\n\n# location of the QP-nano framework (if not provided in an env. variable)\nifeq ($(QPN),)\nQPN := ../../..\nendif\n\n#-----------------------------------------------------------------------------\n# project files:\n#\n\n# C source files...\nC_SRCS := \\\n\tbsp.c \\\n\tmain.c \\\n\treminder.c\n\n# C++ source files...\nCPP_SRCS :=\n\nLIB_DIRS  :=\nLIBS      :=\n\n# defines...\nDEFINES   :=\n\nifeq (,$(CONF))\n\tCONF := dbg\nendif\n\n#-----------------------------------------------------------------------------\n# add QP-nano framework (depends on the OS this Makefile runs on):\n#\nifeq ($(OS),Windows_NT)\n\nQPN_PORT_DIR := $(QPN)/ports/win32-qv\n\nC_SRCS += \\\n\tqepn.c \\\n\tqfn_win32.c\n\nelse\n\nQPN_PORT_DIR := $(QPN)/ports/posix-qv\n\nC_SRCS += \\\n\tqepn.c \\\n\tqfn_posix.c\n\nLIBS += -lpthread\n\nendif\n\n#============================================================================\n# Typically you should not need to change anything below this line\n\nVPATH    += $(QPN)/src/qfn $(QPN_PORT_DIR)\nINCLUDES += -I$(QPN)/include -I$(QPN)/src -I$(QPN_PORT_DIR)\n\n#-----------------------------------------------------------------------------\n# GNU toolset:\n#\n# NOTE:\n# GNU toolset (MinGW) is included in the QTools collection for Windows, see:\n#     http://sourceforge.net/projects/qpc/files/QTools/\n# It is assumed that %QTOOLS%\\bin directory is added to the PATH\n#\nCC    := gcc\nCPP   := g++\nLINK  := gcc    # for C programs\n#LINK  := g++   # for C++ programs\n\n#-----------------------------------------------------------------------------\n# basic utilities (depends on the OS this Makefile runs on):\n#\nifeq ($(OS),Windows_NT)\n\tMKDIR      := mkdir\n\tRM         := rm\n\tTARGET_EXT := .exe\nelse ifeq ($(OSTYPE),cygwin)\n\tMKDIR      := mkdir -p\n\tRM         := rm -f\n\tTARGET_EXT := .exe\nelse\n\tMKDIR      := mkdir -p\n\tRM         := rm -f\n\tTARGET_EXT :=\nendif\n\n#-----------------------------------------------------------------------------\n# build configurations...\n\nifeq (rel, $(CONF)) # Release configuration ..................................\n\nBIN_DIR := build_rel\n# gcc options:\nCFLAGS  = -c -O3 -fno-pie -std=c99 -pedantic -Wall -Wextra -W \\\n\t$(INCLUDES) $(DEFINES) -DNDEBUG\n\nCPPFLAGS = -c -O3 -fno-pie -std=c++11 -pedantic -Wall -Wextra \\\n\t-fno-rtti -fno-exceptions \\\n\t$(INCLUDES) $(DEFINES) -DNDEBUG\n\nelse # default Debug configuration .........................................\n\nBIN_DIR := build\n\n# gcc options:\nCFLAGS  = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \\\n\t$(INCLUDES) $(DEFINES)\n\nCPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \\\n\t-fno-rtti -fno-exceptions \\\n\t$(INCLUDES) $(DEFINES)\n\nendif  # .....................................................................\n\nLINKFLAGS :=\n\n#-----------------------------------------------------------------------------\nC_OBJS       := $(patsubst %.c,%.o,   $(C_SRCS))\nCPP_OBJS     := $(patsubst %.cpp,%.o, $(CPP_SRCS))\n\nTARGET_EXE   := $(BIN_DIR)/$(PROJECT)$(TARGET_EXT)\nC_OBJS_EXT   := $(addprefix $(BIN_DIR)/, $(C_OBJS))\nC_DEPS_EXT   := $(patsubst %.o,%.d, $(C_OBJS_EXT))\nCPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))\nCPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))\n\n# create $(BIN_DIR) if it does not exist\nifeq (\"$(wildcard $(BIN_DIR))\",\"\")\n$(shell $(MKDIR) $(BIN_DIR))\nendif\n\n#-----------------------------------------------------------------------------\n# rules\n#\n\nall: $(TARGET_EXE)\n\n$(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)\n\t$(LINK) $(LINKFLAGS) $(LIB_DIRS) -o $@ $^ $(LIBS)\n\n$(BIN_DIR)/%.d : %.c\n\t$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@\n\n$(BIN_DIR)/%.d : %.cpp\n\t$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@\n\n$(BIN_DIR)/%.o : %.c\n\t$(CC) $(CFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.cpp\n\t$(CPP) $(CPPFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.rc\n\t$(RC) $(RCINCLUDES) -i $< -o $@\n\n# include dependency files only if our goal depends on their existence\nifneq ($(MAKECMDGOALS),clean)\n  ifneq ($(MAKECMDGOALS),show)\n-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)\n  endif\nendif\n\n.PHONY : clean show\n\nclean :\n\t-$(RM) $(BIN_DIR)/*.o \\\n\t$(BIN_DIR)/*.d \\\n\t$(TARGET_EXE)\n\nshow :\n\t@echo PROJECT      = $(PROJECT)\n\t@echo TARGET_EXE   = $(TARGET_EXE)\n\t@echo VPATH        = $(VPATH)\n\t@echo C_SRCS       = $(C_SRCS)\n\t@echo CPP_SRCS     = $(CPP_SRCS)\n\t@echo C_DEPS_EXT   = $(C_DEPS_EXT)\n\t@echo C_OBJS_EXT   = $(C_OBJS_EXT)\n\t@echo C_DEPS_EXT   = $(C_DEPS_EXT)\n\t@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)\n\t@echo CPP_OBJS_EXT = $(CPP_OBJS_EXT)\n\t@echo LIB_DIRS     = $(LIB_DIRS)\n\t@echo LIBS         = $(LIBS)\n\t@echo DEFINES      = $(DEFINES)\n\n"
  },
  {
    "path": "examples/workstation/reminder/bsp.c",
    "content": "/*****************************************************************************\n* Product: BSP for QP-nano example\n* Last Updated for Version: 6.3.7\n* Date of the Last Update:  2018-12-13\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2018 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"bsp.h\"\n#include \"reminder.h\"\n\n#include \"safe_std.h\" /* portable \"safe\" <stdio.h>/<string.h> facilities */\n#include <stdlib.h>\n\n//Q_DEFINE_THIS_FILE\n\n/*..........................................................................*/\nvoid BSP_init(void) {\n}\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char_t const Q_ROM * const file, int_t line) {\n    FPRINTF_S(stderr, \"Assertion failed in %s, line %d\", file, line);\n    exit(-1);\n}\n\n/*--------------------------------------------------------------------------*/\nvoid QF_onStartup(void) {\n    QF_consoleSetup();\n    QF_setTickRate(BSP_TICKS_PER_SEC, 50); /* desired tick rate/ticker-prio */\n}\n/*..........................................................................*/\nvoid QF_onCleanup(void) {\n    PRINTF_S(\"\\n%s\\n\", \"Bye! Bye!\\n\");\n    QF_consoleCleanup();\n}\n/*..........................................................................*/\nvoid QF_onClockTickISR(void) {\n    QF_tickXISR(0U); /* perform the QF-nano clock tick processing */\n\n    switch (QF_consoleGetKey()) {\n        case '\\33': {  /* ESC pressed? */\n            QACTIVE_POST_ISR((QActive *)&AO_Sensor, TERMINATE_SIG, 0U);\n            break;\n        }\n    }\n}\n\n"
  },
  {
    "path": "examples/workstation/reminder/bsp.h",
    "content": "/*****************************************************************************\n* Product: BSP for QP-nano example, Win32\n* Last updated for version 5.4.0\n* Last updated on  2015-05-24\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BSP_H\n#define BSP_H\n\n#define BSP_TICKS_PER_SEC    100U\n\nvoid BSP_init(void);\n\n#endif /* BSP_H */\n"
  },
  {
    "path": "examples/workstation/reminder/main.c",
    "content": "/*****************************************************************************\n* Product: \"Reminder\" design pattern example\n* Last updated for version 5.8.0\n* Last updated on  2016-11-06\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"      /* QP-nano API */\n#include \"bsp.h\"      /* Board Support Package */\n#include \"reminder.h\" /* Application interface */\n\n/* test harness ============================================================*/\n\n/* Local-scope objects -----------------------------------------------------*/\nstatic QEvt l_sensorQueue[2];\n\n/* QF_active[] array defines all active object control blocks --------------*/\nQActiveCB const Q_ROM QF_active[] = {\n    { (QActive *)0,          (QEvt *)0,     0U                   },\n    { (QActive *)&AO_Sensor, l_sensorQueue, Q_DIM(l_sensorQueue) }\n};\n\n/*..........................................................................*/\nint main (void) {\n    Sensor_ctor();\n\n    QF_init(Q_DIM(QF_active)); /* initialize the QF-nano framework */\n    BSP_init();      /* initialize the Board Support Package */\n\n    return QF_run(); /* transfer control to QF-nano */\n}\n"
  },
  {
    "path": "examples/workstation/reminder/qpn_conf.h",
    "content": "/*****************************************************************************\n* Product: QP-nano configuration for the \"Reminder\" state pattern example\n* Last Updated for Version: 5.6.2\n* Date of the Last Update:  2016-04-05\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef QPN_CONF_H\n#define QPN_CONF_H\n\n#define Q_PARAM_SIZE            4U\n#define QF_TIMEEVT_CTR_SIZE     2U\n#define QF_TIMEEVT_PERIODIC\n\n#endif  /* QPN_CONF_H */\n"
  },
  {
    "path": "examples/workstation/reminder/reminder.c",
    "content": "/*****************************************************************************\n* Product: \"Reminder\" state pattern example (Section 5.2 in PSiCC2)\n* Last updated for version 5.4.2\n* Last updated on  2015-06-07\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"bsp.h\"\n#include \"reminder.h\"\n\n#include \"safe_std.h\" /* portable \"safe\" <stdio.h>/<string.h> facilities */\n\n/*..........................................................................*/\ntypedef struct SensorTag {\n    QActive super;  /* inherit QActive */\n\n    uint16_t pollCtr;\n    uint16_t procCtr;\n} Sensor;\n\n/* hierarchical state machine ... */\nstatic QState Sensor_initial   (Sensor * const me);\nstatic QState Sensor_polling   (Sensor * const me);\nstatic QState Sensor_processing(Sensor * const me);\nstatic QState Sensor_idle      (Sensor * const me);\nstatic QState Sensor_busy      (Sensor * const me);\nstatic QState Sensor_final     (Sensor * const me);\n\n/* Global objects ----------------------------------------------------------*/\nSensor AO_Sensor;\n\n/*..........................................................................*/\nvoid Sensor_ctor(void) {\n    QActive_ctor((QActive *)&AO_Sensor, (QStateHandler)&Sensor_initial);\n}\n\n/* HSM definition ----------------------------------------------------------*/\nQState Sensor_initial(Sensor * const me) {\n    me->pollCtr = 0;\n    me->procCtr = 0;\n    return Q_TRAN(&Sensor_polling);\n}\n/*..........................................................................*/\nQState Sensor_final(Sensor * const me) {\n    QState status;\n    switch (Q_SIG(me)) {\n        case Q_ENTRY_SIG: {\n            QF_stop(); /* terminate the application */\n            status = Q_HANDLED();\n            break;\n        }\n        default: {\n            status = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status;\n}\n/*..........................................................................*/\nQState Sensor_polling(Sensor * const me) {\n    QState status;\n    switch (Q_SIG(me)) {\n        case Q_ENTRY_SIG: {\n            /* timeout in 1/2 second and every 1/2 second  */\n            QActive_armX(&me->super, 0U,\n                         BSP_TICKS_PER_SEC/2U, BSP_TICKS_PER_SEC/2U);\n            status = Q_HANDLED();\n            break;\n        }\n        case Q_EXIT_SIG: {\n            QActive_disarmX(&me->super, 0U);\n            status = Q_HANDLED();\n            break;\n        }\n        case Q_INIT_SIG: {\n            status = Q_TRAN(&Sensor_processing);\n            break;\n        }\n        case Q_TIMEOUT_SIG: {\n            /* timeout in 1/2 second */\n            ++me->pollCtr;\n            PRINTF_S(\"poll %3d\\n\", me->pollCtr);\n            if ((me->pollCtr & 0x3U) == 0U) { /* modulo 4 */\n                QACTIVE_POST(&me->super, DATA_READY_SIG, 0U);\n            }\n            status = Q_HANDLED();\n            break;\n        }\n        case TERMINATE_SIG: {\n            status = Q_TRAN(&Sensor_final);\n            break;\n        }\n        default: {\n            status = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status;\n}\n/*..........................................................................*/\nQState Sensor_processing(Sensor * const me) {\n    QState status;\n    switch (Q_SIG(me)) {\n        case Q_INIT_SIG: {\n            status = Q_TRAN(&Sensor_idle);\n            break;\n        }\n        default: {\n            status = Q_SUPER(&Sensor_polling);\n            break;\n        }\n    }\n    return status;\n}\n/*..........................................................................*/\nQState Sensor_idle(Sensor * const me) {\n    QState status;\n    switch (Q_SIG(me)) {\n        case Q_ENTRY_SIG: {\n            PRINTF_S(\"%s\\n\", \"-> idle\");\n            status = Q_HANDLED();\n            break;\n        }\n        case DATA_READY_SIG: {\n            status = Q_TRAN(&Sensor_busy);\n            break;\n        }\n        default: {\n            status = Q_SUPER(&Sensor_processing);\n            break;\n        }\n    }\n    return status;\n}\n/*..........................................................................*/\nQState Sensor_busy(Sensor * const me) {\n    QState status;\n    switch (Q_SIG(me)) {\n        case Q_ENTRY_SIG: {\n            PRINTF_S(\"%s\\n\", \"-> busy\");\n            status = Q_HANDLED();\n            break;\n        }\n        case Q_TIMEOUT_SIG: {\n            /* timeout in 1/2 second and every 1/2 second  */\n            QActive_armX(&me->super, 0U,\n                         BSP_TICKS_PER_SEC/2U, BSP_TICKS_PER_SEC/2U);\n            ++me->procCtr;\n            PRINTF_S(\"process %3d\\n\", me->procCtr);\n            if ((me->procCtr & 0x1U) == 0U) { /* modulo 2 */\n                status = Q_TRAN(&Sensor_idle);\n            }\n            else {\n                status = Q_HANDLED();\n            }\n            break;\n        }\n        default: {\n            status = Q_SUPER(&Sensor_processing);\n            break;\n        }\n    }\n    return status;\n}\n\n"
  },
  {
    "path": "examples/workstation/reminder/reminder.h",
    "content": "/*****************************************************************************\n* Product: Reminder state pattern example\n* Last updated for version 6.6.0\n* Last updated on  2019-07-30\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef REMINDER_H\n#define REMINDER_H\n\nenum SensorSignals {\n    TERMINATE_SIG = Q_USER_SIG, /* terminate the application */\n    DATA_READY_SIG              /* the invented reminder signal */\n};\n\n/* active objects ..........................................................*/\nextern struct SensorTag AO_Sensor; /* the Sensor active object */\nvoid Sensor_ctor(void);         /* the Sensor constructor */\n\n#endif /* REMINDER_H */\n"
  },
  {
    "path": "examples/workstation/reminder2/Makefile",
    "content": "##############################################################################\n# Product: Makefile for QP-nano for Windows and POSIX *HOSTS*\n# Last updated for version 6.4.0\n# Last updated on  2019-01-09\n#\n#                    Q u a n t u m  L e a P s\n#                    ------------------------\n#                    Modern Embedded Software\n#\n# Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n#\n# This program is open source software: you can redistribute it and/or\n# modify it under the terms of the GNU General Public License as published\n# by the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# Alternatively, this program may be distributed and modified under the\n# terms of Quantum Leaps commercial licenses, which expressly supersede\n# the GNU General Public License and are specifically designed for\n# licensees interested in retaining the proprietary status of their code.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n# Contact information:\n# https://www.state-machine.com\n# mailto:info@state-machine.com\n##############################################################################\n#\n# examples of invoking this Makefile:\n# building configurations: Debug (default), Release, and Spy\n# make\n# make CONF=rel\n#\n# cleaning configurations: Debug (default), Release, and Spy\n# make clean\n# make CONF=rel clean\n#\n# NOTE:\n# To use this Makefile on Windows, you will need the GNU make utility, which\n# is included in the QTools collection for Windows, see:\n#    http://sourceforge.net/projects/qpc/files/QTools/\n#\n\n#-----------------------------------------------------------------------------\n# project name:\n#\nPROJECT := reminder2\n\n#-----------------------------------------------------------------------------\n# project directories:\n#\n\n# list of all source directories used by this project\nVPATH := . \\\n\n# list of all include directories needed by this project\nINCLUDES := -I. \\\n\n# location of the QP-nano framework (if not provided in an env. variable)\nifeq ($(QPN),)\nQPN := ../../..\nendif\n\n#-----------------------------------------------------------------------------\n# project files:\n#\n\n# C source files...\nC_SRCS := \\\n\tbsp.c \\\n\tmain.c \\\n\treminder2.c\n\n# C++ source files...\nCPP_SRCS :=\n\nLIB_DIRS  :=\nLIBS      :=\n\n# defines...\nDEFINES   :=\n\nifeq (,$(CONF))\n\tCONF := dbg\nendif\n\n#-----------------------------------------------------------------------------\n# add QP-nano framework (depends on the OS this Makefile runs on):\n#\nifeq ($(OS),Windows_NT)\n\nQPN_PORT_DIR := $(QPN)/ports/win32-qv\n\nC_SRCS += \\\n\tqepn.c \\\n\tqfn_win32.c\n\nelse\n\nQPN_PORT_DIR := $(QPN)/ports/posix-qv\n\nC_SRCS += \\\n\tqepn.c \\\n\tqfn_posix.c\n\nLIBS += -lpthread\n\nendif\n\n#============================================================================\n# Typically you should not need to change anything below this line\n\nVPATH    += $(QPN)/src/qfn $(QPN_PORT_DIR)\nINCLUDES += -I$(QPN)/include -I$(QPN)/src -I$(QPN_PORT_DIR)\n\n#-----------------------------------------------------------------------------\n# GNU toolset:\n#\n# NOTE:\n# GNU toolset (MinGW) is included in the QTools collection for Windows, see:\n#     http://sourceforge.net/projects/qpc/files/QTools/\n# It is assumed that %QTOOLS%\\bin directory is added to the PATH\n#\nCC    := gcc\nCPP   := g++\nLINK  := gcc    # for C programs\n#LINK  := g++   # for C++ programs\n\n#-----------------------------------------------------------------------------\n# basic utilities (depends on the OS this Makefile runs on):\n#\nifeq ($(OS),Windows_NT)\n\tMKDIR      := mkdir\n\tRM         := rm\n\tTARGET_EXT := .exe\nelse ifeq ($(OSTYPE),cygwin)\n\tMKDIR      := mkdir -p\n\tRM         := rm -f\n\tTARGET_EXT := .exe\nelse\n\tMKDIR      := mkdir -p\n\tRM         := rm -f\n\tTARGET_EXT :=\nendif\n\n#-----------------------------------------------------------------------------\n# build configurations...\n\nifeq (rel, $(CONF)) # Release configuration ..................................\n\nBIN_DIR := build_rel\n# gcc options:\nCFLAGS  = -c -O3 -fno-pie -std=c99 -pedantic -Wall -Wextra -W \\\n\t$(INCLUDES) $(DEFINES) -DNDEBUG\n\nCPPFLAGS = -c -O3 -fno-pie -std=c++11 -pedantic -Wall -Wextra \\\n\t-fno-rtti -fno-exceptions \\\n\t$(INCLUDES) $(DEFINES) -DNDEBUG\n\nelse # default Debug configuration .........................................\n\nBIN_DIR := build\n\n# gcc options:\nCFLAGS  = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \\\n\t$(INCLUDES) $(DEFINES)\n\nCPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \\\n\t-fno-rtti -fno-exceptions \\\n\t$(INCLUDES) $(DEFINES)\n\nendif  # .....................................................................\n\nLINKFLAGS :=\n\n#-----------------------------------------------------------------------------\nC_OBJS       := $(patsubst %.c,%.o,   $(C_SRCS))\nCPP_OBJS     := $(patsubst %.cpp,%.o, $(CPP_SRCS))\n\nTARGET_EXE   := $(BIN_DIR)/$(PROJECT)$(TARGET_EXT)\nC_OBJS_EXT   := $(addprefix $(BIN_DIR)/, $(C_OBJS))\nC_DEPS_EXT   := $(patsubst %.o,%.d, $(C_OBJS_EXT))\nCPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))\nCPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))\n\n# create $(BIN_DIR) if it does not exist\nifeq (\"$(wildcard $(BIN_DIR))\",\"\")\n$(shell $(MKDIR) $(BIN_DIR))\nendif\n\n#-----------------------------------------------------------------------------\n# rules\n#\n\nall: $(TARGET_EXE)\n\n$(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)\n\t$(LINK) $(LINKFLAGS) $(LIB_DIRS) -o $@ $^ $(LIBS)\n\n$(BIN_DIR)/%.d : %.c\n\t$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@\n\n$(BIN_DIR)/%.d : %.cpp\n\t$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@\n\n$(BIN_DIR)/%.o : %.c\n\t$(CC) $(CFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.cpp\n\t$(CPP) $(CPPFLAGS) $< -o $@\n\n$(BIN_DIR)/%.o : %.rc\n\t$(RC) $(RCINCLUDES) -i $< -o $@\n\n# include dependency files only if our goal depends on their existence\nifneq ($(MAKECMDGOALS),clean)\n  ifneq ($(MAKECMDGOALS),show)\n-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)\n  endif\nendif\n\n.PHONY : clean show\n\nclean :\n\t-$(RM) $(BIN_DIR)/*.o \\\n\t$(BIN_DIR)/*.d \\\n\t$(TARGET_EXE)\n\nshow :\n\t@echo PROJECT      = $(PROJECT)\n\t@echo TARGET_EXE   = $(TARGET_EXE)\n\t@echo VPATH        = $(VPATH)\n\t@echo C_SRCS       = $(C_SRCS)\n\t@echo CPP_SRCS     = $(CPP_SRCS)\n\t@echo C_DEPS_EXT   = $(C_DEPS_EXT)\n\t@echo C_OBJS_EXT   = $(C_OBJS_EXT)\n\t@echo C_DEPS_EXT   = $(C_DEPS_EXT)\n\t@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)\n\t@echo CPP_OBJS_EXT = $(CPP_OBJS_EXT)\n\t@echo LIB_DIRS     = $(LIB_DIRS)\n\t@echo LIBS         = $(LIBS)\n\t@echo DEFINES      = $(DEFINES)\n\n"
  },
  {
    "path": "examples/workstation/reminder2/bsp.c",
    "content": "/*****************************************************************************\n* Product: BSP for QP-nano example, Win32\n* Last Updated for Version: 6.3.7\n* Date of the Last Update:  2018-12-13\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2018 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"bsp.h\"\n#include \"reminder2.h\"\n\n#include \"safe_std.h\" /* portable \"safe\" <stdio.h>/<string.h> facilities */\n#include <stdlib.h>\n\n//Q_DEFINE_THIS_FILE\n\n/*..........................................................................*/\nvoid BSP_init(void) {\n    PRINTF_S(\"Reminder state pattern example2\\nQP-nano version: %s\\n\"\n           \"Press 'e' to echo the current state of number cruncher ON\\n\"\n           \"Press ESC to quit\\n\"\n           \"Number crunching started...\\n\",\n           QP_getVersion());\n}\n/*..........................................................................*/\nvoid BSP_echo(double sum) {\n    PRINTF_S(\"Echo! pi=%16.14f\\n\", 4.0*sum);\n    fflush(stdout);\n}\n/*..........................................................................*/\nvoid BSP_result(double sum) {\n    PRINTF_S(\"pi=%16.14f\\n\", 4.0*sum);\n    fflush(stdout);\n}\n\n/*--------------------------------------------------------------------------*/\nvoid QF_onStartup(void) {\n    QF_consoleSetup();\n    QF_setTickRate(BSP_TICKS_PER_SEC, 50); /* desired tick rate/ticker-prio */\n}\n/*..........................................................................*/\nvoid QF_onCleanup(void) {\n    PRINTF_S(\"\\n%s\\n\", \"Bye! Bye!\");\n    QF_consoleCleanup();\n}\n/*..........................................................................*/\nvoid QF_onClockTickISR(void) {\n    QF_tickXISR(0U); /* perform the QF-nano clock tick processing */\n\n    switch (QF_consoleGetKey()) {\n        case '\\33': { /* ESC pressed? */\n            QACTIVE_POST_ISR((QActive *)&AO_Cruncher, TERMINATE_SIG, 0);\n            break;\n        }\n        case 'e': {   /* echo event */\n            QACTIVE_POST_ISR((QActive *)&AO_Cruncher, ECHO_SIG, 0);\n            break;\n        }\n    }\n}\n\n/*..........................................................................*/\nQ_NORETURN Q_onAssert(char_t const Q_ROM * const file, int_t line) {\n    FPRINTF_S(stderr, \"Assertion failed in %s, line %d\", file, line);\n    exit(-1);\n}\n\n"
  },
  {
    "path": "examples/workstation/reminder2/bsp.h",
    "content": "/*****************************************************************************\n* Product: BSP for QP-nano example, Win32\n* Last updated for version 5.4.0\n* Last updated on  2015-05-24\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef BSP_H\n#define BSP_H\n\n#define BSP_TICKS_PER_SEC    100U\n\nvoid BSP_init(void);\nvoid BSP_echo(double sum);\nvoid BSP_result(double sum);\n\n#endif /* BSP_H */\n"
  },
  {
    "path": "examples/workstation/reminder2/main.c",
    "content": "/*****************************************************************************\n* Product: \"Reminder\" design pattern example\n* Last updated for version 5.8.0\n* Last updated on  2016-11-06\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"       /* QP-nano API */\n#include \"bsp.h\"       /* Board Support Package */\n#include \"reminder2.h\" /* Application interface */\n\n/* Local-scope objects -----------------------------------------------------*/\nstatic QEvt l_cruncherQueue[2];\n\n/* QF_active[] array defines all active object control blocks --------------*/\nQActiveCB const Q_ROM QF_active[] = {\n    { (QActive *)0,            (QEvt *)0,       0U                   },\n    { (QActive *)&AO_Cruncher, l_cruncherQueue, Q_DIM(l_cruncherQueue) }\n};\n\n/*..........................................................................*/\nint main (void) {\n    Cruncher_ctor();\n\n    QF_init(Q_DIM(QF_active)); /* initialize the QF-nano framework */\n    BSP_init();      /* initialize the Board Support Package */\n\n    return QF_run(); /* transfer control to QF-nano */\n}\n\n"
  },
  {
    "path": "examples/workstation/reminder2/qpn_conf.h",
    "content": "/*****************************************************************************\n* Product: QP-nano configuration for the \"Reminder\" state pattern example\n* Last Updated for Version: 5.6.2\n* Date of the Last Update:  2016-04-05\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef QPN_CONF_H\n#define QPN_CONF_H\n\n#define Q_PARAM_SIZE            4U\n#define QF_TIMEEVT_CTR_SIZE     2U\n#define QF_TIMEEVT_PERIODIC\n\n#endif  /* QPN_CONF_H */\n"
  },
  {
    "path": "examples/workstation/reminder2/reminder2.c",
    "content": "/*****************************************************************************\n* Product: \"Reminder\" state pattern example2\n* Last updated for version 5.4.0\n* Last updated on  2015-05-24\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#include \"qpn.h\"\n#include \"bsp.h\"\n#include \"reminder2.h\"\n\n/*..........................................................................*/\ntypedef struct CruncherTag { /* the Cruncher active object */\n    QActive super;           /* inherit QActive */\n    double sum;              /* internal variable */\n} Cruncher;\n\n/* state machine ... */\nstatic QState Cruncher_initial   (Cruncher * const me);\nstatic QState Cruncher_processing(Cruncher * const me);\nstatic QState Cruncher_final     (Cruncher * const me);\n\n/* Global objects ----------------------------------------------------------*/\nCruncher AO_Cruncher;\n\n/*--------------------------------------------------------------------------*/\nvoid Cruncher_ctor(void) {\n    QActive_ctor(&AO_Cruncher.super, Q_STATE_CAST(&Cruncher_initial));\n}\n/*..........................................................................*/\nQState Cruncher_initial(Cruncher * const me) {\n    return Q_TRAN(&Cruncher_processing);\n}\n/*..........................................................................*/\nQState Cruncher_processing(Cruncher * const me) {\n    QState status;\n    switch (Q_SIG(me)) {\n        case Q_ENTRY_SIG: {\n            QACTIVE_POST(&me->super, CRUNCH_SIG, 0);\n            me->sum = 0.0;\n            status = Q_HANDLED();\n            break;\n        }\n        case CRUNCH_SIG: {\n            uint32_t i = Q_PAR(me);\n            uint32_t n = i;\n            i += 100U;\n            for (; n < i; ++n) {\n                if ((n & 1) == 0) {\n                    me->sum += 1.0/(2*n + 1);\n                }\n                else {\n                    me->sum -= 1.0/(2*n + 1);\n                }\n            }\n            if (i < 0x07000000U) {\n                QACTIVE_POST(&me->super, CRUNCH_SIG, i);\n                status = Q_HANDLED();\n            }\n            else {\n                BSP_result(me->sum);\n                status = Q_TRAN(&Cruncher_processing);\n            }\n            break;\n        }\n        case ECHO_SIG: {\n            BSP_echo(me->sum);\n            status = Q_HANDLED();\n            break;\n        }\n        case TERMINATE_SIG: {\n            status = Q_TRAN(&Cruncher_final);\n            break;\n        }\n        default: {\n            status = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status;\n}\n/*..........................................................................*/\nQState Cruncher_final(Cruncher * const me) {\n    QState status;\n    switch (Q_SIG(me)) {\n        case Q_ENTRY_SIG: {\n            QF_stop(); /* terminate the application */\n            status = Q_HANDLED();\n            break;\n        }\n        default: {\n            status = Q_SUPER(&QHsm_top);\n            break;\n        }\n    }\n    return status;\n}\n"
  },
  {
    "path": "examples/workstation/reminder2/reminder2.h",
    "content": "/*****************************************************************************\n* Product: Reminder state pattern example2\n* Last updated for version 6.6.0\n* Last updated on  2019-07-30\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n*****************************************************************************/\n#ifndef REMINDER2_H\n#define REMINDER2_H\n\n/*..........................................................................*/\nenum ReminderSignals {\n    CRUNCH_SIG = Q_USER_SIG, /* the invented reminder signal */\n    ECHO_SIG,                /* check the responsiveness of the system */\n    TERMINATE_SIG            /* terminate the application */\n};\n\n/* active objects ..........................................................*/\nextern struct CruncherTag AO_Cruncher; /* the Cruncher active object */\nvoid Cruncher_ctor(void);              /* the Cruncher constructor */\n\n#endif /* REMINDER2_H */\n"
  },
  {
    "path": "include/qassert.h",
    "content": "/**\n* @file\n* @brief Customizable and memory-efficient assertions for embedded systems\n* @cond\n******************************************************************************\n* Last updated for version 6.8.0\n* Last updated on  2020-01-21\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QASSERT_H\n#define QASSERT_H\n\n/**\n* @note\n* This header file can be used in C, C++, and mixed C/C++ programs.\n*\n* @note The preprocessor switch #Q_NASSERT disables checking assertions.\n* However, it is generally __not__ advisable to disable assertions,\n* __especially__ in the production code. Instead, the assertion handler\n* Q_onAssert() should be very carefully designed and tested.\n*/\n\n#ifdef Q_NASSERT /* Q_NASSERT defined--assertion checking disabled */\n\n    /* provide dummy (empty) definitions that don't generate any code... */\n    #define Q_DEFINE_THIS_FILE\n    #define Q_DEFINE_THIS_MODULE(name_)\n    #define Q_ASSERT(test_)             ((void)0)\n    #define Q_ASSERT_ID(id_, test_)     ((void)0)\n    #define Q_ALLEGE(test_)             ((void)(test_))\n    #define Q_ALLEGE_ID(id_, test_)     ((void)(test_))\n    #define Q_ERROR()                   ((void)0)\n    #define Q_ERROR_ID(id_)             ((void)0)\n\n#else  /* Q_NASSERT not defined--assertion checking enabled */\n\n#ifndef QP_VERSION /* is quassert.h used outside QP? */\n\n    /* provide typedefs so that qassert.h could be used \"standalone\"... */\n\n    /*! typedef for character strings. */\n    /**\n    * @description\n    * This typedef specifies character type for exclusive use in character\n    * strings. Use of this type, rather than plain 'char', is in compliance\n    * with the MISRA-C 2004 Rules 6.1(req), 6.3(adv).\n    */\n    typedef char char_t;\n\n    /*! typedef for assertions-ids and line numbers in assertions. */\n    /**\n    * @description\n    * This typedef specifies integer type for exclusive use in assertions.\n    * Use of this type, rather than plain 'int', is in compliance\n    * with the MISRA-C 2004 Rules 6.1(req), 6.3(adv).\n    */\n    typedef int int_t;\n\n    #ifndef Q_ROM /* if NOT defined, provide the default definition */\n         /*! macro for accessing data in ROM */\n         #define Q_ROM\n    #endif\n\n#endif\n\n    /*! Define the file name (with `__FILE__`) for assertions in this file. */\n    /**\n    * @description\n    * Macro to be placed at the top of each C/C++ module to define the\n    * single instance of the file name string to be used in reporting\n    * assertions in this module.\n    *\n    * @note The file name string literal is defined by means of the standard\n    * preprocessor macro `__FILE__`. However, please note that, depending\n    * on the compiler, the `__FILE__` macro might contain the whole path name\n    * to the file, which might be inconvenient to log assertions.\n    * @note This macro should __not__ be terminated by a semicolon.\n    * @sa Q_DEFINE_THIS_MODULE()\n    */\n    #define Q_DEFINE_THIS_FILE \\\n        static char_t const Q_ROM Q_this_module_[] = __FILE__;\n\n    /*! Define the user-specified module name for assertions in this file. */\n    /**\n    * @description\n    * Macro to be placed at the top of each C/C++ module to define the\n    * single instance of the module name string to be used in reporting\n    * assertions in this module. This macro takes the user-supplied parameter\n    * @p name_ instead of `__FILE__` to precisely control the name of the\n    * module.\n    *\n    * @param[in] name_ string constant representing the module name\n    *\n    * @note This macro should __not__ be terminated by a semicolon.\n    */\n    #define Q_DEFINE_THIS_MODULE(name_) \\\n        static char_t const Q_ROM Q_this_module_[] = name_;\n\n    /*! General purpose assertion. */\n    /**\n    * @description\n    * Makes sure the @p test_ parameter is TRUE. Calls the Q_onAssert()\n    * callback if the @p test_ expression evaluates to FALSE. This\n    * macro identifies the assertion location within the file by means\n    * of the standard `__LINE__` macro.\n    *\n    * @param[in] test_ Boolean expression\n    *\n    * @note the @p test_ is __not__ evaluated if assertions are disabled\n    * with the #Q_NASSERT switch.\n    */\n    #define Q_ASSERT(test_) ((test_) \\\n        ? (void)0 : Q_onAssert(&Q_this_module_[0], (int_t)__LINE__))\n\n    /*! General purpose assertion with user-specified assertion-id. */\n    /**\n    * @description\n    * Makes sure the @p test_ parameter is TRUE. Calls the Q_onAssert()\n    * callback if the @p test_ evaluates to FALSE. This assertion takes the\n    * user-supplied parameter @p id_ to identify the location of this\n    * assertion within the file. This avoids the volatility of using line\n    * numbers, which change whenever a line of code is added or removed\n    * upstream from the assertion.\n    *\n    * @param[in] id_   ID number (unique within the module) of the assertion\n    * @param[in] test_ Boolean expression\n    *\n    * @note the @p test_ expression is __not__ evaluated if assertions are\n    * disabled with the #Q_NASSERT switch.\n    */\n    #define Q_ASSERT_ID(id_, test_) ((test_) \\\n        ? (void)0 : Q_onAssert(&Q_this_module_[0], (int_t)(id_)))\n\n    /*! General purpose assertion that __always__ evaluates the @p test_\n    * expression. */\n    /**\n    * @description\n    * Like the Q_ASSERT() macro, except it __always__ evaluates the @p test_\n    * expression even when assertions are disabled with the #Q_NASSERT macro.\n    * However, when the #Q_NASSERT macro is defined, the Q_onAssert()\n    * callback is __not__ called, even if @p test_ evaluates to FALSE.\n    *\n    * @param[in] test_ Boolean expression (__always__ evaluated)\n    *\n    * @sa #Q_ALLEGE_ID\n    */\n    #define Q_ALLEGE(test_)    Q_ASSERT(test_)\n\n    /*! General purpose assertion with user-specified assertion-id that\n    * __always__ evaluates the @p test_ expression. */\n    /**\n    * @description\n    * Like the Q_ASSERT_ID() macro, except it __always__ evaluates the\n    * @p test_ expression even when assertions are disabled with the\n    * #Q_NASSERT macro. However, when the #Q_NASSERT macro is defined, the\n    * Q_onAssert() callback is __not__ called, even if @p test_ evaluates\n    * to FALSE.\n    *\n    * @param[in] id_   ID number (unique within the module) of the assertion\n    * @param[in] test_ Boolean expression\n    */\n    #define Q_ALLEGE_ID(id_, test_) Q_ASSERT_ID((id_), (test_))\n\n    /*! Assertion for a wrong path through the code. */\n    /**\n    * @description\n    * Calls the Q_onAssert() callback if ever executed.\n    *\n    * @note Does noting if assertions are disabled with the #Q_NASSERT switch.\n    */\n    #define Q_ERROR() \\\n        Q_onAssert(&Q_this_module_[0], (int_t)__LINE__)\n\n    /*! Assertion with user-specified assertion-id for a wrong path. */\n    /**\n    * @description\n    * Calls the Q_onAssert() callback if ever executed. This assertion\n    * takes the user-supplied parameter @p id_ to identify the location of\n    * this assertion within the file. This avoids the volatility of using\n    * line numbers, which change whenever a line of code is added or removed\n    * upstream from the assertion.\n    *\n    * @param[in] id_   ID number (unique within the module) of the assertion\n    *\n    * @note Does noting if assertions are disabled with the #Q_NASSERT switch.\n    */\n    #define Q_ERROR_ID(id_) \\\n        Q_onAssert(&Q_this_module_[0], (int_t)(id_))\n\n#endif /* Q_NASSERT */\n\n/****************************************************************************/\n#ifdef __cplusplus\n    extern \"C\" {\n#endif\n\n#ifndef Q_NORETURN\n    /*! no-return function specifier */\n    #define Q_NORETURN    void\n#endif /*  Q_NORETURN */\n\n/*! Callback function invoked in case of any assertion failure. */\n/**\n* @description\n* This is an application-specific callback function needs to be defined in\n* the application to perform the clean system shutdown and perhaps a reset.\n*\n* @param[in] module name of the file/module in which the assertion failed\n*                   (constant, zero-terminated C string)\n* @param[in] location location of the assertion within the module. This could\n*                   be a line number or a user-specified ID-number.\n*\n* @note This callback function should _not_ return, as continuation after\n* an assertion failure does not make sense.\n*\n* @note The Q_onAssert() function is the last line of defense after the\n* system failure and its implementation shouild be very __carefully__\n* designed and __tested__ under various fault conditions, including but\n* not limited to: stack overflow, stack corruption, or calling Q_onAssert()\n* from an interrupt.\n*\n* @note It is typically a __bad idea__ to implement Q_onAssert() as an\n* endless loop that ties up the CPU. During debuggin, Q_onAssert() is an\n* ideal place to put a breakpoint.\n*\n* Called by the following macros: #Q_ASSERT, #Q_REQUIRE, #Q_ENSURE,\n* #Q_ERROR, #Q_ALLEGE as well as #Q_ASSERT_ID, #Q_REQUIRE_ID, #Q_ENSURE_ID,\n* #Q_ERROR_ID, and #Q_ALLEGE_ID.\n*/\nQ_NORETURN Q_onAssert(char_t const Q_ROM * const module, int_t const location);\n\n#ifdef __cplusplus\n    }\n#endif\n\n/*! Assertion for checking preconditions. */\n/**\n* @description\n* This macro is equivalent to #Q_ASSERT, except the name provides a better\n* documentation of the intention of this assertion.\n*\n* @param[in] test_ Boolean expression\n*/\n#define Q_REQUIRE(test_)         Q_ASSERT(test_)\n\n/*! Assertion for checking preconditions with user-specified assertion-id. */\n/**\n* @description\n* Equivalent to #Q_ASSERT_ID, except the macro name provides a better\n* documentation of the intention of this assertion.\n*\n* @param[in] id_   ID number (unique within the module) of the assertion\n* @param[in] test_ Boolean expression\n*/\n#define Q_REQUIRE_ID(id_, test_) Q_ASSERT_ID((id_), (test_))\n\n/*! Assertion for checking postconditions. */\n/** Equivalent to #Q_ASSERT, except the macro name provides a better\n* documentation of the intention of this assertion.\n*\n* @param[in] test_ Boolean expression\n*/\n#define Q_ENSURE(test_) Q_ASSERT(test_)\n\n/*! Assertion for checking postconditions with user-specified assertion-id. */\n/**\n* @description\n* Equivalent to #Q_ASSERT_ID, except the name provides a better documentation\n* of the intention of this assertion.\n*\n* @param[in] id_   ID number (unique within the module) of the assertion\n* @param[in] test_ Boolean expression\n*/\n#define Q_ENSURE_ID(id_, test_) Q_ASSERT_ID((id_), (test_))\n\n/*! Assertion for checking invariants. */\n/**\n* @description\n* Equivalent to #Q_ASSERT, except the macro name provides a better\n* documentation of the intention of this assertion.\n*\n* @param[in] test_ Boolean expression\n*/\n#define Q_INVARIANT(test_) Q_ASSERT(test_)\n\n/*! Assertion for checking invariants with user-specified assertion-id. */\n/**\n* @description\n* Equivalent to #Q_ASSERT_ID, except the macro name provides a better\n* documentation of the intention of this assertion.\n*\n* @param[in] id_   ID number (unique within the module) of the assertion\n* @param[in] test_ Boolean expression\n*/\n#define Q_INVARIANT_ID(id_, test_) Q_ASSERT_ID((id_), (test_))\n\n/*! Static (compile-time) assertion. */\n/**\n* @description\n* This type of assertion deliberately causes a compile-time error when\n* the @p test_ evaluates to FALSE. The macro exploits the fact that in C/C++\n* a dimension of an array cannot be negative. The compile-time assertion has\n* no runtime side effects.\n*\n* @param[in] test_ Compile-time Boolean expression\n*/\n#define Q_ASSERT_STATIC(test_) \\\n    extern int_t Q_assert_static[(test_) ? 1 : -1]\n\n#define Q_ASSERT_COMPILE(test_) Q_ASSERT_STATIC(test_)\n\n/*! Helper macro to calculate static dimension of a 1-dim @p array_ */\n#define Q_DIM(array_) (sizeof(array_) / sizeof((array_)[0]))\n\n#endif /* QASSERT_H */\n\n"
  },
  {
    "path": "include/qepn.h",
    "content": "/**\n* @file\n* @brief Public QEP-nano interface.\n* @ingroup qepn\n* @cond\n******************************************************************************\n* Last updated for version 6.9.0\n* Last updated on  2020-08-21\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QEPN_H\n#define QEPN_H\n\n/****************************************************************************/\n/*! The current QP version as a decimal constant XXYZ, where XX is a 2-digit\n* major version number, Y is a 1-digit minor version number, and Z is\n* a 1-digit release number.\n*/\n#define QP_VERSION      690U\n\n/*! The current QP version number string of the form XX.Y.Z, where XX is\n* a 2-digit major version number, Y is a 1-digit minor version number,\n* and Z is a 1-digit release number.\n*/\n#define QP_VERSION_STR  \"6.9.0\"\n\n/*! Encrypted  current QP release (6.9.0) and date (2020-08-21) */\n#define QP_RELEASE      0x884D22FDU\n\n\n/****************************************************************************/\n/* typedefs for basic numerical types; MISRA-C 2004 rule 6.3(req). */\n\n/*! typedef for character strings. */\n/**\n* @description\n* This typedef specifies character type for exclusive use in character\n* strings. Use of this type, rather than plain 'char', is in compliance\n* with the MISRA-C 2004 Rules 6.1(req), 6.3(adv).\n*/\ntypedef char char_t;\n\n/*! typedef for line numbers in assertions and return from QF_run() */\ntypedef int int_t;\n\n/*! typedef for enumerations used for event signals */\ntypedef int enum_t;\n\n/*! IEEE 754 32-bit floating point number, MISRA-C 2004 rule 6.3(req) */\n/**\n* @note QP-nano does not use floating-point types anywhere in the internal\n* implementation.\n*/\ntypedef float float32_t;\n\n/*! IEEE 754 64-bit floating point number, MISRA-C 2004 rule 6.3(req) */\n/**\n* @note QP-nano does not use floating-point types anywhere in the internal\n* implementation.\n*/\ntypedef double float64_t;\n\n/*! Scalar type describing the signal of an event. */\ntypedef uint8_t QSignal;\n\n#ifndef Q_PARAM_SIZE\n    /*! The size of event parameter Valid values 0, 1, 2, 4 or 8; default 0 */\n    #define Q_PARAM_SIZE 0U\n#endif\n#if (Q_PARAM_SIZE == 0U)\n#elif (Q_PARAM_SIZE == 1U)\n    typedef uint8_t QParam;\n#elif (Q_PARAM_SIZE == 2U)\n    typedef uint16_t QParam;\n#elif (Q_PARAM_SIZE == 4U)\n    /*! type of the event parameter. */\n    /**\n    * @description\n    * This typedef is configurable via the preprocessor switch #Q_PARAM_SIZE.\n    * The other possible values of this type are as follows: @n\n    * none when (Q_PARAM_SIZE == 0U);@n\n    * uint8_t when (Q_PARAM_SIZE == 1U);@n\n    * uint16_t when (Q_PARAM_SIZE == 2U);@n\n    * uint32_t when (Q_PARAM_SIZE == 4U); and @n\n    * uint64_t when (Q_PARAM_SIZE == 8U).\n    */\n    typedef uint32_t QParam;\n#elif (Q_PARAM_SIZE == 8U)\n    typedef uint64_t QParam;\n#else\n    #error \"Q_PARAM_SIZE defined incorrectly, expected 0U, 1U, 2U, 4U or 8U\"\n#endif\n\n/****************************************************************************/\n/*! Event structure. */\n/**\n* @description\n* ::QEvt represents events, optionally with a single scalar parameter.\n* @sa Q_PARAM_SIZE\n* @sa ::QParam\n*/\ntypedef struct {\n    QSignal sig; /*!< signal of the event */\n#if (Q_PARAM_SIZE != 0U)\n    QParam par;  /*!< scalar parameter of the event */\n#endif\n} QEvt;\n\n/****************************************************************************/\n/*! Macro to access the signal of the current event of a state machine */\n/**\n* @param[in,out] me_ pointer to a subclass of ::QHsm (see @ref oop)\n*/\n#define Q_SIG(me_)  (((QHsm *)(me_))->evt.sig)\n\n#if (Q_PARAM_SIZE != 0U)\n/*! Macro to access the parameter of the current event of a state machine */\n/**\n* @param[in,out] me_ pointer to a subclass of ::QHsm (see @ref oop)\n*/\n#define Q_PAR(me_)  (((QHsm *)(me_))->evt.par)\n#endif  /* (Q_PARAM_SIZE != 0U) */\n\n/****************************************************************************/\n/*! Type returned from  a state-handler function. */\ntypedef uint_fast8_t QState;\n\n/*! the signature of a state handler function */\ntypedef QState (*QStateHandler)(void * const me);\n\n/****************************************************************************/\n/*! virtual table for the ::QHsm class. */\ntypedef struct QHsmVtable QHsmVtable;\n\n/*! Hierarchical State Machine */\n/**\n* @description\n* QHsm represents a Hierarchical Finite State Machine (HSM) with full\n* support for hierarchical nesting of states, entry/exit actions,\n* and initial transitions in any composite state.\n*\n* @note QHsm is not intended to be instantiated directly, but rather serves\n* as the base structure for derivation of state machines in the application\n* code.\n*\n* @usage\n* The following example illustrates how to derive a state machine structure\n* from QHsm. Please note that the QHsm member 'super' is defined as the\n* _first_ member of the derived struct.\n* @include qepn_qhsm.c\n*\n* @sa @ref oop\n*/\ntypedef struct {\n    QHsmVtable const *vptr; /*!< virtual pointer */\n    QStateHandler state;  /*!< current active state (state-variable) */\n    QStateHandler temp;   /*!< temporary: tran. chain, target state, etc. */\n    QEvt evt;  /*!< currently processed event in the HSM (protected) */\n} QHsm;\n\n/*! Virtual table for the QHsm class */\nstruct QHsmVtable {\n    /*! Triggers the top-most initial transition in a HSM. */\n    void (*init)(QHsm * const me);\n\n    /*! Dispatches an event to a HSM. */\n    void (*dispatch)(QHsm * const me);\n};\n\n/*! Polymorphically executes the top-most initial transition in a SM. */\n/**\n* @param[in,out] me_ pointer (see @ref oop)\n*\n* @note Must be called only ONCE after the SM \"constructor\".\n*\n* @usage\n* The following example illustrates how to initialize a SM, and dispatch\n* events to it:\n* @include qepn_qhsm_use.c\n*/\n#define QHSM_INIT(me_) do {      \\\n    Q_ASSERT((me_)->vptr);       \\\n    (*(me_)->vptr->init)((me_)); \\\n} while (false)\n\n/*! Polymorphically dispatches an event to a HSM. */\n/**\n* @description\n* Processes one event at a time in Run-to-Completion fashion.\n*\n* @param[in,out] me_ pointer (see @ref oop)\n*\n* @note Must be called after the \"constructor\" and after QHSM_INIT().\n*/\n#define QHSM_DISPATCH(me_) ((*(me_)->vptr->dispatch)((me_)))\n\n/* public methods */\n/*! \"constructor\" of a HSM.\n* @protected @memberof QHsm\n*/\nvoid QHsm_ctor(QHsm * const me, QStateHandler initial);\n\n/*! Obtain the current active state from a HSM (read only). */\n/**\n* @param[in] me_ pointer (see @ref oop)\n*\n* @returns the current active state of a HSM\n*/\n#define QHsm_state(me_) (Q_STATE_CAST(Q_HSM_UPCAST(me_)->state))\n\n/*! Obtain the current active child state of a given parent in QHsm\n* @public @memberof QHsm\n*/\n/**\n* @param[in] me_     pointer (see @ref oop)\n* @param[in] parent_ pointer to the parent state-handler\n* @returns the current active child state-handler of a given parent\n* @note this macro is used in QM for auto-generating code for state history\n*/\n#define QHsm_childState(me_, parent_) \\\n    QHsm_childState_(Q_HSM_UPCAST(me_), Q_STATE_CAST(parent_))\n\n/*! Helper function to obtain the current active child state of a parent */\nQStateHandler QHsm_childState_(QHsm * const me,\n                               QStateHandler const parent);\n\n/*! Implementation of the top-most initial transition in QHsm.\n* @private @memberof QHsm\n*/\nvoid QHsm_init_(QHsm * const me);\n\n/*! Implementation of dispatching events to QHsm.\n* @private @memberof QHsm\n*/\nvoid QHsm_dispatch_(QHsm * const me);\n\n/*! the top-state.\n* @protected @memberof QHsm\n*/\nQState QHsm_top(void const * const me);\n\n\n/****************************************************************************/\n/* All possible values returned from state/action handlers */\n\n/* unhandled and need to \"bubble up\"... */\n\n/*! event passed to superstate to handle */\n#define Q_RET_SUPER      ((QState)0)\n\n/*! event passed to submachine superstate */\n#define Q_RET_SUPER_SUB  ((QState)1)\n\n/*! event unhandled due to a guard */\n#define Q_RET_UNHANDLED  ((QState)2)\n\n/* handled and do not need to \"bubble up\"... */\n/*! event handled (internal transition) */\n#define Q_RET_HANDLED    ((QState)3)\n\n/*! event silently ignored (bubbled up to top) */\n#define Q_RET_IGNORED    ((QState)4)\n\n/* entry/exit... */\n/*! state entry action executed */\n#define Q_RET_ENTRY      ((QState)5)\n\n/*! state exit  action executed */\n#define Q_RET_EXIT       ((QState)6)\n\n/* no side effects */\n/*! return value without any effect */\n#define Q_RET_NULL       ((QState)7)\n\n/* transitions need to execute transition-action table in QHsm... */\n/*! event handled (regular transition) */\n#define Q_RET_TRAN       ((QState)8)\n\n/*! initial transition in a state or submachine */\n#define Q_RET_TRAN_INIT  ((QState)9)\n\n/*! event handled (transition to history) */\n#define Q_RET_TRAN_HIST  ((QState)10)\n\n\n/*! Perform upcast from a subclass of ::QHsm to the base class ::QHsm */\n/**\n* @description\n* Upcasting from a subclass to superclass is a very frequent and __safe__\n* operation in object-oriented programming and object-oriented languages\n* (such as C++) perform such upcasting automatically. However, OOP is\n* implemented in C just as a set of coding conventions (see @ref oop),\n* and the C compiler does not \"know\" that certain types are related by\n* inheritance. Therefore for C, the upcast must be performed explicitly.\n* Unfortunately, pointer casting violates the advisory MISRA-C 2004 rule 11.4\n* \"cast pointer to pointer\". This macro encapsulates this deviation and\n* provides a descriptive name for the reason of this cast.\n*/\n#define Q_HSM_UPCAST(ptr_) ((QHsm *)(ptr_))\n\n/*! Perform cast to ::QStateHandler. */\n/**\n* @description\n* This macro encapsulates the cast of a specific state handler function\n* pointer to QStateHandler, which violates MISRA-C 2004 rule 11.4(advisory).\n* This macro helps to localize this deviation.\n*\n* @usage\n* @include qepn_qhsm_ctor.c\n*/\n#define Q_STATE_CAST(handler_)  ((QStateHandler)(handler_))\n\n/*! Macro to call in a state-handler when it executes a regular\n* or and initial transition. Applicable to both HSMs and FSMs.\n* @include qepn_qtran.c\n*/\n#define Q_TRAN(target_)  \\\n    ((Q_HSM_UPCAST(me))->temp = Q_STATE_CAST(target_), (QState)Q_RET_TRAN)\n\n/*! Macro to call in a state-handler when it executes a transition\n* to history. Applicable only to HSMs.\n*\n* @usage\n* @include qepn_qhist.c\n*/\n#define Q_TRAN_HIST(hist_)  \\\n    ((Q_HSM_UPCAST(me))->temp = (hist_), (QState)Q_RET_TRAN_HIST)\n\n/*! Macro to call in a state-handler when it designates the\n* superstate of a given state. Applicable only to HSMs.\n*\n* @usage\n* @include qepn_qtran.c\n*/\n#define Q_SUPER(super_)  \\\n    ((Q_HSM_UPCAST(me))->temp = Q_STATE_CAST(super_), Q_RET_SUPER)\n\n/*! Macro to call in a state-handler when it handles an event.\n*  Applicable to both HSMs and FSMs.\n*/\n#define Q_HANDLED()      Q_RET_HANDLED\n\n/*! Macro to call in a state-handler when it attempts to handle\n* an event but a guard condition evaluates to 'false' and there is no other\n* explicit way of handling the event. Applicable only to HSMs.\n*/\n#define Q_UNHANDLED()    Q_RET_UNHANDLED\n\n\n/*! QP reserved signals */\n\n/*! signal for coding entry actions */\n#define Q_ENTRY_SIG     ((QSignal)1)\n\n/*! signal for coding exit actions */\n#define Q_EXIT_SIG      ((QSignal)2)\n\n/*! signal for coding nested initial transitions */\n#define Q_INIT_SIG      ((QSignal)3)\n\n/*! timeout signal at the default tick rate 0 */\n#define Q_TIMEOUT_SIG   ((QSignal)4)\n\n/*! timeout signal at tick rate 1 */\n#define Q_TIMEOUT1_SIG  ((QSignal)5)\n\n/*! timeout signal at tick rate 2 */\n#define Q_TIMEOUT2_SIG  ((QSignal)6)\n\n/*! timeout signal at tick rate 3 */\n#define Q_TIMEOUT3_SIG  ((QSignal)7)\n\n/*!< first signal for the user applications */\n#define Q_USER_SIG      ((QSignal)8)\n\n/*! Perform cast from unsigned integer to a pointer of type @a type_ */\n/**\n* @description\n* This macro encapsulates the cast to (type_ *), which QP ports or\n* application might use to access embedded hardware registers.\n* Such uses can trigger PC-Lint \"Note 923: cast from int to pointer\" and\n* this macro helps to encapsulate this deviation.\n*/\n#define Q_UINT2PTR_CAST(type_, uintptr_)  ((type_ *)(uintptr_))\n\n/****************************************************************************/\n/* macros for accessing data in ROM */\n#ifndef Q_ROM /* if NOT defined, provide the default definition */\n\n    /*! Macro to specify compiler-specific directive for placing a\n    * constant object in ROM. */\n    /**\n    * @description\n    * Many compilers for 8-bit Harvard-architecture MCUs provide non-standard\n    * extensions to support placement of objects in different memories.\n    * In order to conserve the precious RAM, QP-nano uses the Q_ROM macro for\n    * all constant objects that can be allocated in ROM.\n    *\n    * @note\n    * To override the following empty definition, you need to define the\n    * Q_ROM macro in the qpn_port.h header file. Some examples of valid\n    * Q_ROM macro definitions are: __code (IAR 8051 compiler), code (Keil\n    * 8051 compiler), PROGMEM (gcc for AVR), __flash (IAR for AVR).\n    */\n    #define Q_ROM\n#endif\n\n#ifndef Q_ROM_BYTE\n    /*! Macro to access a byte allocated in ROM */\n    /**\n    * Some compilers for Harvard-architecture MCUs, such as gcc for AVR, do\n    * not generate correct code for accessing data allocated in the program\n    * space (ROM). The workaround for such compilers is to explicitly add\n    * assembly code to access each data element allocated in the program\n    * space. The macro Q_ROM_BYTE() retrieves a byte from the given ROM\n    * address.\n    *\n    * @note\n    * The Q_ROM_BYTE() macro should be defined in the qpn_port.h header file\n    * for each compiler that cannot handle correctly data allocated in ROM\n    * (such as the gcc). If the macro is left undefined, the default\n    * definition simply returns the parameter and lets the compiler\n    * synthesize the correct code.\n    */\n    #define Q_ROM_BYTE(rom_var_)   (rom_var_)\n#endif\n\n#ifndef Q_ROM_PTR\n    /*! Macro to access a pointer allocated in ROM */\n    /**\n    * Some compilers for Harvard-architecture MCUs, such as gcc for AVR, do\n    * not generate correct code for accessing data allocated in the program\n    * space (ROM). The workaround for such compilers is to explicitly add\n    * assembly code to access each data element allocated in the program\n    * space. The macro Q_ROM_PTR() retrieves an object-pointer from the given\n    * ROM address. Please note that the pointer can be pointing to the object\n    * in RAM or ROM.\n    *\n    * @note\n    * The Q_ROM_PTR() macro should be defined in the qpn_port.h header file\n    * for each compiler that cannot handle correctly data allocated in ROM\n    * (such as the gcc). If the macro is left undefined, the default\n    * definition simply returns the parameter and lets the compiler\n    * synthesize the correct code.\n    */\n    #define Q_ROM_PTR(rom_var_)    (rom_var_)\n#endif\n\n\n/****************************************************************************/\n/*! the current QP version number string in ROM, based on QP_VERSION_STR */\nextern char_t const Q_ROM QP_versionStr[7];\n\n/*! get the current QP-nano version number string of the form \"X.Y.Z\" */\n#define QP_getVersion() (QP_versionStr)\n\n#endif /* QEPN_H */\n\n"
  },
  {
    "path": "include/qfn.h",
    "content": "/**\n* @file\n* @brief Public QF-nano interface.\n* @ingroup qfn\n* @cond\n******************************************************************************\n* Last updated for version 6.8.2\n* Last updated on  2020-03-08\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QFN_H\n#define QFN_H\n\n/**\n* @description\n* This header file must be included in all modules that use QP-nano.\n* Typically, this header file is included indirectly through the\n* header file qpn_port.h.\n*/\n\n/****************************************************************************/\n#ifndef QF_TIMEEVT_CTR_SIZE\n    /*! macro to override the default QTimeEvtCtr size.\n    * Valid values 0U, 1U, 2U, or 4U; default 0U\n    */\n    #define QF_TIMEEVT_CTR_SIZE 0U\n#endif\n#if (QF_TIMEEVT_CTR_SIZE == 0U)\n    /* no time events */\n#elif (QF_TIMEEVT_CTR_SIZE == 1U)\n    typedef uint8_t QTimeEvtCtr;\n#elif (QF_TIMEEVT_CTR_SIZE == 2U)\n    /*! type of the Time Event counter, which determines the dynamic\n    * range of the time delays measured in clock ticks.\n    */\n    /**\n    * @description\n    * This typedef is configurable via the preprocessor switch\n    * #QF_TIMEEVT_CTR_SIZE. The other possible values of this type are\n    * as follows: @n\n    * none when (QF_TIMEEVT_CTR_SIZE not defined or == 0U), @n\n    * uint8_t  when (QF_TIMEEVT_CTR_SIZE == 1U); @n\n    * uint16_t when (QF_TIMEEVT_CTR_SIZE == 2U); and @n\n    * uint32_t when (QF_TIMEEVT_CTR_SIZE == 4U).\n    */\n    typedef uint16_t QTimeEvtCtr;\n#elif (QF_TIMEEVT_CTR_SIZE == 4U)\n    typedef uint32_t QTimeEvtCtr;\n#else\n    #error \"QF_TIMER_SIZE defined incorrectly, expected 1U, 2U, or 4U\"\n#endif\n\n#if (QF_TIMEEVT_CTR_SIZE != 0U)\n    /*! Timer structure the active objects */\n    typedef struct {\n        QTimeEvtCtr nTicks;   /*!< timer tick counter */\n#ifdef QF_TIMEEVT_PERIODIC\n        QTimeEvtCtr interval; /*!< timer interval */\n#endif /* QF_TIMEEVT_PERIODIC */\n    } QTimer;\n#endif /* (QF_TIMEEVT_CTR_SIZE != 0U) */\n\n#ifndef QF_MAX_TICK_RATE\n    /*! Default value of the macro configurable value in qpn_port.h */\n    #define QF_MAX_TICK_RATE     1U\n#elif (QF_MAX_TICK_RATE > 4U)\n    #error \"QF_MAX_TICK_RATE exceeds the 4U limit\"\n#endif\n\n/****************************************************************************/\n/*! QActive active object (based on QHsm-implementation)\n* @extends QHsm\n*/\n/**\n* @description\n* QActive is the base structure for derivation of active objects. Active\n* objects in QF-nano are encapsulated tasks (each embedding a state machine\n* and an event queue) that communicate with one another asynchronously by\n* sending and receiving events. Within an active object, events are\n* processed sequentially in a run-to-completion (RTC) fashion, while QF\n* encapsulates all the details of thread-safe event exchange and queuing.\n*\n* @note ::QActive is not intended to be instantiated directly, but rather\n* serves as the base structure for derivation of active objects in the\n* application code.\n*\n* @usage\n* The following example illustrates how to derive an active object from\n* ::QActive. Please note that the ::QActive member super_ is defined as\n* the __first__ member of the derived struct.\n* @include qfn_qactive.c\n*/\ntypedef struct QActive {\n    QHsm super; /**< derives from the ::QHsm base class */\n\n#if (QF_TIMEEVT_CTR_SIZE != 0U)\n    /*! Timer for the active object */\n    QTimer tickCtr[QF_MAX_TICK_RATE];\n#endif /* (QF_TIMEEVT_CTR_SIZE != 0U) */\n\n    /*! priority of the active object (1..8) */\n    uint8_t prio;\n\n    /*! offset to where next event will be inserted into the buffer */\n    uint8_t volatile head;\n\n    /*! offset of where next event will be extracted from the buffer */\n    uint8_t volatile tail;\n\n    /*! number of events currently present in the queue\n    * (events in the ring buffer + 1 event in the state machine)\n    */\n    uint8_t volatile nUsed;\n\n} QActive;\n\n/*! Virtual table for the QActive class\n* @extends QHsmVtable\n*/\ntypedef struct {\n    QHsmVtable super; /*!< inherits QHsmVtable */\n\n#if (Q_PARAM_SIZE != 0U)\n    /*! virtual function to asynchronously post (FIFO) an event to an AO\n    * (task context).\n    */\n    /** @sa QACTIVE_POST() and QACTIVE_POST_X() */\n    bool (*post)(QActive * const me, uint_fast8_t const margin,\n                 enum_t const sig, QParam const par);\n\n    /*! virtual function to asynchronously post (FIFO) an event to an AO\n    * (ISR context).\n    */\n    /** @sa QACTIVE_POST_ISR() and QACTIVE_POST_X_ISR() */\n    bool (*postISR)(QActive * const me, uint_fast8_t const margin,\n                    enum_t const sig, QParam const par);\n#else\n    bool (*post)   (QActive * const me, uint_fast8_t const margin,\n                    enum_t const sig);\n    bool (*postISR)(QActive * const me, uint_fast8_t const margin,\n                    enum_t const sig);\n#endif\n} QActiveVtable;\n\n/*! protected \"constructor\" of an QActive active object. */\nvoid QActive_ctor(QActive * const me, QStateHandler initial);\n\n\n/*! special value of margin that causes asserting failure in case\n* event posting fails.\n*/\n#define QF_NO_MARGIN ((uint_fast8_t)0xFF)\n\n#if (Q_PARAM_SIZE != 0U)\n    /*! Polymorphically posts an event to an active object (FIFO)\n    * with delivery guarantee (task context).\n    */\n    /**\n    * @description\n    * This macro asserts if the queue overflows and cannot accept the event.\n    *\n    * @param[in,out] me_   pointer (see @ref oop)\n    * @param[in]     sig_  signal of the event to post\n    * @param[in]     par_  parameter of the event to post.\n    *\n    * @sa QACTIVE_POST_X(), QActive_postX_(),\n    * QACTIVE_POST_ISR(), QActive_postXISR_().\n    *\n    * @usage\n    * @include qfn_post.c\n    */\n    #define QACTIVE_POST(me_, sig_, par_) do {                      \\\n        QActive * const ao_ = QF_ACTIVE_CAST((me_));                \\\n        ((void)(*((QActiveVtable const *)(ao_->super.vptr))->post)( \\\n                ao_, QF_NO_MARGIN, (enum_t)(sig_), (QParam)(par_)));\\\n    } while (false)\n\n    /*! Polymorphically posts an event to an active object (FIFO)\n    * without delivery guarantee (task context).\n    */\n    /**\n    * @description\n    * This macro does not assert if the queue overflows and cannot accept\n    * the event with the specified margin of free slots remaining.\n    *\n    * @param[in,out] me_     pointer (see @ref oop)\n    * @param[in]     margin_ the minimum free slots in the queue, which\n    *                must still be available after posting the event.\n    *                The special value #QF_NO_MARGIN causes asserting failure\n    *                in case event allocation fails.\n    * @param[in]     sig_    signal of the event to post\n    * @param[in]     par_    parameter of the event to post.\n    *\n    * @returns\n    * 'true' if the posting succeeded, and 'false' if the posting failed\n    * due to insufficient margin of free slots available in the queue.\n    *\n    * @usage\n    * @include qfn_postx.c\n    */\n    #define QACTIVE_POST_X(me_, margin_, sig_, par_)            \\\n        ((*((QActiveVtable const *)((me_)->super.vptr))->post)( \\\n             (me_), (margin_), (enum_t)(sig_), (QParam)(par_)))\n\n    /*! Polymorphically posts an event to an active object (FIFO)\n    * with delivery guarantee (ISR context).\n    */\n    /**\n    * @description\n    * This macro asserts if the queue overflows and cannot accept the event.\n    *\n    * @param[in,out] me_   pointer (see @ref oop)\n    * @param[in]     sig_  signal of the event to post\n    * @param[in]     par_  parameter of the event to post.\n    *\n    * @sa QACTIVE_POST_X(), QActive_postX_().\n    *\n    * @usage\n    * @include qfn_post.c\n    */\n    #define QACTIVE_POST_ISR(me_, sig_, par_) do {                     \\\n        QActive * const ao_ = QF_ACTIVE_CAST((me_));                   \\\n        ((void)(*((QActiveVtable const *)(ao_->super.vptr))->postISR)( \\\n                ao_, QF_NO_MARGIN, (enum_t)(sig_), (QParam)(par_)));   \\\n    } while (false)\n\n    /*! Polymorphically posts an event to an active object (FIFO)\n    * without delivery guarantee (ISR context).\n    */\n    /**\n    * @description\n    * This macro does not assert if the queue overflows and cannot accept\n    * the event with the specified margin of free slots remaining.\n    *\n    * @param[in,out] me_     pointer (see @ref oop)\n    * @param[in]     margin_ the minimum free slots in the queue, which\n    *                must still be available after posting the event.\n    *                The special value #QF_NO_MARGIN causes asserting failure\n    *                in case event allocation fails.\n    * @param[in]     sig_    signal of the event to post\n    * @param[in]     par_    parameter of the event to post.\n    *\n    * @returns\n    * 'true' if the posting succeeded, and 'false' if the posting failed\n    * due to insufficient margin of free slots available in the queue.\n    *\n    * @usage\n    * @include qfn_postx.c\n    */\n    #define QACTIVE_POST_X_ISR(me_, margin_, sig_, par_)   \\\n        ((*((QActiveVtable const *)(                       \\\n            QF_ACTIVE_CAST((me_))->super.vptr))->postISR)( \\\n                QF_ACTIVE_CAST((me_)), (margin_),          \\\n                (enum_t)(sig_), (QParam)(par_)))\n\n    /*! Implementation of the task-level event posting\n    * @private @memberof QActive\n    */\n    bool QActive_postX_(QActive * const me, uint_fast8_t margin,\n                        enum_t const sig, QParam const par);\n\n    /*! Implementation of the ISR-level event posting\n    * @private @memberof QActive\n    */\n    bool QActive_postXISR_(QActive * const me, uint_fast8_t margin,\n                           enum_t const sig, QParam const par);\n\n#else /* no event parameter */\n\n    #define QACTIVE_POST(me_, sig_) do {                            \\\n        QActive * const ao_ = QF_ACTIVE_CAST((me_));                \\\n        ((void)(*((QActiveVtable const *)(ao_->super.vptr))->post)( \\\n                ao_, QF_NO_MARGIN, (enum_t)(sig_)));                \\\n    } while (false)\n\n    #define QACTIVE_POST_X(me_, margin_, sig_)                        \\\n        ((*((QActiveVtable const *)((me_)->super.vptr))->post)((me_), \\\n                                   (margin_), (sig_)))\n\n    bool QActive_postX_(QActive * const me, uint_fast8_t margin,\n                        enum_t const sig);\n\n    #define QACTIVE_POST_ISR(me_, sig_) do {                           \\\n        QActive * const ao_ = QF_ACTIVE_CAST((me_));                   \\\n        ((void)(*((QActiveVtable const *)(ao_->super.vptr))->postISR)( \\\n                ao_, QF_NO_MARGIN, (enum_t)(sig_)));                   \\\n    } while (false)\n\n    #define QACTIVE_POST_X_ISR(me_, margin_, sig_)                     \\\n        ((*((QActiveVtable const *)(                                   \\\n            QF_ACTIVE_CAST((me_))->super.vptr))->postISR)(             \\\n                QF_ACTIVE_CAST((me_)), (margin_), (enum_t)(sig_)))\n\n    bool QActive_postXISR_(QActive * const me, uint_fast8_t margin,\n                           enum_t const sig);\n#endif\n\n#if (QF_TIMEEVT_CTR_SIZE != 0U)\n\n    /*! Processes all armed time events at every clock tick. */\n    void QF_tickXISR(uint_fast8_t const tickRate);\n\n#ifdef QF_TIMEEVT_PERIODIC\n    /*! Arm the QP-nano one-shot time event.\n    * @public @memberof QActive\n    */\n    void QActive_armX(QActive * const me, uint_fast8_t const tickRate,\n                      QTimeEvtCtr const nTicks, QTimeEvtCtr const interval);\n#else\n    /*! Arm the QP-nano one-shot time event.\n    * @public @memberof QActive\n    */\n    void QActive_armX(QActive * const me, uint_fast8_t const tickRate,\n                      QTimeEvtCtr const nTicks);\n#endif\n\n    /*! Disarm a time event. Since the tick counter\n    * @public @memberof QActive\n    */\n    void QActive_disarmX(QActive * const me, uint_fast8_t const tickRate);\n\n#endif /* (QF_TIMEEVT_CTR_SIZE != 0U) */\n\n\n/****************************************************************************/\n/* QF-nano protected methods ...*/\n\n/*! QF-nano initialization. */\nvoid QF_init(uint_fast8_t maxActive);\n\n/*! QF-nano termination. */\n/**\n* @description\n* This function terminates QF and performs any necessary cleanup.\n* In QF-nano this function is defined in the BSP. Many QF ports might not\n* require implementing QF_stop() at all, because many embedded applications\n* don't have anything to exit to.\n*/\nvoid QF_stop(void);\n\n/*! Startup QF-nano callback. */\n/**\n* @description\n* The time line for calling QF_onStartup() depends on the particular\n* QF port. In most cases, QF_onStartup() is called from QF_run(), right\n* before starting any multitasking kernel or the background loop.\n*\n* @sa QF initialization example for ::QActiveCB.\n*/\nvoid QF_onStartup(void);\n\n/*! Transfers control to QF-nano to run the application. */\nint_t QF_run(void);\n\n\n/****************************************************************************/\n/*! QActive Control Block\n*\n* QActiveCB represents the read-only information that the QF-nano needs to\n* manage the active object. QActiveCB objects are grouped in the array\n* QF_active[], which typically can be placed in ROM.\n*\n* @usage\n* The following example illustrates how to allocate and initialize the\n* ::QActive control blocks in the array QF_active[].\n* @include qfn_main.c\n*/\ntypedef struct {\n    QActive  *act;   /*!< pointer to the active object structure */\n    QEvt     *queue; /*!< pointer to the event queue buffer */\n    uint8_t   qlen;  /*!< the length of the queue ring buffer */\n} QActiveCB;\n\n/** active object control blocks */\n/*lint -save -e9067 MISRA-C:2012 Rule 8.11, extern array declared without size */\nextern QActiveCB const Q_ROM QF_active[];\n/*lint -restore */\n\n/*! number of active objects in the application (# elements in QF_active[]) */\nextern uint_fast8_t QF_maxActive_;\n\n/*! Ready set of QF-nano. */\nextern uint_fast8_t volatile QF_readySet_;\n\n#ifndef QF_LOG2\n\n    /*! Lookup table for (log2(n) + 1), where n is the index into the table.\n    * This lookup delivers the 1-based number of the most significant 1-bit\n    * of a nibble.\n    */\n    extern uint8_t const Q_ROM QF_log2Lkup[16];\n\n#endif\n\n\n#ifdef QF_TIMEEVT_USAGE\n\n    /*! Timer set of QF-nano. */\n    extern uint_fast8_t volatile QF_timerSetX_[QF_MAX_TICK_RATE];\n\n#endif  /* QF_TIMEEVT_USAGE */\n\n\n/*! Lookup table for ~(1 << (n - 1)), where n is the index into the table. */\nextern uint8_t const Q_ROM QF_invPow2Lkup[9];\n\n\n/****************************************************************************/\n/*! This macro encapsulates accessing the active object queue at a\n* given index, which violates MISRA-C 2004 rules 17.4(req) and 11.4(adv).\n* This macro helps to localize this deviation.\n*/\n#define QF_ROM_QUEUE_AT_(ao_, i_) (((QEvt *)Q_ROM_PTR((ao_)->queue))[(i_)])\n\n/*! This macro encapsulates accessing the active object control block,\n* which violates MISRA-C 2004 rule 11.4(adv). This macro helps to localize\n* this deviation.\n*/\n#define QF_ROM_ACTIVE_GET_(p_) ((QActive *)Q_ROM_PTR(QF_active[(p_)].act))\n\n/*! This macro encapsulates the upcast to QActive*\n*\n* This macro encapsulates up-casting a pointer to a subclass of ::QActive\n* to the base class ::QActive, which violates MISRA-C 2004 rule 11.4(adv).\n* This macro helps to localize this deviation.\n*/\n#define QF_ACTIVE_CAST(a_)     ((QActive *)(a_))\n\n#endif /* QFN_H */\n\n"
  },
  {
    "path": "include/qkn.h",
    "content": "/**\n* @file\n* @brief Public QK-nano interface.\n* @ingroup qkn\n* @cond\n******************************************************************************\n* Last updated for version 6.8.0\n* Last updated on  2020-03-08\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QKN_H\n#define QKN_H\n\n/****************************************************************************/\n/*! attributes of the QK kernel */\ntypedef struct {\n    uint8_t volatile actPrio;     /*!< prio of the active AO */\n    uint8_t volatile nextPrio;    /*!< prio of the next AO to execute */\n    uint8_t volatile lockPrio;    /*!< lock prio (0 == no-lock) */\n    uint8_t volatile lockHolder;  /*!< prio of the lock holder */\n    uint8_t volatile intNest;     /*!< ISR nesting level */\n} QK_PrivAttr;\n\n/*! global attributes of the QK kernel */\nextern QK_PrivAttr QK_attr_;\n\n/****************************************************************************/\n/*! QK-nano scheduler finds the highest-priority thread ready to run */\nuint_fast8_t QK_sched_(void);\n\n/*! QK activator activates the next active object. The activated AO preempts\n* the currently executing AOs.\n*/\nvoid QK_activate_(void);\n\n#ifndef QF_ISR_NEST\n    #define QK_SCHEDULE_() do {  \\\n        if (QK_sched_() != 0U) { \\\n            QK_activate_();      \\\n        } \\\n    } while(false)\n#else\n    /*! The macro to invoke the QK scheduler in the QK_ISR_EXIT() */\n    #define QK_SCHEDULE_()            \\\n        if (QK_attr_.intNest == 0U) { \\\n            if (QK_sched_() != 0U) {  \\\n                QK_activate_();       \\\n            }                         \\\n        } else ((void)0)\n\n#endif\n\n#ifdef QK_ON_CONTEXT_SW\n\n    /*! QK-nano context switch callback (customized in BSPs for QK-nano) */\n    /**\n    * @description\n    * This callback function provides a mechanism to perform additional\n    * custom operations when QK switches context from one thread to\n    * another.\n    *\n    * @param[in] prev   priority of the previous thread (active object)\n    *                   (prev==0 means that @p prev was the QK idle loop)\n    * @param[in] next   priority of the next thread (active object)\n    *                   (next==0) means that @p next is the QK idle loop)\n    * @attention\n    * QK_onContextSw() is invoked with interrupts **disabled** and must also\n    * return with interrupts **disabled**.\n    *\n    * @note\n    * This callback is enabled by defining the macro #QK_ON_CONTEXT_SW.\n    *\n    * @include qkn_oncontextsw.c\n    */\n    void QK_onContextSw(uint_fast8_t prev, uint_fast8_t next);\n\n#endif /* QK_ON_CONTEXT_SW */\n\n/*! QK idle callback (customized in BSPs for QK)\n*\n* QK_onIdle() is called continuously by the QK-nano idle loop. This callback\n* gives the application an opportunity to enter a power-saving CPU mode,\n* or perform some other idle processing.\n*\n* @note QK_onIdle() is invoked with interrupts enabled and must also\n* return with interrupts enabled. This is in contrast to the callback\n* QF_onIdle(), which is used by the non-preemptive QF-nano scheduler.\n*/\nvoid QK_onIdle(void);\n\n\n#ifdef QK_SCHED_LOCK\n\n    /*! QK-nano Scheduler locking */\n\n    /*! The scheduler lock status */\n    typedef uint_fast16_t QSchedStatus;\n\n    /*! QK Scheduler lock */\n    QSchedStatus QK_schedLock(uint_fast8_t ceiling);\n\n    /*! QK Scheduler unlock */\n    void QK_schedUnlock(QSchedStatus stat);\n\n#endif /* QK_SCHED_LOCK */\n\n#endif /* QKN_H */\n"
  },
  {
    "path": "include/qpn.h",
    "content": "/**\n* @file\n* @brief QP-nano public interface including backwards-compatibility layer\n* @cond\n******************************************************************************\n* Last updated for version 6.8.0\n* Last updated on  2020-03-08\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QPN_H\n#define QPN_H\n\n/**\n* @description\n* This header file must be included directly or indirectly\n* in all application modules (*.c files) that use QP-nano.\n*/\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#include \"qpn_conf.h\" /* QP-nano configuration file (from the application) */\n#include \"qfn_port.h\" /* QF-nano port from the port directory */\n#include \"qassert.h\"  /* embedded systems-friendly assertions */\n\n\n/****************************************************************************/\n/* QP API compatibility layer */\n#ifndef QP_API_VERSION\n\n/*! Macro that specifies the backwards compatibility with the\n* QP-nano API version.\n*/\n/**\n* @description\n* For example, QP_API_VERSION=450 will cause generating the compatibility\n* layer with QP-nano version 4.5.0 and newer, but not older than 4.5.0.\n* QP_API_VERSION=0 causes generation of the compatibility layer \"from the\n* begining of time\", which is the maximum backwards compatibilty. This is\n* the default.@n\n* @n\n* Conversely, QP_API_VERSION=9999 means that no compatibility layer should\n* be generated. This setting is useful for checking if an application\n* complies with the latest QP-nano API.\n*/\n#define QP_API_VERSION 0\n\n#endif  /* QP_API_VERSION */\n\n/****************************************************************************/\n#if (QP_API_VERSION < 580U)\n\n/*! @deprecated QMActive Control Block; instead use: ::QActiveCB. */\ntypedef QActiveCB QMActiveCB;\n\n/*! @deprecated QMActive; instead use: ::QActive. */\ntypedef QActive QMActive;\n\n/*! @deprecated QMsm state machine; instead use: ::QHsm. */\ntypedef QHsm QMsm;\n\n/*! @deprecated QMActive constructor; instead use: QActive_ctor() */\n#define QMActive_ctor QActive_ctor\n\n/*! @deprecated QMsm state machine constructor; instead use: QHsm_ctor() */\n#define QMsm_ctor     QHsm_ctor\n\n#endif /* QP_API_VERSION < 580U */\n/****************************************************************************/\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif  /* QPN_H */\n"
  },
  {
    "path": "include/qstamp.c",
    "content": "/**\n* @file\n* @brief Application build time-stamp\n* @note\n* This module needs to be re-compiled in every new software build. To achive\n* this, it is recommended to delete the object file (qstamp.o, or qstamp.obj)\n* in the build directory before each build. (Most development tools allow\n* you to specify a pre-build command, which is the ideal place to delete\n* the qstamp object file.)\n*/\n\nextern char const Q_BUILD_DATE[12];\nextern char const Q_BUILD_TIME[9];\n\n/*! the calendar date of the last translation of the form: \"Mmm dd yyyy\" */\nchar const Q_BUILD_DATE[12] = __DATE__;\n\n/*! the time of the last translation of the form: \"hh:mm:ss\" */\nchar const Q_BUILD_TIME[9] = __TIME__;\n"
  },
  {
    "path": "include/qvn.h",
    "content": "/**\n* @file\n* @brief Public QV-nano interface.\n* @ingroup qvn\n* @cond\n******************************************************************************\n* Last updated for version 6.6.0\n* Last updated on  2019-07-30\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QVN_H\n#define QVN_H\n\n/****************************************************************************/\n/*! Ready set of QV-nano. */\nextern uint_fast8_t volatile QV_readySet_;\n\n/*! QV idle callback (customized in BSPs for QK)\n*\n* QV_onIdle() is called continuously by the QV-nano scheduler. This callback\n* gives the application an opportunity to enter a power-saving CPU mode,\n* or perform some other idle processing.\n*\n* @note QV_onIdle() is invoked with interrupts disabled, but must return\n* with interrupts enabled. This is in contrast to the callback QK_onIdle(),\n* which is used by the preemptive QK-nano scheduler.\n*/\nvoid QV_onIdle(void);\n\n#endif /* QVN_H */\n"
  },
  {
    "path": "ports/README.url",
    "content": "[InternetShortcut]\nURL=http://www.state-machine.com/qpn/ports.html\nIconFile=http://www.state-machine.com/qp.ico\n"
  },
  {
    "path": "ports/arm-cm/README.url",
    "content": "[InternetShortcut]\nURL=http://www.state-machine.com/qpn/arm-cm.html\nIconFile=http://www.state-machine.com/qp.ico\n"
  },
  {
    "path": "ports/arm-cm/qk/arm/qfn_port.h",
    "content": "/**\n* @file\n* @brief QF-nano port ARM Cortex-M, preemptive QK-nano kernel, ARM-KEIL\n* @cond\n******************************************************************************\n* Last Updated for Version: 6.8.0\n* Date of the Last Update:  2020-03-31\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QFN_PORT_H\n#define QFN_PORT_H\n\n/*! no-return function specifier (not supported in ARM-Keil compiler 5) */\n#define Q_NORETURN   __declspec(noreturn) void\n\n/* QF interrupt disable/enable and log2()... */\n#if (__TARGET_ARCH_THUMB == 3) /* Cortex-M0/M0+/M1(v6-M, v6S-M)? */\n\n    /* Cortex-M0/M0+/M1(v6-M, v6S-M) interrupt disabling policy, see NOTE2 */\n    #define QF_INT_DISABLE()    __disable_irq()\n    #define QF_INT_ENABLE()     __enable_irq()\n\n    /* QF-aware ISR priority for CMSIS function NVIC_SetPriority(), NOTE1 */\n    #define QF_AWARE_ISR_CMSIS_PRI 0\n\n#else /* Cortex-M3/M4, see NOTE2 */\n\n    /* Cortex-M3/M4 alternative interrupt disabling with PRIMASK */\n    #define QF_PRIMASK_DISABLE() __disable_irq()\n    #define QF_PRIMASK_ENABLE()  __enable_irq()\n\n    /* Cortex-M3/M4 interrupt disabling policy */\n    #define QF_INT_DISABLE()     QF_set_BASEPRI(QF_BASEPRI)\n    #define QF_INT_ENABLE()      QF_set_BASEPRI(0U)\n\n    /* BASEPRI threshold for \"QF-aware\" interrupts, see NOTE2 */\n    #define QF_BASEPRI           0x3F\n\n    /* QF-aware ISR priority for CMSIS function NVIC_SetPriority(), NOTE3 */\n    #define QF_AWARE_ISR_CMSIS_PRI (QF_BASEPRI >> (8 - __NVIC_PRIO_BITS))\n\n    /* Cortex-M3/M4 provide the CLZ instruction for fast LOG2 */\n    #define QF_LOG2(n_) ((uint_fast8_t)(32U - __clz(n_)))\n\n    /* inline function for setting the BASEPRI register */\n    static __inline void QF_set_BASEPRI(unsigned basePri) {\n        register unsigned volatile __regBasePri __asm(\"basepri\");\n        __regBasePri = basePri;\n    }\n\n#endif\n\n/* interrupt nesting policy for ISR level (ISRs can nest) */\n#define QF_ISR_NEST\n\n/* QK-nano initialization and ISR entry/exit */\n#define QK_INIT() QK_init()\nvoid QK_init(void);\n\n#define QK_ISR_ENTRY() ((void)0)\n#define QK_ISR_EXIT()  do {                                               \\\n    QF_INT_DISABLE();                                                     \\\n    if (QK_sched_() !=0U) {                                               \\\n        (*Q_UINT2PTR_CAST(uint32_t, 0xE000ED04U) = (uint32_t)(1U << 28)); \\\n    }                                                                     \\\n    QF_INT_ENABLE();                                                      \\\n} while (false)\n\n#include <stdint.h>     /* Exact-width types. WG14/N843 C99 Standard */\n#include <stdbool.h>    /* Boolean type.      WG14/N843 C99 Standard */\n\n#include \"qepn.h\"       /* QEP-nano platform-independent public interface */\n#include \"qfn.h\"        /* QF-nano platform-independent public interface */\n#include \"qkn.h\"        /* QK-nano platform-independent public interface */\n\n/*****************************************************************************\n* NOTE1:\n* On Cortex-M0/M0+/M1 (architecture v6-M, v6S-M), the interrupt disabling\n* policy uses the PRIMASK register to disable interrupts globally. The\n* QF_AWARE_ISR_CMSIS_PRI level is zero, meaning that all interrupts are\n* \"kernel-aware\".\n*\n* NOTE2:\n* On Cortex-M3/M4, the interrupt disable/enable policy uses the BASEPRI\n* register (which is not implemented in Cortex-M0/M0+/M1) to disable\n* interrupts only with priority lower than the level specified by the\n* QF_BASEPRI macro. The interrupts with priorities above QF_BASEPRI (i.e.,\n* with numerical priority values lower than QF_BASEPRI) are not disabled in\n* this method. These free-running interrupts are not allowed to call any QF\n* services, because QF is not aware of these interrupts. Coversely, only\n* \"QF-aware\" interrupts, with numerical values of priorities eqal to or\n* higher than QF_BASEPRI, can call QF services.\n*\n* NOTE3:\n* The QF_AWARE_ISR_CMSIS_PRI macro is useful as an offset for enumerating\n* the QF-aware interrupt priority levels in the applications, whereas the\n* numerical values of the QF-aware interrupts must be greater or equal to\n* QF_AWARE_ISR_CMSIS_PRI. The enumerated values based on\n* QF_AWARE_ISR_CMSIS_PRI can be passed directly to the CMSIS function\n* NVIC_SetPriority(), which shifts them by (8 - __NVIC_PRIO_BITS) into the\n* correct bit position, while __NVIC_PRIO_BITS is the CMSIS macro defining\n* the number of implemented priority bits in the NVIC. Please note that\n* the macro QF_AWARE_ISR_CMSIS_PRI is intended only for applications and\n* is not used inside the QF port, which remains generic and not dependent\n* on the number of implemented priority bits in the NVIC.\n*/\n\n#endif /* QFN_PORT_H */\n\n"
  },
  {
    "path": "ports/arm-cm/qk/arm/qkn_port.c",
    "content": "/**\n* @file\n* @brief QK-nano port to ARM Cortex-M, ARM-KEIL toolset\n* @cond\n******************************************************************************\n* Last Updated for Version: 6.8.0\n* Date of the Last Update:  2020-03-31\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#include \"qpn_conf.h\" /* QP-nano configuration file (from the application) */\n#include \"qfn_port.h\" /* QF-nano port from the port directory */\n\n/* prototypes --------------------------------------------------------------*/\nvoid PendSV_Handler(void);\nvoid NMI_Handler(void);\nvoid Thread_ret(void);\n\n#define SCnSCB_ICTR  ((uint32_t volatile *)0xE000E004)\n#define SCB_SYSPRI   ((uint32_t volatile *)0xE000ED14)\n#define NVIC_IP      ((uint32_t volatile *)0xE000E400)\n#define NVIC_ICSR    0xE000ED04\n\n/*\n* Initialize the exception priorities and IRQ priorities to safe values.\n*\n* Description:\n* On Cortex-M3/M4, this QK port disables interrupts by means of the\n* BASEPRI register. However, this method cannot disable interrupt\n* priority zero, which is the default for all interrupts out of reset.\n* The following code changes the SysTick priority and all IRQ priorities\n* to the safe value QF_BASEPRI, wich the QF critical section can disable.\n* This avoids breaching of the QF critical sections in case the\n* application programmer forgets to explicitly set priorities of all\n* \"kernel aware\" interrupts.\n*\n* The interrupt priorities established in QK_init() can be later\n* changed by the application-level code.\n*/\nvoid QK_init(void) {\n\n#if (__TARGET_ARCH_THUMB != 3) /* NOT Cortex-M0/M0+/M1(v6-M, v6S-M) */\n\n    uint32_t n;\n\n    /* set exception priorities to QF_BASEPRI...\n    * SCB_SYSPRI1: Usage-fault, Bus-fault, Memory-fault\n    */\n    SCB_SYSPRI[1] |= (QF_BASEPRI << 16) | (QF_BASEPRI << 8) | QF_BASEPRI;\n\n    /* SCB_SYSPRI2: SVCall */\n    SCB_SYSPRI[2] |= (QF_BASEPRI << 24);\n\n    /* SCB_SYSPRI3:  SysTick, PendSV, Debug */\n    SCB_SYSPRI[3] |= (QF_BASEPRI << 24) | (QF_BASEPRI << 16) | QF_BASEPRI;\n\n    /* set all implemented IRQ priories to QF_BASEPRI... */\n    n = 8U + ((*SCnSCB_ICTR & 0x7U) << 3); /* (# NVIC_PRIO registers)/4 */\n    do {\n        --n;\n        NVIC_IP[n] = (QF_BASEPRI << 24) | (QF_BASEPRI << 16)\n                     | (QF_BASEPRI << 8) | QF_BASEPRI;\n    } while (n != 0);\n\n#endif /* NOT Cortex-M0/M0+/M1(v6-M, v6S-M) */\n\n    /* SCB_SYSPRI3: PendSV set to the lowest priority 0xFF */\n    SCB_SYSPRI[3] |= (0xFFU << 16);\n}\n\n/*****************************************************************************\n* The PendSV_Handler exception handler is used for handling context switch\n* and asynchronous preemption in QK. The use of the PendSV exception is\n* the recommended and most efficient method for performing context switches\n* with ARM Cortex-M.\n*\n* The PendSV exception should have the lowest priority in the whole system\n* (0xFF, see QK_init). All other exceptions and interrupts should have higher\n* priority. For example, for NVIC with 2 priority bits all interrupts and\n* exceptions must have numerical value of priority lower than 0xC0. In this\n* case the interrupt priority levels available to your applications are (in\n* the order from the lowest urgency to the highest urgency): 0x80, 0x40, 0x00.\n*\n* Also, *all* \"kernel aware\" ISRs in the QK application must call the\n* QK_ISR_EXIT() macro, which triggers PendSV when it detects a need for\n* a context switch or asynchronous preemption.\n*\n* Due to tail-chaining and its lowest priority, the PendSV exception will be\n* entered immediately after the exit from the *last* nested interrupt (or\n* exception). In QK, this is exactly the time when the QK activator needs to\n* handle the asynchronous preemption.\n*****************************************************************************/\n__asm void PendSV_Handler(void) {\n    IMPORT  QK_activate_      /* extern function */\n\n    PRESERVE8                 /* preserve the 8-byte stack alignment */\n\n    /* Prepare some constants in registers before entering critical section */\n    LDR     r3,=NVIC_ICSR     /* Interrupt Control and State Register */\n    MOVS    r1,#1\n    LSLS    r1,r1,#27         /* r0 := (1 << 27) (UNPENDSVSET bit) */\n\n    /*<<<<<<<<<<<<<<<<<<<<<<< CRITICAL SECTION BEGIN <<<<<<<<<<<<<<<<<<<<<<<<*/\n#if (__TARGET_ARCH_THUMB == 3) /* Cortex-M0/M0+/M1 (v6-M, v6S-M)? */\n    CPSID   i                 /* disable interrupts (set PRIMASK) */\n#else                         /* M3/M4/M7 */\n#if (__TARGET_FPU_VFP != 0)   /* if VFP available... */\n    PUSH    {r0,lr}           /* ... push lr (EXC_RETURN) plus stack-aligner */\n#endif                        /* VFP available */\n    MOVS    r0,#QF_BASEPRI\n    CPSID   i                 /* selectively disable interrutps with BASEPRI */\n    MSR     BASEPRI,r0        /* apply the workaround the Cortex-M7 erraturm */\n    CPSIE   i                 /* 837070, see ARM-EPM-064408. */\n#endif                        /* M3/M4/M7 */\n\n    /* The PendSV exception handler can be preempted by an interrupt,\n    * which might pend PendSV exception again. The following write to\n    * ICSR[27] un-pends any such spurious instance of PendSV.\n    */\n    STR     r1,[r3]           /* ICSR[27] := 1 (unpend PendSV) */\n\n    /* The QK activator must be called in a Thread mode, while this code\n    * executes in the Handler mode of the PendSV exception. The switch\n    * to the Thread mode is accomplished by returning from PendSV using\n    * a fabricated exception stack frame, where the return address is\n    * QK_activate_().\n    *\n    * NOTE: the QK activator is called with interrupts DISABLED and also\n    * returns with interrupts DISABLED.\n    */\n    LSRS    r3,r1,#3          /* r3 := (r1 >> 3), set the T bit (new xpsr) */\n    LDR     r2,=QK_activate_  /* address of QK_activate_ */\n    SUBS    r2,r2,#1          /* align Thumb-address at halfword (new pc) */\n    LDR     r1,=Thread_ret    /* return address after the call   (new lr) */\n\n    SUB     sp,sp,#8*4        /* reserve space for exception stack frame */\n    ADD     r0,sp,#5*4        /* r0 := 5 registers below the SP */\n    STM     r0!,{r1-r3}       /* save xpsr,pc,lr */\n\n    MOVS    r0,#6\n    MVNS    r0,r0             /* r0 := ~6 == 0xFFFFFFF9 */\n    BX      r0                /* exception-return to the QK activator */\n\n    ALIGN                     /* align the code to 4-byte boundary */\n}\n\n/*****************************************************************************\n* Thread_ret is a helper function executed when the QK activator returns.\n*\n* NOTE: Thread_ret does not execute in the PendSV context!\n* NOTE: Thread_ret executes entirely with interrupts DISABLED.\n*****************************************************************************/\n__asm void Thread_ret(void) {\n    /* After the QK activator returns, we need to resume the preempted\n    * thread. However, this must be accomplished by a return-from-exception,\n    * while we are still in the thread context. The switch to the exception\n    * contex is accomplished by triggering the NMI exception.\n    * NOTE: The NMI exception is triggered with nterrupts DISABLED,\n    * because QK activator disables interrutps before return.\n    */\n\n    PRESERVE8                 /* preserve the 8-byte stack alignment */\n\n    /* before triggering the NMI exception, make sure that the\n    * VFP stack frame will NOT be used...\n    */\n#if (__TARGET_FPU_VFP != 0)   /* if VFP available... */\n    MRS     r0,CONTROL        /* r0 := CONTROL */\n    BICS    r0,r0,#4          /* r0 := r0 & ~4 (FPCA bit) */\n    MSR     CONTROL,r0        /* CONTROL := r0 (clear CONTROL[2] FPCA bit) */\n    ISB                       /* ISB after MSR CONTROL (ARM AN321,Sect.4.16) */\n#endif                        /* VFP available */\n\n    /* trigger NMI to return to preempted task...\n    * NOTE: The NMI exception is triggered with nterrupts DISABLED\n    */\n    LDR     r0,=0xE000ED04    /* Interrupt Control and State Register */\n    MOVS    r1,#1\n    LSLS    r1,r1,#31         /* r1 := (1 << 31) (NMI bit) */\n    STR     r1,[r0]           /* ICSR[31] := 1 (pend NMI) */\n    B       .                 /* wait for preemption by NMI */\n\n    ALIGN                     /* align the code to 4-byte boundary */\n}\n\n/*****************************************************************************\n* The NMI_Handler exception handler is used for returning back to the\n* interrupted task. The NMI exception simply removes its own interrupt\n* stack frame from the stack and returns to the preempted task using the\n* interrupt stack frame that must be at the top of the stack.\n*\n* NOTE: The NMI exception is entered with interrupts DISABLED, so it needs\n* to re-enable interrupts before it returns to the preempted task.\n*****************************************************************************/\n__asm void NMI_Handler(void) {\n\n    PRESERVE8                 /* preserve the 8-byte stack alignment */\n\n    ADD     sp,sp,#(8*4)      /* remove one 8-register exception frame */\n\n#if (__TARGET_ARCH_THUMB == 3) /* Cortex-M0/M0+/M1 (v6-M, v6S-M)? */\n    CPSIE   i                 /* enable interrupts (clear PRIMASK) */\n    BX      lr                /* return to the preempted task */\n#else                         /* M3/M4/M7 */\n    MOVS    r0,#0\n    MSR     BASEPRI,r0        /* enable interrupts (clear BASEPRI) */\n#if (__TARGET_FPU_VFP != 0)   /* if VFP available... */\n    POP     {r0,pc}           /* pop stack \"aligner\" and EXC_RETURN to PC */\n#else                         /* no VFP */\n    BX      lr                /* return to the preempted task */\n#endif                        /* no VFP */\n#endif                        /* M3/M4/M7 */\n\n    ALIGN                     /* align the code to 4-byte boundary */\n}\n\n"
  },
  {
    "path": "ports/arm-cm/qk/armclang/qfn_port.h",
    "content": "/**\n* @file\n* @brief QF-nano port ARM Cortex-M, preemptive QK-nano kernel, ARM-CLANG\n* @cond\n******************************************************************************\n* Last Updated for Version: 6.8.0\n* Date of the Last Update:  2020-03-31\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QFN_PORT_H\n#define QFN_PORT_H\n\n/*! no-return function specifier (ARM-Clang/LLVM compiler) */\n#define Q_NORETURN   __attribute__ ((noreturn)) void\n\n/* QF interrupt disable/enable and log2()... */\n#if (__ARM_ARCH == 6) /* Cortex-M0/M0+/M1 ?, see NOTE1 */\n\n    /* Cortex-M0/M0+/M1(v6-M, v6S-M) interrupt disabling policy, see NOTE2 */\n    #define QF_INT_DISABLE()    __asm volatile (\"cpsid i\")\n    #define QF_INT_ENABLE()     __asm volatile (\"cpsie i\")\n\n    /* QF-aware ISR priority for CMSIS function NVIC_SetPriority(), NOTE1 */\n    #define QF_AWARE_ISR_CMSIS_PRI 0\n\n#else /* Cortex-M3/M4, see NOTE2 */\n\n    /* Cortex-M3/M4 alternative interrupt disabling with PRIMASK */\n    #define QF_PRIMASK_DISABLE() __asm volatile (\"cpsid i\")\n    #define QF_PRIMASK_ENABLE()  __asm volatile (\"cpsie i\")\n\n    /* Cortex-M3/M4 interrupt disabling policy */\n    #define QF_INT_DISABLE()     QF_SET_BASEPRI(QF_BASEPRI)\n    #define QF_INT_ENABLE()      QF_SET_BASEPRI(0U)\n\n    /* BASEPRI threshold for \"QF-aware\" interrupts, see NOTE2 */\n    #define QF_BASEPRI           0x3F\n\n    /* QF-aware ISR priority for CMSIS function NVIC_SetPriority(), NOTE3 */\n    #define QF_AWARE_ISR_CMSIS_PRI (QF_BASEPRI >> (8 - __NVIC_PRIO_BITS))\n\n    /* Cortex-M3/M4 provide the CLZ instruction for fast LOG2 */\n    #define QF_LOG2(n_) ((uint_fast8_t)(32U - __builtin_clz(n_)))\n\n    /* macro for setting the BASEPRI register */\n    #define QF_SET_BASEPRI(basepri_) __asm volatile (\\\n        \"msr BASEPRI,%0\" :: \"r\" (basepri_) : )\n#endif\n\n/* interrupt nesting policy for ISR level (ISRs can nest) */\n#define QF_ISR_NEST\n\n/* QK-nano initialization and ISR entry/exit */\n#define QK_INIT() QK_init()\nvoid QK_init(void);\n\n#define QK_ISR_ENTRY() ((void)0)\n#define QK_ISR_EXIT()  do {                                               \\\n    QF_INT_DISABLE();                                                     \\\n    if (QK_sched_() != 0U) {                                              \\\n        (*Q_UINT2PTR_CAST(uint32_t, 0xE000ED04U) = (uint32_t)(1U << 28)); \\\n    }                                                                     \\\n    QF_INT_ENABLE();                                                      \\\n} while (false)\n\n#include <stdint.h>     /* Exact-width types. WG14/N843 C99 Standard */\n#include <stdbool.h>    /* Boolean type.      WG14/N843 C99 Standard */\n\n#include \"qepn.h\"       /* QEP-nano platform-independent public interface */\n#include \"qfn.h\"        /* QF-nano platform-independent public interface */\n#include \"qkn.h\"        /* QK-nano platform-independent public interface */\n\n/*****************************************************************************\n* NOTE1:\n* On Cortex-M0/M0+/M1 (architecture v6-M, v6S-M), the interrupt disabling\n* policy uses the PRIMASK register to disable interrupts globally. The\n* QF_AWARE_ISR_CMSIS_PRI level is zero, meaning that all interrupts are\n* \"kernel-aware\".\n*\n* NOTE2:\n* On Cortex-M3/M4, the interrupt disable/enable policy uses the BASEPRI\n* register (which is not implemented in Cortex-M0/M0+/M1) to disable\n* interrupts only with priority lower than the level specified by the\n* QF_BASEPRI macro. The interrupts with priorities above QF_BASEPRI (i.e.,\n* with numerical priority values lower than QF_BASEPRI) are not disabled in\n* this method. These free-running interrupts are not allowed to call any QF\n* services, because QF is not aware of these interrupts. Coversely, only\n* \"QF-aware\" interrupts, with numerical values of priorities eqal to or\n* higher than QF_BASEPRI, can call QF services.\n*\n* NOTE3:\n* The QF_AWARE_ISR_CMSIS_PRI macro is useful as an offset for enumerating\n* the QF-aware interrupt priority levels in the applications, whereas the\n* numerical values of the QF-aware interrupts must be greater or equal to\n* QF_AWARE_ISR_CMSIS_PRI. The enumerated values based on\n* QF_AWARE_ISR_CMSIS_PRI can be passed directly to the CMSIS function\n* NVIC_SetPriority(), which shifts them by (8 - __NVIC_PRIO_BITS) into the\n* correct bit position, while __NVIC_PRIO_BITS is the CMSIS macro defining\n* the number of implemented priority bits in the NVIC. Please note that\n* the macro QF_AWARE_ISR_CMSIS_PRI is intended only for applications and\n* is not used inside the QF port, which remains generic and not dependent\n* on the number of implemented priority bits in the NVIC.\n*/\n\n#endif /* QFN_PORT_H */\n\n"
  },
  {
    "path": "ports/arm-cm/qk/armclang/qkn_port.c",
    "content": "/**\n* @file\n* @brief QK-nano port to ARM Cortex-M, ARM-CLANG toolset\n* @cond\n******************************************************************************\n* Last Updated for Version: 6.8.0\n* Date of the Last Update:  2020-03-31\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#include \"qpn_conf.h\" /* QP-nano configuration file (from the application) */\n#include \"qfn_port.h\" /* QF-nano port from the port directory */\n\n/* prototypes --------------------------------------------------------------*/\nvoid PendSV_Handler(void);\nvoid NMI_Handler(void);\nvoid Thread_ret(void);\n\n#define SCnSCB_ICTR  ((uint32_t volatile *)0xE000E004)\n#define SCB_SYSPRI   ((uint32_t volatile *)0xE000ED14)\n#define NVIC_IP      ((uint32_t volatile *)0xE000E400)\n#define NVIC_ICSR    0xE000ED04\n\n/* helper macros to \"stringify\" values */\n#define VAL(x) #x\n#define STRINGIFY(x) VAL(x)\n\n/*\n* Initialize the exception priorities and IRQ priorities to safe values.\n*\n* Description:\n* On Cortex-M3/M4, this QK port disables interrupts by means of the\n* BASEPRI register. However, this method cannot disable interrupt\n* priority zero, which is the default for all interrupts out of reset.\n* The following code changes the SysTick priority and all IRQ priorities\n* to the safe value QF_BASEPRI, wich the QF critical section can disable.\n* This avoids breaching of the QF critical sections in case the\n* application programmer forgets to explicitly set priorities of all\n* \"kernel aware\" interrupts.\n*\n* The interrupt priorities established in QK_init() can be later\n* changed by the application-level code.\n*/\nvoid QK_init(void) {\n\n#if (__ARM_ARCH != 6) /* NOT Cortex-M0/M0+/M1 ? */\n\n    uint32_t n;\n\n    /* set exception priorities to QF_BASEPRI...\n    * SCB_SYSPRI1: Usage-fault, Bus-fault, Memory-fault\n    */\n    SCB_SYSPRI[1] |= (QF_BASEPRI << 16) | (QF_BASEPRI << 8) | QF_BASEPRI;\n\n    /* SCB_SYSPRI2: SVCall */\n    SCB_SYSPRI[2] |= (QF_BASEPRI << 24);\n\n    /* SCB_SYSPRI3:  SysTick, PendSV, Debug */\n    SCB_SYSPRI[3] |= (QF_BASEPRI << 24) | (QF_BASEPRI << 16) | QF_BASEPRI;\n\n    /* set all implemented IRQ priories to QF_BASEPRI... */\n    n = 8U + ((*SCnSCB_ICTR & 0x7U) << 3); /* (# NVIC_PRIO registers)/4 */\n    do {\n        --n;\n        NVIC_IP[n] = (QF_BASEPRI << 24) | (QF_BASEPRI << 16)\n                     | (QF_BASEPRI << 8) | QF_BASEPRI;\n    } while (n != 0);\n\n#endif /* NOT Cortex-M0/M0+/M1(v6-M, v6S-M) */\n\n    /* SCB_SYSPRI3: PendSV set to the lowest priority 0xFF */\n    SCB_SYSPRI[3] |= (0xFFU << 16);\n}\n\n/*****************************************************************************\n* The PendSV_Handler exception handler is used for handling context switch\n* and asynchronous preemption in QK. The use of the PendSV exception is\n* the recommended and most efficient method for performing context switches\n* with ARM Cortex-M.\n*\n* The PendSV exception should have the lowest priority in the whole system\n* (0xFF, see QK_init). All other exceptions and interrupts should have higher\n* priority. For example, for NVIC with 2 priority bits all interrupts and\n* exceptions must have numerical value of priority lower than 0xC0. In this\n* case the interrupt priority levels available to your applications are (in\n* the order from the lowest urgency to the highest urgency): 0x80, 0x40, 0x00.\n*\n* Also, *all* \"kernel aware\" ISRs in the QK application must call the\n* QK_ISR_EXIT() macro, which triggers PendSV when it detects a need for\n* a context switch or asynchronous preemption.\n*\n* Due to tail-chaining and its lowest priority, the PendSV exception will be\n* entered immediately after the exit from the *last* nested interrupt (or\n* exception). In QK, this is exactly the time when the QK activator needs to\n* handle the asynchronous preemption.\n*****************************************************************************/\n__attribute__ ((naked))\nvoid PendSV_Handler(void) {\n__asm volatile (\n\n    /* Prepare constants in registers before entering critical section */\n    \"  LDR     r3,=\" STRINGIFY(NVIC_ICSR) \"\\n\" /* Interrupt Control and State */\n    \"  MOVS    r1,#1            \\n\"\n    \"  LSLS    r1,r1,#27        \\n\" /* r0 := (1 << 27) (UNPENDSVSET bit) */\n\n    /*<<<<<<<<<<<<<<<<<<<<<<< CRITICAL SECTION BEGIN <<<<<<<<<<<<<<<<<<<<<<<<*/\n#if (__ARM_ARCH == 6)               /* Cortex-M0/M0+/M1 (v6-M, v6S-M)? */\n    \"  CPSID   i                \\n\" /* disable interrupts (set PRIMASK) */\n#else                               /* M3/M4/M7 */\n#if (__ARM_FP != 0)                 /* if VFP available... */\n    \"  PUSH    {r0,lr}          \\n\" /* ... push lr plus stack-aligner */\n#endif                              /* VFP available */\n    \"  MOVS    r0,#\" STRINGIFY(QF_BASEPRI) \"\\n\"\n    \"  CPSID   i                \\n\" /* disable interrutps with BASEPRI */\n    \"  MSR     BASEPRI,r0       \\n\" /* apply the Cortex-M7 erraturm */\n    \"  CPSIE   i                \\n\" /* 837070, see ARM-EPM-064408. */\n#endif                              /* M3/M4/M7 */\n\n    /* The PendSV exception handler can be preempted by an interrupt,\n    * which might pend PendSV exception again. The following write to\n    * ICSR[27] un-pends any such spurious instance of PendSV.\n    */\n    \"  STR     r1,[r3]          \\n\" /* ICSR[27] := 1 (unpend PendSV) */\n\n    /* The QK activator must be called in a Thread mode, while this code\n    * executes in the Handler mode of the PendSV exception. The switch\n    * to the Thread mode is accomplished by returning from PendSV using\n    * a fabricated exception stack frame, where the return address is\n    * QK_activate_().\n    *\n    * NOTE: the QK activator is called with interrupts DISABLED and also\n    * returns with interrupts DISABLED.\n    */\n    \"  LSRS    r3,r1,#3         \\n\" /* r3 := (r1 >> 3), set the T bit (new xpsr) */\n    \"  LDR     r2,=QK_activate_ \\n\" /* address of QK_activate_ */\n    \"  SUBS    r2,r2,#1         \\n\" /* align Thumb-address at halfword (new pc) */\n    \"  LDR     r1,=Thread_ret   \\n\" /* return address after the call   (new lr) */\n\n    \"  SUB     sp,sp,#8*4       \\n\" /* reserve space for exception stack frame */\n    \"  ADD     r0,sp,#5*4       \\n\" /* r0 := 5 registers below the SP */\n    \"  STM     r0!,{r1-r3}      \\n\" /* save xpsr,pc,lr */\n\n    \"  MOVS    r0,#6            \\n\"\n    \"  MVNS    r0,r0            \\n\" /* r0 := ~6 == 0xFFFFFFF9 */\n    \"  BX      r0               \\n\" /* exception-return to the QK activator */\n    );\n}\n\n/*****************************************************************************\n* Thread_ret is a helper function executed when the QK activator returns.\n*\n* NOTE: Thread_ret does not execute in the PendSV context!\n* NOTE: Thread_ret executes entirely with interrupts DISABLED.\n*****************************************************************************/\n__attribute__ ((naked))\nvoid Thread_ret(void) {\n__asm volatile (\n\n    /* After the QK activator returns, we need to resume the preempted\n    * thread. However, this must be accomplished by a return-from-exception,\n    * while we are still in the thread context. The switch to the exception\n    * contex is accomplished by triggering the NMI exception.\n    * NOTE: The NMI exception is triggered with nterrupts DISABLED,\n    * because QK activator disables interrutps before return.\n    */\n\n    /* before triggering the NMI exception, make sure that the\n    * VFP stack frame will NOT be used...\n    */\n#if (__ARM_FP != 0)                 /* if VFP available... */\n    \"  MRS     r0,CONTROL       \\n\" /* r0 := CONTROL */\n    \"  BICS    r0,r0,#4         \\n\" /* r0 := r0 & ~4 (FPCA bit) */\n    \"  MSR     CONTROL,r0       \\n\" /* CONTROL := r0 (clear CONTROL[2] FPCA bit) */\n    \"  ISB                      \\n\" /* ISB after MSR CONTROL (ARM AN321,Sect.4.16) */\n#endif                              /* VFP available */\n\n    /* trigger NMI to return to preempted task...\n    * NOTE: The NMI exception is triggered with nterrupts DISABLED\n    */\n    \"  LDR     r0,=0xE000ED04   \\n\" /* Interrupt Control and State Register */\n    \"  MOVS    r1,#1            \\n\"\n    \"  LSLS    r1,r1,#31        \\n\" /* r1 := (1 << 31) (NMI bit) */\n    \"  STR     r1,[r0]          \\n\" /* ICSR[31] := 1 (pend NMI) */\n    \"  B       .                \\n\" /* wait for preemption by NMI */\n    );\n}\n\n/*****************************************************************************\n* The NMI_Handler exception handler is used for returning back to the\n* interrupted task. The NMI exception simply removes its own interrupt\n* stack frame from the stack and returns to the preempted task using the\n* interrupt stack frame that must be at the top of the stack.\n*\n* NOTE: The NMI exception is entered with interrupts DISABLED, so it needs\n* to re-enable interrupts before it returns to the preempted task.\n*****************************************************************************/\n__attribute__ ((naked))\nvoid NMI_Handler(void) {\n__asm volatile (\n\n    \"  ADD     sp,sp,#(8*4)     \\n\" /* remove one 8-register exception frame */\n\n#if (__ARM_ARCH == 6)               /* Cortex-M0/M0+/M1 (v6-M, v6S-M)? */\n    \"  CPSIE   i                \\n\" /* enable interrupts (clear PRIMASK) */\n    \"  BX      lr               \\n\" /* return to the preempted task */\n#else                               /* M3/M4/M7 */\n    \"  MOVS    r0,#0            \\n\"\n    \"  MSR     BASEPRI,r0       \\n\" /* enable interrupts (clear BASEPRI) */\n#if (__ARM_FP != 0)                 /* if VFP available... */\n    \"  POP     {r0,pc}          \\n\" /* pop stack aligner and EXC_RETURN to PC */\n#else                               /* no VFP */\n    \"  BX      lr               \\n\" /* return to the preempted task */\n#endif                              /* no VFP */\n#endif                              /* M3/M4/M7 */\n    );\n}\n\n"
  },
  {
    "path": "ports/arm-cm/qk/gnu/qfn_port.h",
    "content": "/**\n* @file\n* @brief QF-nano port ARM Cortex-M, preemptive QK-nano kernel, GNU-ARM\n* @cond\n******************************************************************************\n* Last Updated for Version: 6.8.0\n* Date of the Last Update:  2020-03-31\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QFN_PORT_H\n#define QFN_PORT_H\n\n/* GNU-ARM function attribute for \"no-return\" function */\n#define Q_NORETURN   __attribute__ ((noreturn)) void\n\n/* QF interrupt disable/enable and log2()... */\n#if (__ARM_ARCH == 6) /* Cortex-M0/M0+/M1 ?, see NOTE1 */\n\n    /* Cortex-M0/M0+/M1(v6-M, v6S-M) interrupt disabling policy, see NOTE2 */\n    #define QF_INT_DISABLE()    __asm volatile (\"cpsid i\")\n    #define QF_INT_ENABLE()     __asm volatile (\"cpsie i\")\n\n    /* QF-aware ISR priority for CMSIS function NVIC_SetPriority(), NOTE1 */\n    #define QF_AWARE_ISR_CMSIS_PRI 0\n\n#else /* Cortex-M3/M4, see NOTE2 */\n\n    /* Cortex-M3/M4 alternative interrupt disabling with PRIMASK */\n    #define QF_PRIMASK_DISABLE() __asm volatile (\"cpsid i\")\n    #define QF_PRIMASK_ENABLE()  __asm volatile (\"cpsie i\")\n\n    /* Cortex-M3/M4 interrupt disabling policy */\n    #define QF_INT_DISABLE()     QF_SET_BASEPRI(QF_BASEPRI)\n    #define QF_INT_ENABLE()      QF_SET_BASEPRI(0U)\n\n    /* BASEPRI threshold for \"QF-aware\" interrupts, see NOTE2 */\n    #define QF_BASEPRI           0x3F\n\n    /* QF-aware ISR priority for CMSIS function NVIC_SetPriority(), NOTE3 */\n    #define QF_AWARE_ISR_CMSIS_PRI (QF_BASEPRI >> (8 - __NVIC_PRIO_BITS))\n\n    /* Cortex-M3/M4 provide the CLZ instruction for fast LOG2 */\n    #define QF_LOG2(n_) ((uint_fast8_t)(32U - __builtin_clz(n_)))\n\n    /* macro for setting the BASEPRI register */\n    #define QF_SET_BASEPRI(basepri_) __asm volatile (\\\n        \"msr BASEPRI,%0\" :: \"r\" (basepri_) : )\n#endif\n\n/* interrupt nesting policy for ISR level (ISRs can nest) */\n#define QF_ISR_NEST\n\n/* QK-nano initialization and ISR entry/exit */\n#define QK_INIT() QK_init()\nvoid QK_init(void);\n\n#define QK_ISR_ENTRY() ((void)0)\n#define QK_ISR_EXIT()  do {                                               \\\n    QF_INT_DISABLE();                                                     \\\n    if (QK_sched_() != 0U) {                                              \\\n        (*Q_UINT2PTR_CAST(uint32_t, 0xE000ED04U) = (uint32_t)(1U << 28)); \\\n    }                                                                     \\\n    QF_INT_ENABLE();                                                      \\\n} while (false)\n\n#include <stdint.h>     /* Exact-width types. WG14/N843 C99 Standard */\n#include <stdbool.h>    /* Boolean type.      WG14/N843 C99 Standard */\n\n#include \"qepn.h\"       /* QEP-nano platform-independent public interface */\n#include \"qfn.h\"        /* QF-nano platform-independent public interface */\n#include \"qkn.h\"        /* QK-nano platform-independent public interface */\n\n/*****************************************************************************\n* NOTE1:\n* On Cortex-M0/M0+/M1 (architecture v6-M, v6S-M), the interrupt disabling\n* policy uses the PRIMASK register to disable interrupts globally. The\n* QF_AWARE_ISR_CMSIS_PRI level is zero, meaning that all interrupts are\n* \"kernel-aware\".\n*\n* NOTE2:\n* On Cortex-M3/M4, the interrupt disable/enable policy uses the BASEPRI\n* register (which is not implemented in Cortex-M0/M0+/M1) to disable\n* interrupts only with priority lower than the level specified by the\n* QF_BASEPRI macro. The interrupts with priorities above QF_BASEPRI (i.e.,\n* with numerical priority values lower than QF_BASEPRI) are not disabled in\n* this method. These free-running interrupts are not allowed to call any QF\n* services, because QF is not aware of these interrupts. Coversely, only\n* \"QF-aware\" interrupts, with numerical values of priorities eqal to or\n* higher than QF_BASEPRI, can call QF services.\n*\n* NOTE3:\n* The QF_AWARE_ISR_CMSIS_PRI macro is useful as an offset for enumerating\n* the QF-aware interrupt priority levels in the applications, whereas the\n* numerical values of the QF-aware interrupts must be greater or equal to\n* QF_AWARE_ISR_CMSIS_PRI. The enumerated values based on\n* QF_AWARE_ISR_CMSIS_PRI can be passed directly to the CMSIS function\n* NVIC_SetPriority(), which shifts them by (8 - __NVIC_PRIO_BITS) into the\n* correct bit position, while __NVIC_PRIO_BITS is the CMSIS macro defining\n* the number of implemented priority bits in the NVIC. Please note that\n* the macro QF_AWARE_ISR_CMSIS_PRI is intended only for applications and\n* is not used inside the QF port, which remains generic and not dependent\n* on the number of implemented priority bits in the NVIC.\n*/\n\n#endif /* QFN_PORT_H */\n\n"
  },
  {
    "path": "ports/arm-cm/qk/gnu/qkn_port.c",
    "content": "/**\n* @file\n* @brief QK-nano port to ARM Cortex-M, GNU-ARM toolset\n* @cond\n******************************************************************************\n* Last Updated for Version: 6.8.0\n* Date of the Last Update:  2020-03-31\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#include \"qpn_conf.h\" /* QP-nano configuration file (from the application) */\n#include \"qfn_port.h\" /* QF-nano port from the port directory */\n\n/* prototypes --------------------------------------------------------------*/\nvoid PendSV_Handler(void);\nvoid NMI_Handler(void);\nvoid Thread_ret(void);\n\n#define SCnSCB_ICTR  ((uint32_t volatile *)0xE000E004)\n#define SCB_SYSPRI   ((uint32_t volatile *)0xE000ED14)\n#define NVIC_IP      ((uint32_t volatile *)0xE000E400)\n#define NVIC_ICSR    0xE000ED04\n\n/* helper macros to \"stringify\" values */\n#define VAL(x) #x\n#define STRINGIFY(x) VAL(x)\n\n/*\n* Initialize the exception priorities and IRQ priorities to safe values.\n*\n* Description:\n* On Cortex-M3/M4, this QK port disables interrupts by means of the\n* BASEPRI register. However, this method cannot disable interrupt\n* priority zero, which is the default for all interrupts out of reset.\n* The following code changes the SysTick priority and all IRQ priorities\n* to the safe value QF_BASEPRI, wich the QF critical section can disable.\n* This avoids breaching of the QF critical sections in case the\n* application programmer forgets to explicitly set priorities of all\n* \"kernel aware\" interrupts.\n*\n* The interrupt priorities established in QK_init() can be later\n* changed by the application-level code.\n*/\nvoid QK_init(void) {\n\n#if (__ARM_ARCH != 6) /* NOT Cortex-M0/M0+/M1 (v6-M, v6S-M)? */\n\n    uint32_t n;\n\n    /* set exception priorities to QF_BASEPRI...\n    * SCB_SYSPRI1: Usage-fault, Bus-fault, Memory-fault\n    */\n    SCB_SYSPRI[1] |= (QF_BASEPRI << 16) | (QF_BASEPRI << 8) | QF_BASEPRI;\n\n    /* SCB_SYSPRI2: SVCall */\n    SCB_SYSPRI[2] |= (QF_BASEPRI << 24);\n\n    /* SCB_SYSPRI3:  SysTick, PendSV, Debug */\n    SCB_SYSPRI[3] |= (QF_BASEPRI << 24) | (QF_BASEPRI << 16) | QF_BASEPRI;\n\n    /* set all implemented IRQ priories to QF_BASEPRI... */\n    n = 8U + ((*SCnSCB_ICTR & 0x7U) << 3); /* (# NVIC_PRIO registers)/4 */\n    do {\n        --n;\n        NVIC_IP[n] = (QF_BASEPRI << 24) | (QF_BASEPRI << 16)\n                     | (QF_BASEPRI << 8) | QF_BASEPRI;\n    } while (n != 0);\n\n#endif /* NOT Cortex-M0/M0+/M1(v6-M, v6S-M) */\n\n    /* SCB_SYSPRI3: PendSV set to the lowest priority 0xFF */\n    SCB_SYSPRI[3] |= (0xFFU << 16);\n}\n\n/*****************************************************************************\n* The PendSV_Handler exception handler is used for handling context switch\n* and asynchronous preemption in QK. The use of the PendSV exception is\n* the recommended and most efficient method for performing context switches\n* with ARM Cortex-M.\n*\n* The PendSV exception should have the lowest priority in the whole system\n* (0xFF, see QK_init). All other exceptions and interrupts should have higher\n* priority. For example, for NVIC with 2 priority bits all interrupts and\n* exceptions must have numerical value of priority lower than 0xC0. In this\n* case the interrupt priority levels available to your applications are (in\n* the order from the lowest urgency to the highest urgency): 0x80, 0x40, 0x00.\n*\n* Also, *all* \"kernel aware\" ISRs in the QK application must call the\n* QK_ISR_EXIT() macro, which triggers PendSV when it detects a need for\n* a context switch or asynchronous preemption.\n*\n* Due to tail-chaining and its lowest priority, the PendSV exception will be\n* entered immediately after the exit from the *last* nested interrupt (or\n* exception). In QK, this is exactly the time when the QK activator needs to\n* handle the asynchronous preemption.\n*\n* NOTE:\n* The inline GNU assembler does not accept mnemonics MOVS, LSRS and ADDS,\n* but for Cortex-M0/M0+/M1 the mnemonics MOV, LSR and ADD always set the\n* condition flags in the PSR.\n*****************************************************************************/\n__attribute__ ((naked, optimize(\"-fno-stack-protector\")))\nvoid PendSV_Handler(void) {\n__asm volatile (\n\n    /* Prepare constants in registers before entering critical section */\n    \"  LDR     r3,=\" STRINGIFY(NVIC_ICSR) \"\\n\" /* Interrupt Control and State */\n    \"  MOV     r1,#1            \\n\"\n    \"  LSL     r1,r1,#27        \\n\" /* r0 := (1 << 27) (UNPENDSVSET bit) */\n\n    /*<<<<<<<<<<<<<<<<<<<<<<< CRITICAL SECTION BEGIN <<<<<<<<<<<<<<<<<<<<<<<<*/\n#if (__ARM_ARCH == 6)               /* Cortex-M0/M0+/M1 (v6-M, v6S-M)? */\n    \"  CPSID   i                \\n\" /* disable interrupts (set PRIMASK) */\n#else                               /* M3/M4/M7 */\n#if (__ARM_FP != 0)                 /* if VFP available... */\n    \"  PUSH    {r0,lr}          \\n\" /* ... push lr plus stack-aligner */\n#endif                              /* VFP available */\n    \"  MOV     r0,#\" STRINGIFY(QF_BASEPRI) \"\\n\"\n    \"  CPSID   i                \\n\" /* disable interrutps with BASEPRI */\n    \"  MSR     BASEPRI,r0       \\n\" /* apply the Cortex-M7 erraturm */\n    \"  CPSIE   i                \\n\" /* 837070, see ARM-EPM-064408. */\n#endif                              /* M3/M4/M7 */\n\n    /* The PendSV exception handler can be preempted by an interrupt,\n    * which might pend PendSV exception again. The following write to\n    * ICSR[27] un-pends any such spurious instance of PendSV.\n    */\n    \"  STR     r1,[r3]          \\n\" /* ICSR[27] := 1 (unpend PendSV) */\n\n    /* The QK activator must be called in a Thread mode, while this code\n    * executes in the Handler mode of the PendSV exception. The switch\n    * to the Thread mode is accomplished by returning from PendSV using\n    * a fabricated exception stack frame, where the return address is\n    * QK_activate_().\n    *\n    * NOTE: the QK activator is called with interrupts DISABLED and also\n    * returns with interrupts DISABLED.\n    */\n    \"  LSR     r3,r1,#3         \\n\" /* r3 := (r1 >> 3), set the T bit (new xpsr) */\n    \"  LDR     r2,=QK_activate_ \\n\" /* address of QK_activate_ */\n    \"  SUB     r2,r2,#1         \\n\" /* align Thumb-address at halfword (new pc) */\n    \"  LDR     r1,=Thread_ret   \\n\" /* return address after the call   (new lr) */\n\n    \"  SUB     sp,sp,#8*4       \\n\" /* reserve space for exception stack frame */\n    \"  ADD     r0,sp,#5*4       \\n\" /* r0 := 5 registers below the SP */\n    \"  STM     r0!,{r1-r3}      \\n\" /* save xpsr,pc,lr */\n\n    \"  MOV     r0,#6            \\n\"\n    \"  MVN     r0,r0            \\n\" /* r0 := ~6 == 0xFFFFFFF9 */\n    \"  BX      r0               \\n\" /* exception-return to the QK activator */\n    );\n}\n\n/*****************************************************************************\n* Thread_ret is a helper function executed when the QK activator returns.\n*\n* NOTE: Thread_ret does not execute in the PendSV context!\n* NOTE: Thread_ret executes entirely with interrupts DISABLED.\n*****************************************************************************/\n__attribute__ ((naked, optimize(\"-fno-stack-protector\")))\nvoid Thread_ret(void) {\n__asm volatile (\n\n    /* After the QK activator returns, we need to resume the preempted\n    * thread. However, this must be accomplished by a return-from-exception,\n    * while we are still in the thread context. The switch to the exception\n    * contex is accomplished by triggering the NMI exception.\n    * NOTE: The NMI exception is triggered with nterrupts DISABLED,\n    * because QK activator disables interrutps before return.\n    */\n\n    /* before triggering the NMI exception, make sure that the\n    * VFP stack frame will NOT be used...\n    */\n#if (__ARM_FP != 0)                 /* if VFP available... */\n    \"  MRS     r0,CONTROL       \\n\" /* r0 := CONTROL */\n    \"  BICS    r0,r0,#4         \\n\" /* r0 := r0 & ~4 (FPCA bit) */\n    \"  MSR     CONTROL,r0       \\n\" /* CONTROL := r0 (clear CONTROL[2] FPCA bit) */\n    \"  ISB                      \\n\" /* ISB after MSR CONTROL (ARM AN321,Sect.4.16) */\n#endif                              /* VFP available */\n\n    /* trigger NMI to return to preempted task...\n    * NOTE: The NMI exception is triggered with nterrupts DISABLED\n    */\n    \"  LDR     r0,=0xE000ED04   \\n\" /* Interrupt Control and State Register */\n    \"  MOV     r1,#1            \\n\"\n    \"  LSL     r1,r1,#31        \\n\" /* r1 := (1 << 31) (NMI bit) */\n    \"  STR     r1,[r0]          \\n\" /* ICSR[31] := 1 (pend NMI) */\n    \"  B       .                \\n\" /* wait for preemption by NMI */\n    );\n}\n\n/*****************************************************************************\n* The NMI_Handler exception handler is used for returning back to the\n* interrupted task. The NMI exception simply removes its own interrupt\n* stack frame from the stack and returns to the preempted task using the\n* interrupt stack frame that must be at the top of the stack.\n*\n* NOTE: The NMI exception is entered with interrupts DISABLED, so it needs\n* to re-enable interrupts before it returns to the preempted task.\n*****************************************************************************/\n__attribute__ ((naked, optimize(\"-fno-stack-protector\")))\nvoid NMI_Handler(void) {\n__asm volatile (\n\n    \"  ADD     sp,sp,#(8*4)     \\n\" /* remove one 8-register exception frame */\n\n#if (__ARM_ARCH == 6)               /* Cortex-M0/M0+/M1 (v6-M, v6S-M)? */\n    \"  CPSIE   i                \\n\" /* enable interrupts (clear PRIMASK) */\n    \"  BX      lr               \\n\" /* return to the preempted task */\n#else                               /* M3/M4/M7 */\n    \"  MOV     r0,#0            \\n\"\n    \"  MSR     BASEPRI,r0       \\n\" /* enable interrupts (clear BASEPRI) */\n#if (__ARM_FP != 0)                 /* if VFP available... */\n    \"  POP     {r0,pc}          \\n\" /* pop stack aligner and EXC_RETURN to PC */\n#else                               /* no VFP */\n    \"  BX      lr               \\n\" /* return to the preempted task */\n#endif                              /* no VFP */\n#endif                              /* M3/M4/M7 */\n    );\n}\n\n"
  },
  {
    "path": "ports/arm-cm/qk/iar/qfn_port.h",
    "content": "/**\n* @file\n* @brief QF-nano port ARM Cortex-M, preemptive QK-nano kernel, IAR-ARM\n* @cond\n******************************************************************************\n* Last Updated for Version: 6.8.0\n* Date of the Last Update:  2020-03-31\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QFN_PORT_H\n#define QFN_PORT_H\n\n/*! no-return function specifier (IAR compiler) */\n#define Q_NORETURN  __noreturn void\n\n/* QF interrupt disable/enable and log2()... */\n#if (__ARM_ARCH == 6) /* Cortex-M0/M0+/M1 ?, see NOTE1 */\n\n    /* Cortex-M0/M0+/M1(v6-M, v6S-M) interrupt disabling policy, see NOTE2 */\n    #define QF_INT_DISABLE()    __disable_interrupt()\n    #define QF_INT_ENABLE()     __enable_interrupt()\n\n    /* QF-aware ISR priority for CMSIS function NVIC_SetPriority(), NOTE1 */\n    #define QF_AWARE_ISR_CMSIS_PRI 0\n\n#else /* Cortex-M3/M4, see NOTE2 */\n\n    /* Cortex-M3/M4 alternative interrupt disabling with PRIMASK */\n    #define QF_PRIMASK_DISABLE() __disable_interrupt()\n    #define QF_PRIMASK_ENABLE()  __enable_interrupt()\n\n    /* Cortex-M3/M4 interrupt disabling policy */\n    #define QF_INT_DISABLE()     __set_BASEPRI(QF_BASEPRI)\n    #define QF_INT_ENABLE()      __set_BASEPRI(0U)\n\n    /* BASEPRI threshold for \"QF-aware\" interrupts, see NOTE2 */\n    #define QF_BASEPRI           0x3F\n\n    /* QF-aware ISR priority for CMSIS function NVIC_SetPriority(), NOTE3 */\n    #define QF_AWARE_ISR_CMSIS_PRI (QF_BASEPRI >> (8 - __NVIC_PRIO_BITS))\n\n    /* Cortex-M3/M4 provide the CLZ instruction for fast LOG2 */\n    #define QF_LOG2(n_) ((uint_fast8_t)(32U - __CLZ(n_)))\n\n#endif\n\n/* interrupt nesting policy for ISR level (ISRs can nest) */\n#define QF_ISR_NEST\n\n/* QK-nano initialization and ISR entry/exit */\n#define QK_INIT() QK_init()\nvoid QK_init(void);\n\n/* prototype needed for IAR \"Multi-file Compilation\" */\nvoid Thread_ret(void);\n\n#define QK_ISR_ENTRY() ((void)0)\n#define QK_ISR_EXIT()  do {                                               \\\n    QF_INT_DISABLE();                                                     \\\n    if (QK_sched_() != 0U) {                                              \\\n        (*Q_UINT2PTR_CAST(uint32_t, 0xE000ED04U) = (uint32_t)(1U << 28)); \\\n    }                                                                     \\\n    QF_INT_ENABLE();                                                      \\\n} while (false)\n\n#include <intrinsics.h> /* intrinsic IAR functions */\n#include <stdint.h>     /* Exact-width types. WG14/N843 C99 Standard */\n#include <stdbool.h>    /* Boolean type.      WG14/N843 C99 Standard */\n\n#include \"qepn.h\"       /* QEP-nano platform-independent public interface */\n#include \"qfn.h\"        /* QF-nano platform-independent public interface */\n#include \"qkn.h\"        /* QK-nano platform-independent public interface */\n\n/*****************************************************************************\n* NOTE1:\n* On Cortex-M0/M0+/M1 (architecture v6-M, v6S-M), the interrupt disabling\n* policy uses the PRIMASK register to disable interrupts globally. The\n* QF_AWARE_ISR_CMSIS_PRI level is zero, meaning that all interrupts are\n* \"kernel-aware\".\n*\n* NOTE2:\n* On Cortex-M3/M4, the interrupt disable/enable policy uses the BASEPRI\n* register (which is not implemented in Cortex-M0/M0+/M1) to disable\n* interrupts only with priority lower than the level specified by the\n* QF_BASEPRI macro. The interrupts with priorities above QF_BASEPRI (i.e.,\n* with numerical priority values lower than QF_BASEPRI) are not disabled in\n* this method. These free-running interrupts are not allowed to call any QF\n* services, because QF is not aware of these interrupts. Coversely, only\n* \"QF-aware\" interrupts, with numerical values of priorities eqal to or\n* higher than QF_BASEPRI, can call QF services.\n*\n* NOTE3:\n* The QF_AWARE_ISR_CMSIS_PRI macro is useful as an offset for enumerating\n* the QF-aware interrupt priority levels in the applications, whereas the\n* numerical values of the QF-aware interrupts must be greater or equal to\n* QF_AWARE_ISR_CMSIS_PRI. The enumerated values based on\n* QF_AWARE_ISR_CMSIS_PRI can be passed directly to the CMSIS function\n* NVIC_SetPriority(), which shifts them by (8 - __NVIC_PRIO_BITS) into the\n* correct bit position, while __NVIC_PRIO_BITS is the CMSIS macro defining\n* the number of implemented priority bits in the NVIC. Please note that\n* the macro QF_AWARE_ISR_CMSIS_PRI is intended only for applications and\n* is not used inside the QF port, which remains generic and not dependent\n* on the number of implemented priority bits in the NVIC.\n*/\n\n#endif /* QFN_PORT_H */\n\n"
  },
  {
    "path": "ports/arm-cm/qk/iar/qkn_port.c",
    "content": "/**\n* @file\n* @brief QK-nano port to ARM Cortex-M, IAR-ARM toolset\n* @cond\n******************************************************************************\n* Last updated for version 6.7.0\n* Last updated on  2019-12-30\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#include \"qpn_conf.h\" /* QP-nano configuration file (from the application) */\n#include \"qfn_port.h\" /* QF-nano port from the port directory */\n\n/* prototypes --------------------------------------------------------------*/\nvoid PendSV_Handler(void);\nvoid NMI_Handler(void);\n\n#define SCnSCB_ICTR  ((uint32_t volatile *)0xE000E004)\n#define SCB_SYSPRI   ((uint32_t volatile *)0xE000ED14)\n#define NVIC_IP      ((uint32_t volatile *)0xE000E400)\n#define NVIC_ICSR    0xE000ED04\n\n/* helper macros to \"stringify\" values */\n#define VAL(x) #x\n#define STRINGIFY(x) VAL(x)\n\n/*\n* Initialize the exception priorities and IRQ priorities to safe values.\n*\n* Description:\n* On Cortex-M3/M4, this QK port disables interrupts by means of the\n* BASEPRI register. However, this method cannot disable interrupt\n* priority zero, which is the default for all interrupts out of reset.\n* The following code changes the SysTick priority and all IRQ priorities\n* to the safe value QF_BASEPRI, wich the QF critical section can disable.\n* This avoids breaching of the QF critical sections in case the\n* application programmer forgets to explicitly set priorities of all\n* \"kernel aware\" interrupts.\n*\n* The interrupt priorities established in QK_init() can be later\n* changed by the application-level code.\n*/\nvoid QK_init(void) {\n\n#if (__ARM_ARCH != 6) /* NOT Cortex-M0/M0+/M1 ? */\n\n    uint32_t n;\n\n    /* set exception priorities to QF_BASEPRI...\n    * SCB_SYSPRI1: Usage-fault, Bus-fault, Memory-fault\n    */\n    SCB_SYSPRI[1] |= (QF_BASEPRI << 16) | (QF_BASEPRI << 8) | QF_BASEPRI;\n\n    /* SCB_SYSPRI2: SVCall */\n    SCB_SYSPRI[2] |= (QF_BASEPRI << 24);\n\n    /* SCB_SYSPRI3:  SysTick, PendSV, Debug */\n    SCB_SYSPRI[3] |= (QF_BASEPRI << 24) | (QF_BASEPRI << 16) | QF_BASEPRI;\n\n    /* set all implemented IRQ priories to QF_BASEPRI... */\n    n = 8U + ((*SCnSCB_ICTR & 0x7U) << 3); /* (# NVIC_PRIO registers)/4 */\n    do {\n        --n;\n        NVIC_IP[n] = (QF_BASEPRI << 24) | (QF_BASEPRI << 16)\n                     | (QF_BASEPRI << 8) | QF_BASEPRI;\n    } while (n != 0);\n\n#endif /* NOT Cortex-M0/M0+/M1(v6-M, v6S-M) */\n\n    /* SCB_SYSPRI3: PendSV set to the lowest priority 0xFF */\n    SCB_SYSPRI[3] |= (0xFFU << 16);\n}\n\n/*****************************************************************************\n* The PendSV_Handler exception handler is used for handling context switch\n* and asynchronous preemption in QK. The use of the PendSV exception is\n* the recommended and most efficient method for performing context switches\n* with ARM Cortex-M.\n*\n* The PendSV exception should have the lowest priority in the whole system\n* (0xFF, see QK_init). All other exceptions and interrupts should have higher\n* priority. For example, for NVIC with 2 priority bits all interrupts and\n* exceptions must have numerical value of priority lower than 0xC0. In this\n* case the interrupt priority levels available to your applications are (in\n* the order from the lowest urgency to the highest urgency): 0x80, 0x40, 0x00.\n*\n* Also, *all* \"kernel aware\" ISRs in the QK application must call the\n* QK_ISR_EXIT() macro, which triggers PendSV when it detects a need for\n* a context switch or asynchronous preemption.\n*\n* Due to tail-chaining and its lowest priority, the PendSV exception will be\n* entered immediately after the exit from the *last* nested interrupt (or\n* exception). In QK, this is exactly the time when the QK activator needs to\n* handle the asynchronous preemption.\n*****************************************************************************/\n__stackless\nvoid PendSV_Handler(void) {\n__asm volatile (\n\n    /* Prepare constants in registers before entering critical section */\n    \"  LDR     r3,=\" STRINGIFY(NVIC_ICSR) \"\\n\" /* Interrupt Control and State */\n    \"  MOVS    r1,#1            \\n\"\n    \"  LSLS    r1,r1,#27        \\n\" /* r0 := (1 << 27) (UNPENDSVSET bit) */\n\n    /*<<<<<<<<<<<<<<<<<<<<<<< CRITICAL SECTION BEGIN <<<<<<<<<<<<<<<<<<<<<<<<*/\n#if (__ARM_ARCH == 6)               /* Cortex-M0/M0+/M1 (v6-M, v6S-M)? */\n    \"  CPSID   i                \\n\" /* disable interrupts (set PRIMASK) */\n#else                               /* M3/M4/M7 */\n#if (__ARM_FP != 0)                 /* if VFP available... */\n    \"  PUSH    {r0,lr}          \\n\" /* ... push lr plus stack-aligner */\n#endif                              /* VFP available */\n    \"  MOVS    r0,#\" STRINGIFY(QF_BASEPRI) \"\\n\"\n    \"  CPSID   i                \\n\" /* disable interrutps with BASEPRI */\n    \"  MSR     BASEPRI,r0       \\n\" /* apply the Cortex-M7 erraturm */\n    \"  CPSIE   i                \\n\" /* 837070, see ARM-EPM-064408. */\n#endif                              /* M3/M4/M7 */\n\n    /* The PendSV exception handler can be preempted by an interrupt,\n    * which might pend PendSV exception again. The following write to\n    * ICSR[27] un-pends any such spurious instance of PendSV.\n    */\n    \"  STR     r1,[r3]          \\n\" /* ICSR[27] := 1 (unpend PendSV) */\n\n    /* The QK activator must be called in a Thread mode, while this code\n    * executes in the Handler mode of the PendSV exception. The switch\n    * to the Thread mode is accomplished by returning from PendSV using\n    * a fabricated exception stack frame, where the return address is\n    * QK_activate_().\n    *\n    * NOTE: the QK activator is called with interrupts DISABLED and also\n    * returns with interrupts DISABLED.\n    */\n    \"  LSRS    r3,r1,#3         \\n\" /* r3 := (r1 >> 3), set the T bit (new xpsr) */\n    \"  LDR     r2,=QK_activate_ \\n\" /* address of QK_activate_ */\n    \"  SUBS    r2,r2,#1         \\n\" /* align Thumb-address at halfword (new pc) */\n    \"  LDR     r1,=Thread_ret   \\n\" /* return address after the call   (new lr) */\n\n    \"  SUB     sp,sp,#8*4       \\n\" /* reserve space for exception stack frame */\n    \"  ADD     r0,sp,#5*4       \\n\" /* r0 := 5 registers below the SP */\n    \"  STM     r0!,{r1-r3}      \\n\" /* save xpsr,pc,lr */\n\n    \"  MOVS    r0,#6            \\n\"\n    \"  MVNS    r0,r0            \\n\" /* r0 := ~6 == 0xFFFFFFF9 */\n    \"  BX      r0               \\n\" /* exception-return to the QK activator */\n    );\n}\n\n/*****************************************************************************\n* Thread_ret is a helper function executed when the QK activator returns.\n*\n* NOTE: Thread_ret does not execute in the PendSV context!\n* NOTE: Thread_ret executes entirely with interrupts DISABLED.\n*****************************************************************************/\n__stackless\nvoid Thread_ret(void) {\n__asm volatile (\n\n    /* After the QK activator returns, we need to resume the preempted\n    * thread. However, this must be accomplished by a return-from-exception,\n    * while we are still in the thread context. The switch to the exception\n    * contex is accomplished by triggering the NMI exception.\n    * NOTE: The NMI exception is triggered with nterrupts DISABLED,\n    * because QK activator disables interrutps before return.\n    */\n\n    /* before triggering the NMI exception, make sure that the\n    * VFP stack frame will NOT be used...\n    */\n#if (__ARM_FP != 0)                 /* if VFP available... */\n    \"  MRS     r0,CONTROL       \\n\" /* r0 := CONTROL */\n    \"  BICS    r0,r0,#4         \\n\" /* r0 := r0 & ~4 (FPCA bit) */\n    \"  MSR     CONTROL,r0       \\n\" /* CONTROL := r0 (clear CONTROL[2] FPCA bit) */\n    \"  ISB                      \\n\" /* ISB after MSR CONTROL (ARM AN321,Sect.4.16) */\n#endif                              /* VFP available */\n\n    /* trigger NMI to return to preempted task...\n    * NOTE: The NMI exception is triggered with nterrupts DISABLED\n    */\n    \"  LDR     r0,=0xE000ED04   \\n\" /* Interrupt Control and State Register */\n    \"  MOVS    r1,#1            \\n\"\n    \"  LSLS    r1,r1,#31        \\n\" /* r1 := (1 << 31) (NMI bit) */\n    \"  STR     r1,[r0]          \\n\" /* ICSR[31] := 1 (pend NMI) */\n    \"  B       .                \\n\" /* wait for preemption by NMI */\n    );\n}\n\n/*****************************************************************************\n* The NMI_Handler exception handler is used for returning back to the\n* interrupted task. The NMI exception simply removes its own interrupt\n* stack frame from the stack and returns to the preempted task using the\n* interrupt stack frame that must be at the top of the stack.\n*\n* NOTE: The NMI exception is entered with interrupts DISABLED, so it needs\n* to re-enable interrupts before it returns to the preempted task.\n*****************************************************************************/\n__stackless\nvoid NMI_Handler(void) {\n__asm volatile (\n\n    \"  ADD     sp,sp,#(8*4)     \\n\" /* remove one 8-register exception frame */\n\n#if (__ARM_ARCH == 6)               /* Cortex-M0/M0+/M1 (v6-M, v6S-M)? */\n    \"  CPSIE   i                \\n\" /* enable interrupts (clear PRIMASK) */\n    \"  BX      lr               \\n\" /* return to the preempted task */\n#else                               /* M3/M4/M7 */\n    \"  MOVS    r0,#0            \\n\"\n    \"  MSR     BASEPRI,r0       \\n\" /* enable interrupts (clear BASEPRI) */\n#if (__ARM_FP != 0)                 /* if VFP available... */\n    \"  POP     {r0,pc}          \\n\" /* pop stack aligner and EXC_RETURN to PC */\n#else                               /* no VFP */\n    \"  BX      lr               \\n\" /* return to the preempted task */\n#endif                              /* no VFP */\n#endif                              /* M3/M4/M7 */\n    );\n}\n\n"
  },
  {
    "path": "ports/arm-cm/qv/arm/qfn_port.h",
    "content": "/**\n* @file\n* @brief QF-nano port ARM Cortex-M, cooperative QV-nano kernel, ARM-KEIL toolset\n* @cond\n******************************************************************************\n* Last Updated for Version: 6.8.0\n* Date of the Last Update:  2020-03-31\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QFN_PORT_H\n#define QFN_PORT_H\n\n/*! no-return function specifier (not supported in ARM-Keil compiler 5) */\n#define Q_NORETURN   __declspec(noreturn) void\n\n/* QF interrupt disable/enable and log2()... */\n#if (__TARGET_ARCH_THUMB == 3) /* Cortex-M0/M0+/M1(v6-M, v6S-M)? */\n\n    /* Cortex-M0/M0+/M1(v6-M, v6S-M) interrupt disabling policy, see NOTE2 */\n    #define QF_INT_DISABLE()    __disable_irq()\n    #define QF_INT_ENABLE()     __enable_irq()\n\n    /* QF-aware ISR priority for CMSIS function NVIC_SetPriority(), NOTE1 */\n    #define QF_AWARE_ISR_CMSIS_PRI 0\n\n    /* macro to put the CPU to sleep inside QV_onIdle() */\n    #define QV_CPU_SLEEP() do { \\\n        __wfi(); \\\n        QF_INT_ENABLE(); \\\n    } while (false)\n\n#else /* Cortex-M3/M4, see NOTE2 */\n\n    /* Cortex-M3/M4 alternative interrupt disabling with PRIMASK */\n    #define QF_PRIMASK_DISABLE() __disable_irq()\n    #define QF_PRIMASK_ENABLE()  __enable_irq()\n\n    /* Cortex-M3/M4 interrupt disabling policy */\n    #define QF_INT_DISABLE()     QF_set_BASEPRI(QF_BASEPRI)\n    #define QF_INT_ENABLE()      QF_set_BASEPRI(0U)\n\n    /* BASEPRI threshold for \"QF-aware\" interrupts, see NOTE2 */\n    #define QF_BASEPRI           0x3F\n\n    /* QF-aware ISR priority for CMSIS function NVIC_SetPriority(), NOTE3 */\n    #define QF_AWARE_ISR_CMSIS_PRI (QF_BASEPRI >> (8 - __NVIC_PRIO_BITS))\n\n    /* macro to put the CPU to sleep inside QV_onIdle() */\n    #define QV_CPU_SLEEP() do { \\\n        QF_PRIMASK_DISABLE();   \\\n        QF_INT_ENABLE();        \\\n        __wfi();                \\\n        QF_PRIMASK_ENABLE();    \\\n    } while (false)\n\n    /* Cortex-M3/M4 provide the CLZ instruction for fast LOG2 */\n    #define QF_LOG2(n_) ((uint_fast8_t)(32U - __clz(n_)))\n\n    /* inline function for setting the BASEPRI register */\n    static __inline void QF_set_BASEPRI(unsigned basePri) {\n        register unsigned volatile __regBasePri __asm(\"basepri\");\n        __regBasePri = basePri;\n    }\n\n    /* initialization of the QV kernel for Cortex-M3/M4 */\n    #define QV_INIT() QV_init()\n    void QV_init(void);\n\n#endif\n\n/* interrupt nesting policy for ISR level (ISRs can nest) */\n#define QF_ISR_NEST\n\n#include <stdint.h>     /* Exact-width types. WG14/N843 C99 Standard */\n#include <stdbool.h>    /* Boolean type.      WG14/N843 C99 Standard */\n\n#include \"qepn.h\"       /* QEP-nano platform-independent public interface */\n#include \"qfn.h\"        /* QF-nano platform-independent public interface */\n#include \"qvn.h\"        /* QV-nano cooperative kernel interface */\n\n/*****************************************************************************\n* NOTE1:\n* On Cortex-M0/M0+/M1 (architecture v6-M, v6S-M), the interrupt disabling\n* policy uses the PRIMASK register to disable interrupts globally. The\n* QF_AWARE_ISR_CMSIS_PRI level is zero, meaning that all interrupts are\n* \"kernel-aware\".\n*\n* NOTE2:\n* On Cortex-M3/M4, the interrupt disable/enable policy uses the BASEPRI\n* register (which is not implemented in Cortex-M0/M0+/M1) to disable\n* interrupts only with priority lower than the level specified by the\n* QF_BASEPRI macro. The interrupts with priorities above QF_BASEPRI (i.e.,\n* with numerical priority values lower than QF_BASEPRI) are not disabled in\n* this method. These free-running interrupts are not allowed to call any QF\n* services, because QF is not aware of these interrupts. Coversely, only\n* \"QF-aware\" interrupts, with numerical values of priorities eqal to or\n* higher than QF_BASEPRI, can call QF services.\n*\n* NOTE3:\n* The QF_AWARE_ISR_CMSIS_PRI macro is useful as an offset for enumerating\n* the QF-aware interrupt priority levels in the applications, whereas the\n* numerical values of the QF-aware interrupts must be greater or equal to\n* QF_AWARE_ISR_CMSIS_PRI. The enumerated values based on\n* QF_AWARE_ISR_CMSIS_PRI can be passed directly to the CMSIS function\n* NVIC_SetPriority(), which shifts them by (8 - __NVIC_PRIO_BITS) into the\n* correct bit position, while __NVIC_PRIO_BITS is the CMSIS macro defining\n* the number of implemented priority bits in the NVIC. Please note that\n* the macro QF_AWARE_ISR_CMSIS_PRI is intended only for applications and\n* is not used inside the QF port, which remains generic and not dependent\n* on the number of implemented priority bits in the NVIC.\n*/\n\n#endif /* QFN_PORT_H */\n\n"
  },
  {
    "path": "ports/arm-cm/qv/arm/qvn_port.c",
    "content": "/**\n* @file\n* @brief QV-nano port to ARM Cortex-M, ARM-KEIL toolset\n* @cond\n******************************************************************************\n* Last Updated for Version: 6.8.0\n* Date of the Last Update:  2020-03-31\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#include \"qpn_conf.h\" /* QP-nano configuration file (from the application) */\n#include \"qfn_port.h\" /* QF-nano port from the port directory */\n\n#if (__TARGET_ARCH_THUMB != 3) /* NOT Cortex-M0/M0+/M1(v6-M, v6S-M)? */\n\n#define SCnSCB_ICTR  ((uint32_t volatile *)0xE000E004)\n#define SCB_SYSPRI   ((uint32_t volatile *)0xE000ED14)\n#define NVIC_IP      ((uint32_t volatile *)0xE000E400)\n\n/*\n* Initialize the exception priorities and IRQ priorities to safe values.\n*\n* Description:\n* On Cortex-M3/M4, this QV port disables interrupts by means of the\n* BASEPRI register. However, this method cannot disable interrupt\n* priority zero, which is the default for all interrupts out of reset.\n* The following code changes the SysTick priority and all IRQ priorities\n* to the safe value QF_BASEPRI, wich the QF critical section can disable.\n* This avoids breaching of the QF critical sections in case the\n* application programmer forgets to explicitly set priorities of all\n* \"kernel aware\" interrupts.\n*\n* The interrupt priorities established in QV_init() can be later\n* changed by the application-level code.\n*/\nvoid QV_init(void) {\n    uint32_t n;\n\n    /* set exception priorities to QF_BASEPRI...\n    * SCB_SYSPRI1: Usage-fault, Bus-fault, Memory-fault\n    */\n    SCB_SYSPRI[1] |= (QF_BASEPRI << 16) | (QF_BASEPRI << 8) | QF_BASEPRI;\n\n    /* SCB_SYSPRI2: SVCall */\n    SCB_SYSPRI[2] |= (QF_BASEPRI << 24);\n\n    /* SCB_SYSPRI3:  SysTick, PendSV, Debug */\n    SCB_SYSPRI[3] |= (QF_BASEPRI << 24) | (QF_BASEPRI << 16) | QF_BASEPRI;\n\n    /* set all implemented IRQ priories to QF_BASEPRI... */\n    n = 8U + ((*SCnSCB_ICTR & 0x7U) << 3); /* (# NVIC_PRIO registers)/4 */\n    do {\n        --n;\n        NVIC_IP[n] = (QF_BASEPRI << 24) | (QF_BASEPRI << 16)\n                     | (QF_BASEPRI << 8) | QF_BASEPRI;\n    } while (n != 0);\n}\n\n#endif /* NOT Cortex-M0/M0+/M1(v6-M, v6S-M)? */\n\n"
  },
  {
    "path": "ports/arm-cm/qv/armclang/qfn_port.h",
    "content": "/**\n* @file\n* @brief QF-nano port ARM Cortex-M, cooperative QV kernel, ARM-CLANG toolset\n* @cond\n******************************************************************************\n* Last Updated for Version: 6.8.0\n* Date of the Last Update:  2020-03-31\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QFN_PORT_H\n#define QFN_PORT_H\n\n/*! no-return function specifier (ARM-Clang/LLVM compiler) */\n#define Q_NORETURN   __attribute__ ((noreturn)) void\n\n/* QF interrupt disable/enable and log2()... */\n#if (__ARM_ARCH == 6) /* Cortex-M0/M0+/M1 ?, see NOTE1 */\n\n    /* Cortex-M0/M0+/M1(v6-M, v6S-M) interrupt disabling policy, see NOTE2 */\n    #define QF_INT_DISABLE()    __asm volatile (\"cpsid i\")\n    #define QF_INT_ENABLE()     __asm volatile (\"cpsie i\")\n\n    /* QF-aware ISR priority for CMSIS function NVIC_SetPriority(), NOTE1 */\n    #define QF_AWARE_ISR_CMSIS_PRI 0\n\n    /* macro to put the CPU to sleep inside QV_onIdle() */\n    #define QV_CPU_SLEEP() do { \\\n        __asm volatile (\"wfi\"); \\\n        QF_INT_ENABLE(); \\\n    } while (false)\n\n#else /* Cortex-M3/M4, see NOTE2 */\n\n    /* Cortex-M3/M4 alternative interrupt disabling with PRIMASK */\n    #define QF_PRIMASK_DISABLE() __asm volatile (\"cpsid i\")\n    #define QF_PRIMASK_ENABLE()  __asm volatile (\"cpsie i\")\n\n    /* Cortex-M3/M4 interrupt disabling policy */\n    #define QF_INT_DISABLE()     QF_SET_BASEPRI(QF_BASEPRI)\n    #define QF_INT_ENABLE()      QF_SET_BASEPRI(0U)\n\n    /* BASEPRI threshold for \"QF-aware\" interrupts, see NOTE2 */\n    #define QF_BASEPRI           0x3F\n\n    /* QF-aware ISR priority for CMSIS function NVIC_SetPriority(), NOTE3 */\n    #define QF_AWARE_ISR_CMSIS_PRI (QF_BASEPRI >> (8 - __NVIC_PRIO_BITS))\n\n    /* macro to put the CPU to sleep inside QV_onIdle() */\n    #define QV_CPU_SLEEP() do { \\\n        QF_PRIMASK_DISABLE();   \\\n        QF_INT_ENABLE();        \\\n        __asm volatile (\"wfi\"); \\\n        QF_PRIMASK_ENABLE();    \\\n    } while (false)\n\n    /* Cortex-M3/M4 provide the CLZ instruction for fast LOG2 */\n    #define QF_LOG2(n_) ((uint_fast8_t)(32U - __builtin_clz(n_)))\n\n    /* macro for setting the BASEPRI register */\n    #define QF_SET_BASEPRI(basepri_) __asm volatile (\\\n        \"msr BASEPRI,%0\" :: \"r\" (basepri_) : )\n\n    /* initialization of the QV kernel for Cortex-M3/M4/M7 */\n    #define QV_INIT() QV_init()\n    void QV_init(void);\n#endif\n\n/* interrupt nesting policy for ISR level (ISRs can nest) */\n#define QF_ISR_NEST\n\n#include <stdint.h>     /* Exact-width types. WG14/N843 C99 Standard */\n#include <stdbool.h>    /* Boolean type.      WG14/N843 C99 Standard */\n\n#include \"qepn.h\"       /* QEP-nano platform-independent public interface */\n#include \"qfn.h\"        /* QF-nano platform-independent public interface */\n#include \"qvn.h\"        /* QV-nano cooperative kernel interface */\n\n/*****************************************************************************\n* NOTE1:\n* On Cortex-M0/M0+/M1 (architecture v6-M, v6S-M), the interrupt disabling\n* policy uses the PRIMASK register to disable interrupts globally. The\n* QF_AWARE_ISR_CMSIS_PRI level is zero, meaning that all interrupts are\n* \"kernel-aware\".\n*\n* NOTE2:\n* On Cortex-M3/M4, the interrupt disable/enable policy uses the BASEPRI\n* register (which is not implemented in Cortex-M0/M0+/M1) to disable\n* interrupts only with priority lower than the level specified by the\n* QF_BASEPRI macro. The interrupts with priorities above QF_BASEPRI (i.e.,\n* with numerical priority values lower than QF_BASEPRI) are not disabled in\n* this method. These free-running interrupts are not allowed to call any QF\n* services, because QF is not aware of these interrupts. Coversely, only\n* \"QF-aware\" interrupts, with numerical values of priorities eqal to or\n* higher than QF_BASEPRI, can call QF services.\n*\n* NOTE3:\n* The QF_AWARE_ISR_CMSIS_PRI macro is useful as an offset for enumerating\n* the QF-aware interrupt priority levels in the applications, whereas the\n* numerical values of the QF-aware interrupts must be greater or equal to\n* QF_AWARE_ISR_CMSIS_PRI. The enumerated values based on\n* QF_AWARE_ISR_CMSIS_PRI can be passed directly to the CMSIS function\n* NVIC_SetPriority(), which shifts them by (8 - __NVIC_PRIO_BITS) into the\n* correct bit position, while __NVIC_PRIO_BITS is the CMSIS macro defining\n* the number of implemented priority bits in the NVIC. Please note that\n* the macro QF_AWARE_ISR_CMSIS_PRI is intended only for applications and\n* is not used inside the QF port, which remains generic and not dependent\n* on the number of implemented priority bits in the NVIC.\n*/\n\n#endif /* QFN_PORT_H */\n\n"
  },
  {
    "path": "ports/arm-cm/qv/armclang/qvn_port.c",
    "content": "/**\n* @file\n* @brief QV-nano port to ARM Cortex-M, ARM-CLANG toolset\n* @cond\n******************************************************************************\n* Last Updated for Version: 6.8.0\n* Date of the Last Update:  2020-03-31\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#include \"qpn_conf.h\" /* QP-nano configuration file (from the application) */\n#include \"qfn_port.h\" /* QF-nano port from the port directory */\n\n#if (__ARM_ARCH != 6) /* NOT Cortex-M0/M0+/M1(v6-M, v6S-M)? */\n\n#define SCnSCB_ICTR  ((uint32_t volatile *)0xE000E004)\n#define SCB_SYSPRI   ((uint32_t volatile *)0xE000ED14)\n#define NVIC_IP      ((uint32_t volatile *)0xE000E400)\n\n/*\n* Initialize the exception priorities and IRQ priorities to safe values.\n*\n* Description:\n* On Cortex-M3/M4, this QV port disables interrupts by means of the\n* BASEPRI register. However, this method cannot disable interrupt\n* priority zero, which is the default for all interrupts out of reset.\n* The following code changes the SysTick priority and all IRQ priorities\n* to the safe value QF_BASEPRI, wich the QF critical section can disable.\n* This avoids breaching of the QF critical sections in case the\n* application programmer forgets to explicitly set priorities of all\n* \"kernel aware\" interrupts.\n*\n* The interrupt priorities established in QV_init() can be later\n* changed by the application-level code.\n*/\nvoid QV_init(void) {\n    uint32_t n;\n\n    /* set exception priorities to QF_BASEPRI...\n    * SCB_SYSPRI1: Usage-fault, Bus-fault, Memory-fault\n    */\n    SCB_SYSPRI[1] |= (QF_BASEPRI << 16) | (QF_BASEPRI << 8) | QF_BASEPRI;\n\n    /* SCB_SYSPRI2: SVCall */\n    SCB_SYSPRI[2] |= (QF_BASEPRI << 24);\n\n    /* SCB_SYSPRI3:  SysTick, PendSV, Debug */\n    SCB_SYSPRI[3] |= (QF_BASEPRI << 24) | (QF_BASEPRI << 16) | QF_BASEPRI;\n\n    /* set all implemented IRQ priories to QF_BASEPRI... */\n    n = 8U + ((*SCnSCB_ICTR & 0x7U) << 3); /* (# NVIC_PRIO registers)/4 */\n    do {\n        --n;\n        NVIC_IP[n] = (QF_BASEPRI << 24) | (QF_BASEPRI << 16)\n                     | (QF_BASEPRI << 8) | QF_BASEPRI;\n    } while (n != 0);\n}\n\n#endif /* NOT Cortex-M0/M0+/M1(v6-M, v6S-M)? */\n\n"
  },
  {
    "path": "ports/arm-cm/qv/gnu/qfn_port.h",
    "content": "/**\n* @file\n* @brief QF-nano port ARM Cortex-M, cooperative QV-nano kernel, GNU-ARM toolset\n* @cond\n******************************************************************************\n* Last Updated for Version: 6.8.0\n* Date of the Last Update:  2020-03-31\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QFN_PORT_H\n#define QFN_PORT_H\n\n/* GNU-ARM function attribute for \"no-return\" function */\n#define Q_NORETURN   __attribute__ ((noreturn)) void\n\n/* QF interrupt disable/enable and log2()... */\n#if (__ARM_ARCH == 6) /* Cortex-M0/M0+/M1 ?, see NOTE1 */\n\n    /* Cortex-M0/M0+/M1(v6-M, v6S-M) interrupt disabling policy, see NOTE2 */\n    #define QF_INT_DISABLE()    __asm volatile (\"cpsid i\")\n    #define QF_INT_ENABLE()     __asm volatile (\"cpsie i\")\n\n    /* QF-aware ISR priority for CMSIS function NVIC_SetPriority(), NOTE1 */\n    #define QF_AWARE_ISR_CMSIS_PRI 0\n\n    /* macro to put the CPU to sleep inside QV_onIdle() */\n    #define QV_CPU_SLEEP() do { \\\n        __asm volatile (\"wfi\"); \\\n        QF_INT_ENABLE(); \\\n    } while (false)\n\n#else /* Cortex-M3/M4, see NOTE2 */\n\n    /* Cortex-M3/M4 alternative interrupt disabling with PRIMASK */\n    #define QF_PRIMASK_DISABLE() __asm volatile (\"cpsid i\")\n    #define QF_PRIMASK_ENABLE()  __asm volatile (\"cpsie i\")\n\n    /* Cortex-M3/M4 interrupt disabling policy */\n    #define QF_INT_DISABLE()     QF_SET_BASEPRI(QF_BASEPRI)\n    #define QF_INT_ENABLE()      QF_SET_BASEPRI(0U)\n\n    /* BASEPRI threshold for \"QF-aware\" interrupts, see NOTE2 */\n    #define QF_BASEPRI           0x3F\n\n    /* QF-aware ISR priority for CMSIS function NVIC_SetPriority(), NOTE3 */\n    #define QF_AWARE_ISR_CMSIS_PRI (QF_BASEPRI >> (8 - __NVIC_PRIO_BITS))\n\n    /* macro to put the CPU to sleep inside QV_onIdle() */\n    #define QV_CPU_SLEEP() do { \\\n        QF_PRIMASK_DISABLE();   \\\n        QF_INT_ENABLE();        \\\n        __asm volatile (\"wfi\"); \\\n        QF_PRIMASK_ENABLE();    \\\n    } while (false)\n\n    /* Cortex-M3/M4 provide the CLZ instruction for fast LOG2 */\n    #define QF_LOG2(n_) ((uint_fast8_t)(32U - __builtin_clz(n_)))\n\n    /* macro for setting the BASEPRI register */\n    #define QF_SET_BASEPRI(basepri_) __asm volatile (\\\n        \"msr BASEPRI,%0\" :: \"r\" (basepri_) : )\n\n    /* initialization of the QV kernel for Cortex-M3/M4 */\n    #define QV_INIT() QV_init()\n    void QV_init(void);\n#endif\n\n/* interrupt nesting policy for ISR level (ISRs can nest) */\n#define QF_ISR_NEST\n\n#include <stdint.h>     /* Exact-width types. WG14/N843 C99 Standard */\n#include <stdbool.h>    /* Boolean type.      WG14/N843 C99 Standard */\n\n#include \"qepn.h\"       /* QEP-nano platform-independent public interface */\n#include \"qfn.h\"        /* QF-nano platform-independent public interface */\n#include \"qvn.h\"        /* QV-nano cooperative kernel interface */\n\n/*****************************************************************************\n* NOTE1:\n* On Cortex-M0/M0+/M1 (architecture v6-M, v6S-M), the interrupt disabling\n* policy uses the PRIMASK register to disable interrupts globally. The\n* QF_AWARE_ISR_CMSIS_PRI level is zero, meaning that all interrupts are\n* \"kernel-aware\".\n*\n* NOTE2:\n* On Cortex-M3/M4, the interrupt disable/enable policy uses the BASEPRI\n* register (which is not implemented in Cortex-M0/M0+/M1) to disable\n* interrupts only with priority lower than the level specified by the\n* QF_BASEPRI macro. The interrupts with priorities above QF_BASEPRI (i.e.,\n* with numerical priority values lower than QF_BASEPRI) are not disabled in\n* this method. These free-running interrupts are not allowed to call any QF\n* services, because QF is not aware of these interrupts. Coversely, only\n* \"QF-aware\" interrupts, with numerical values of priorities eqal to or\n* higher than QF_BASEPRI, can call QF services.\n*\n* NOTE3:\n* The QF_AWARE_ISR_CMSIS_PRI macro is useful as an offset for enumerating\n* the QF-aware interrupt priority levels in the applications, whereas the\n* numerical values of the QF-aware interrupts must be greater or equal to\n* QF_AWARE_ISR_CMSIS_PRI. The enumerated values based on\n* QF_AWARE_ISR_CMSIS_PRI can be passed directly to the CMSIS function\n* NVIC_SetPriority(), which shifts them by (8 - __NVIC_PRIO_BITS) into the\n* correct bit position, while __NVIC_PRIO_BITS is the CMSIS macro defining\n* the number of implemented priority bits in the NVIC. Please note that\n* the macro QF_AWARE_ISR_CMSIS_PRI is intended only for applications and\n* is not used inside the QF port, which remains generic and not dependent\n* on the number of implemented priority bits in the NVIC.\n*/\n\n#endif /* QFN_PORT_H */\n\n"
  },
  {
    "path": "ports/arm-cm/qv/gnu/qvn_port.c",
    "content": "/**\n* @file\n* @brief QV-nano port to ARM Cortex-M, GNU-ARM toolset\n* @cond\n******************************************************************************\n* Last Updated for Version: 6.8.0\n* Date of the Last Update:  2020-03-31\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#include \"qpn_conf.h\" /* QP-nano configuration file (from the application) */\n#include \"qfn_port.h\" /* QF-nano port from the port directory */\n\n#if (__ARM_ARCH != 6) /* NOT Cortex-M0/M0+/M1(v6-M, v6S-M)? */\n\n#define SCnSCB_ICTR  ((uint32_t volatile *)0xE000E004)\n#define SCB_SYSPRI   ((uint32_t volatile *)0xE000ED14)\n#define NVIC_IP      ((uint32_t volatile *)0xE000E400)\n\n/*\n* Initialize the exception priorities and IRQ priorities to safe values.\n*\n* Description:\n* On Cortex-M3/M4, this QV port disables interrupts by means of the\n* BASEPRI register. However, this method cannot disable interrupt\n* priority zero, which is the default for all interrupts out of reset.\n* The following code changes the SysTick priority and all IRQ priorities\n* to the safe value QF_BASEPRI, wich the QF critical section can disable.\n* This avoids breaching of the QF critical sections in case the\n* application programmer forgets to explicitly set priorities of all\n* \"kernel aware\" interrupts.\n*\n* The interrupt priorities established in QV_init() can be later\n* changed by the application-level code.\n*/\nvoid QV_init(void) {\n    uint32_t n;\n\n    /* set exception priorities to QF_BASEPRI...\n    * SCB_SYSPRI1: Usage-fault, Bus-fault, Memory-fault\n    */\n    SCB_SYSPRI[1] |= (QF_BASEPRI << 16) | (QF_BASEPRI << 8) | QF_BASEPRI;\n\n    /* SCB_SYSPRI2: SVCall */\n    SCB_SYSPRI[2] |= (QF_BASEPRI << 24);\n\n    /* SCB_SYSPRI3:  SysTick, PendSV, Debug */\n    SCB_SYSPRI[3] |= (QF_BASEPRI << 24) | (QF_BASEPRI << 16) | QF_BASEPRI;\n\n    /* set all implemented IRQ priories to QF_BASEPRI... */\n    n = 8U + ((*SCnSCB_ICTR & 0x7U) << 3); /* (# NVIC_PRIO registers)/4 */\n    do {\n        --n;\n        NVIC_IP[n] = (QF_BASEPRI << 24) | (QF_BASEPRI << 16)\n                     | (QF_BASEPRI << 8) | QF_BASEPRI;\n    } while (n != 0);\n}\n\n#endif /* NOT Cortex-M0/M0+/M1(v6-M, v6S-M)? */\n\n"
  },
  {
    "path": "ports/arm-cm/qv/iar/qfn_port.h",
    "content": "/**\n* @file\n* @brief QF-nano port ARM Cortex-M, cooperative QV-nano kernel, IAR-ARM toolset\n* @cond\n******************************************************************************\n* Last Updated for Version: 6.8.0\n* Date of the Last Update:  2020-03-31\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QFN_PORT_H\n#define QFN_PORT_H\n\n/*! no-return function specifier (IAR compiler) */\n#define Q_NORETURN  __noreturn void\n\n/* QF interrupt disable/enable and log2()... */\n#if (__ARM_ARCH == 6) /* Cortex-M0/M0+/M1 ?, see NOTE1 */\n\n    /* Cortex-M0/M0+/M1(v6-M, v6S-M) interrupt disabling policy, see NOTE2 */\n    #define QF_INT_DISABLE()    __disable_interrupt()\n    #define QF_INT_ENABLE()     __enable_interrupt()\n\n    /* QF-aware ISR priority for CMSIS function NVIC_SetPriority(), NOTE1 */\n    #define QF_AWARE_ISR_CMSIS_PRI 0\n\n    /* macro to put the CPU to sleep inside QV_onIdle() */\n    #define QV_CPU_SLEEP() do { \\\n        __WFI(); \\\n        QF_INT_ENABLE(); \\\n    } while (false)\n\n#else /* Cortex-M3/M4, see NOTE2 */\n\n    /* Cortex-M3/M4 alternative interrupt disabling with PRIMASK */\n    #define QF_PRIMASK_DISABLE() __disable_interrupt()\n    #define QF_PRIMASK_ENABLE()  __enable_interrupt()\n\n    /* Cortex-M3/M4 interrupt disabling policy */\n    #define QF_INT_DISABLE()     __set_BASEPRI(QF_BASEPRI)\n    #define QF_INT_ENABLE()      __set_BASEPRI(0U)\n\n    /* BASEPRI threshold for \"QF-aware\" interrupts, see NOTE2 */\n    #define QF_BASEPRI           0x3F\n\n    /* QF-aware ISR priority for CMSIS function NVIC_SetPriority(), NOTE3 */\n    #define QF_AWARE_ISR_CMSIS_PRI (QF_BASEPRI >> (8 - __NVIC_PRIO_BITS))\n\n    /* macro to put the CPU to sleep inside QV_onIdle() */\n    #define QV_CPU_SLEEP() do { \\\n        QF_PRIMASK_DISABLE();   \\\n        QF_INT_ENABLE();        \\\n        __WFI();                \\\n        QF_PRIMASK_ENABLE();    \\\n    } while (false)\n\n    /* Cortex-M3/M4 provide the CLZ instruction for fast LOG2 */\n    #define QF_LOG2(n_) ((uint_fast8_t)(32U - __CLZ(n_)))\n\n    /* initialization of the QV kernel for Cortex-M3/M4 */\n    #define QV_INIT() QV_init()\n    void QV_init(void);\n#endif\n\n/* interrupt nesting policy for ISR level (ISRs can nest) */\n#define QF_ISR_NEST\n\n#include <intrinsics.h> /* intrinsic IAR functions */\n#include <stdint.h>     /* Exact-width types. WG14/N843 C99 Standard */\n#include <stdbool.h>    /* Boolean type.      WG14/N843 C99 Standard */\n\n#include \"qepn.h\"       /* QEP-nano platform-independent public interface */\n#include \"qfn.h\"        /* QF-nano platform-independent public interface */\n#include \"qvn.h\"        /* QV-nano cooperative kernel interface */\n\n/*****************************************************************************\n* NOTE1:\n* On Cortex-M0/M0+/M1 (architecture v6-M, v6S-M), the interrupt disabling\n* policy uses the PRIMASK register to disable interrupts globally. The\n* QF_AWARE_ISR_CMSIS_PRI level is zero, meaning that all interrupts are\n* \"kernel-aware\".\n*\n* NOTE2:\n* On Cortex-M3/M4, the interrupt disable/enable policy uses the BASEPRI\n* register (which is not implemented in Cortex-M0/M0+/M1) to disable\n* interrupts only with priority lower than the level specified by the\n* QF_BASEPRI macro. The interrupts with priorities above QF_BASEPRI (i.e.,\n* with numerical priority values lower than QF_BASEPRI) are not disabled in\n* this method. These free-running interrupts are not allowed to call any QF\n* services, because QF is not aware of these interrupts. Coversely, only\n* \"QF-aware\" interrupts, with numerical values of priorities eqal to or\n* higher than QF_BASEPRI, can call QF services.\n*\n* NOTE3:\n* The QF_AWARE_ISR_CMSIS_PRI macro is useful as an offset for enumerating\n* the QF-aware interrupt priority levels in the applications, whereas the\n* numerical values of the QF-aware interrupts must be greater or equal to\n* QF_AWARE_ISR_CMSIS_PRI. The enumerated values based on\n* QF_AWARE_ISR_CMSIS_PRI can be passed directly to the CMSIS function\n* NVIC_SetPriority(), which shifts them by (8 - __NVIC_PRIO_BITS) into the\n* correct bit position, while __NVIC_PRIO_BITS is the CMSIS macro defining\n* the number of implemented priority bits in the NVIC. Please note that\n* the macro QF_AWARE_ISR_CMSIS_PRI is intended only for applications and\n* is not used inside the QF port, which remains generic and not dependent\n* on the number of implemented priority bits in the NVIC.\n*/\n\n#endif /* QFN_PORT_H */\n\n"
  },
  {
    "path": "ports/arm-cm/qv/iar/qvn_port.c",
    "content": "/**\n* @file\n* @brief QV-nano port to ARM Cortex-M, IAR-ARM toolset\n* @cond\n******************************************************************************\n* Last Updated for Version: 6.8.0\n* Date of the Last Update:  2020-03-31\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#include \"qpn_conf.h\" /* QP-nano configuration file (from the application) */\n#include \"qfn_port.h\" /* QF-nano port from the port directory */\n\n#if (__ARM_ARCH != 6) /* NOT Cortex-M0/M0+/M1(v6-M, v6S-M)? */\n\n#define SCnSCB_ICTR  ((uint32_t volatile *)0xE000E004)\n#define SCB_SYSPRI   ((uint32_t volatile *)0xE000ED14)\n#define NVIC_IP      ((uint32_t volatile *)0xE000E400)\n\n/*\n* Initialize the exception priorities and IRQ priorities to safe values.\n*\n* Description:\n* On Cortex-M3/M4, this QV port disables interrupts by means of the\n* BASEPRI register. However, this method cannot disable interrupt\n* priority zero, which is the default for all interrupts out of reset.\n* The following code changes the SysTick priority and all IRQ priorities\n* to the safe value QF_BASEPRI, wich the QF critical section can disable.\n* This avoids breaching of the QF critical sections in case the\n* application programmer forgets to explicitly set priorities of all\n* \"kernel aware\" interrupts.\n*\n* The interrupt priorities established in QV_init() can be later\n* changed by the application-level code.\n*/\nvoid QV_init(void) {\n    uint32_t n;\n\n    /* set exception priorities to QF_BASEPRI...\n    * SCB_SYSPRI1: Usage-fault, Bus-fault, Memory-fault\n    */\n    SCB_SYSPRI[1] |= (QF_BASEPRI << 16) | (QF_BASEPRI << 8) | QF_BASEPRI;\n\n    /* SCB_SYSPRI2: SVCall */\n    SCB_SYSPRI[2] |= (QF_BASEPRI << 24);\n\n    /* SCB_SYSPRI3:  SysTick, PendSV, Debug */\n    SCB_SYSPRI[3] |= (QF_BASEPRI << 24) | (QF_BASEPRI << 16) | QF_BASEPRI;\n\n    /* set all implemented IRQ priories to QF_BASEPRI... */\n    n = 8U + ((*SCnSCB_ICTR & 0x7U) << 3); /* (# NVIC_PRIO registers)/4 */\n    do {\n        --n;\n        NVIC_IP[n] = (QF_BASEPRI << 24) | (QF_BASEPRI << 16)\n                     | (QF_BASEPRI << 8) | QF_BASEPRI;\n    } while (n != 0);\n}\n\n#endif /* NOT Cortex-M0/M0+/M1(v6-M, v6S-M)? */\n\n"
  },
  {
    "path": "ports/arm7-9/README.url",
    "content": "[InternetShortcut]\nURL=http://www.state-machine.com/qpn/arm7-9.html\nIconFile=http://www.state-machine.com/qp.ico\n"
  },
  {
    "path": "ports/arm7-9/qk/README.url",
    "content": "[InternetShortcut]\nURL=http://www.state-machine.com/qpn/arm7-9.html#arm7-9_qk\nIconFile=http://www.state-machine.com/qp.ico\n"
  },
  {
    "path": "ports/arm7-9/qk/gnu/qfn_port.h",
    "content": "/**\n* @file\n* @brief QF-nano port ARM7-9, QK-nano kernel, GNU-ARM toolset\n* @cond\n******************************************************************************\n* Last Updated for Version: 6.8.0\n* Date of the Last Update:  2020-03-31\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QFN_PORT_H\n#define QFN_PORT_H\n\n/* fast unconditional interrupt disabling/enabling for ARM state, NOTE1 */\n#define QF_INT_DISABLE()   \\\n    __asm volatile (\"MSR cpsr_c,#(0x1F | 0x80)\" ::: \"cc\")\n\n#define QF_INT_ENABLE() \\\n    __asm volatile (\"MSR cpsr_c,#(0x1F)\" ::: \"cc\")\n\n\n/* interrupt disabling policy for ISR level for ARM state */\n#define QF_ISR_NEST\n\n#define QF_ISR_STAT_TYPE    unsigned long\n\n#define QF_ISR_DISABLE(stat_) do { \\\n    __asm volatile (\"MRS %0,cpsr\" : \"=r\" (stat_) :: \"cc\"); \\\n    QF_INT_DISABLE(); \\\n} while (false)\n\n#define QF_ISR_RESTORE(stat_) __set_CPSR(stat_)\n\n/* QK-nano initialization and ISR entry/exit */\nvoid QK_irq(void);\nvoid BSP_irq(void);\n/* void BSP_fiq(void);  see NOTE1 */\n\n\n#include <stdint.h>     /* Exact-width types. WG14/N843 C99 Standard */\n#include <stdbool.h>    /* Boolean type.      WG14/N843 C99 Standard */\n\n#include \"qepn.h\"       /* QEP-nano platform-independent public interface */\n#include \"qfn.h\"        /* QF-nano platform-independent public interface */\n#include \"qkn.h\"        /* QK-nano platform-independent public interface */\n\nvoid QF_reset(void);\nvoid QF_undef(void);\nvoid QF_swi(void);\nvoid QF_pAbort(void);\nvoid QF_dAbort(void);\nvoid QF_reserved(void);\nvoid QF_unused(void);\n\n/*****************************************************************************\n* NOTE1:\n* The disabling/enabling of interrutps is only defined for the ARM state,\n* which means that any code that disables/enables interrutps must be compiled\n* to ARM. The policy is to disable only the IRQ and NOT to disable the FIQ,\n* which means that FIQ is a \"QF-unaware\" from the kernel perspective. This means\n* that FIQ has \"zero latency\", but it also means that FIQ *cannot* call any\n* QP services. Specifically FIQ cannot post or publish events.\n*/\n\n#endif /* QFN_PORT_H */\n"
  },
  {
    "path": "ports/arm7-9/qk/gnu/qkn_port.s",
    "content": "/*****************************************************************************\n* Product: QK port to ARM7-9, GNU-ARM assembler\n* Last Updated for Version: 6.3.6\n* Date of the Last Update:  2018-10-29\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <http://www.gnu.org/licenses/>.\n*\n* Contact information:\n* https://www.state-machine.com\n* mailto:info@state-machine.com\n*****************************************************************************/\n\n    .equ    NO_IRQ,      0x80   /* mask to disable interrupts (IRQ) */\n    .equ    NO_FIQ,      0x40   /* mask to disable interrupts (FIQ) */\n    .equ    FIQ_MODE,    0x11\n    .equ    IRQ_MODE,    0x12\n    .equ    SYS_MODE,    0x1F\n\n    /* NOTE: keep in synch with the QK_Attr struct in \"qk.h\" !!! */\n    .equ    QK_INT_NEST, 4\n\n    .text\n    .arm\n\n    /* use the special section (.text.fastcode), to enable fine-tuning\n    * of the placement of this section inside the linker script\n    */\n    .section .text.fastcode\n\n/*****************************************************************************\n* unsigned int QF_int_disable_SYS(void);\n*/\n    .global QF_int_disable_SYS\n    .func   QF_int_disable_SYS\nQF_int_disable_SYS:\n    MRS     r0,cpsr             /* get the original CPSR in r0 to return  */\n    MSR     cpsr_c,#(SYS_MODE | NO_IRQ) /* disable IRQ only, FIQ enabled! */\n    BX      lr                  /* return the original CPSR in r0         */\n\n    .size   QF_int_disable_SYS, . - QF_int_disable_SYS\n    .endfunc\n\n\n/*****************************************************************************\n* void QF_int_enable_SYS(unsigned int key);\n*/\n    .global QF_int_enable_SYS\n    .func   QF_int_enable_SYS\nQF_int_enable_SYS:\n    MSR     cpsr_c,r0           /* restore the original CPSR from r0 */\n    BX      lr                  /* return to ARM or THUMB */\n\n    .size   QF_int_enable_SYS, . - QF_int_enable_SYS\n    .endfunc\n\n\n/*****************************************************************************\n* void QK_init();\n*/\n    .global QK_init\n    .func   QK_init\nQK_init:\n    BX      lr                  /* return to ARM or THUMB */\n\n    .size   QK_init, . - QK_init\n    .endfunc\n\n\n/*****************************************************************************\n* void QK_irq(void);\n*/\n    .global QK_irq\n    .func   QK_irq\n    .align  3\nQK_irq:\n/* IRQ entry {{{ */\n    MOV     r13,r0              /* save r0 in r13_IRQ */\n    SUB     r0,lr,#4            /* put return address in r0_SYS */\n    MOV     lr,r1               /* save r1 in r14_IRQ (lr) */\n    MRS     r1,spsr             /* put the SPSR in r1_SYS */\n\n    MSR     cpsr_c,#(SYS_MODE | NO_IRQ) /* SYSTEM, no IRQ, but FIQ enabled! */\n    STMFD   sp!,{r0,r1}         /* save SPSR and PC on SYS stack */\n    STMFD   sp!,{r2-r3,r12,lr}  /* save APCS-clobbered regs on SYS stack */\n    MOV     r0,sp               /* make the sp_SYS visible to IRQ mode */\n    SUB     sp,sp,#(2*4)        /* make room for stacking (r0_SYS, r1_SYS) */\n\n    MSR     cpsr_c,#(IRQ_MODE | NO_IRQ) /* IRQ mode, IRQ disabled */\n    STMFD   r0!,{r13,r14}       /* finish saving the context (r0_SYS,r1_SYS)*/\n\n    MSR     cpsr_c,#(SYS_MODE | NO_IRQ) /* SYSTEM mode, IRQ disabled */\n/* IRQ entry }}} */\n\n    LDR     r0,=QK_attr_        /* load address in already saved r0 */\n    LDRB    r12,[r0,#QK_INT_NEST] /* load QK_attr_.intNest into saved r12 */\n    ADD     r12,r12,#1          /* increment the nesting level */\n    STRB    r12,[r0,#QK_INT_NEST] /* store the value in QK_attr_.intNest */\n\n    /*     MSR     cpsr_c,#(SYS_MODE | NO_IRQ) ; enable FIQ\n    * NOTE: BSP_irq might re-enable IRQ interrupts (the FIQ is enabled\n    * already), if IRQs are prioritized by the interrupt controller.\n    */\n    LDR     r12,=BSP_irq\n    MOV     lr,pc               /* copy the return address to link register */\n    BX      r12                 /* call the C IRQ-handler (ARM/THUMB) */\n\n    MSR     cpsr_c,#(SYS_MODE | NO_IRQ) /* make sure IRQs are disabled */\n    LDR     r0,=QK_attr_        /* load address */\n    LDRB    r12,[r0,#QK_INT_NEST] /* load QK_attr_.intNest into saved r12 */\n    SUBS    r12,r12,#1          /* decrement the nesting level */\n    STRB    r12,[r0,#QK_INT_NEST] /* store the value in QK_attr_.intNest */\n    BNE     QK_irq_exit         /* branch if interrupt nesting not zero */\n\n    LDR     r12,=QK_sched_\n    MOV     lr,pc               /* copy the return address to link register */\n    BX      r12                 /* call QK_sched_ (ARM/THUMB) */\n    CMP     r0,#0               /* check the returned priority */\n    BEQ     QK_irq_exit         /* branch if priority zero */\n\n    LDR     r12,=QK_activate_\n    MOV     lr,pc               /* copy the return address to link register */\n    BX      r12                 /* call QK_activate_ (ARM/THUMB) */\n\nQK_irq_exit:\n/* IRQ exit {{{ */              /* IRQ/FIQ disabled--return from scheduler */\n    MOV     r0,sp               /* make sp_SYS visible to IRQ mode */\n    ADD     sp,sp,#(8*4)        /* fake unstacking 8 registers from sp_SYS */\n\n    MSR     cpsr_c,#(IRQ_MODE | NO_IRQ) /* IRQ mode, IRQ disabled */\n    MOV     sp,r0               /* copy sp_SYS to sp_IRQ */\n    LDR     r0,[sp,#(7*4)]      /* load the saved SPSR from the stack */\n    MSR     spsr_cxsf,r0        /* copy it into spsr_IRQ */\n\n    LDMFD   sp,{r0-r3,r12,lr}^  /* unstack all saved USER/SYSTEM registers */\n    NOP                         /* can't access banked reg immediately */\n    LDR     lr,[sp,#(6*4)]      /* load return address from the SYS stack */\n    MOVS    pc,lr               /* return restoring CPSR from SPSR */\n/* IRQ exit }}} */\n\n    .size   QK_irq, . - QK_irq\n    .endfunc\n\n\n/*****************************************************************************\n* void QF_reset(void);\n*/\n    .global QF_reset\n    .func   QF_reset\n    .align  3\nQF_reset:\n    LDR     r0,=Csting_reset\n    B       QF_except\n    .size   QF_reset, . - QF_reset\n    .endfunc\n\n/*****************************************************************************\n* void QF_undef(void);\n*/\n    .global QF_undef\n    .func   QF_undef\n    .align  3\nQF_undef:\n    LDR     r0,=Csting_undef\n    B       QF_except\n    .size   QF_undef, . - QF_undef\n    .endfunc\n\n/*****************************************************************************\n* void QF_swi(void);\n*/\n    .global QF_swi\n    .func   QF_swi\n    .align  3\nQF_swi:\n    LDR     r0,=Csting_swi\n    B       QF_except\n    .size   QF_swi, . - QF_swi\n    .endfunc\n\n/*****************************************************************************\n* void QF_pAbort(void);\n*/\n    .global QF_pAbort\n    .func   QF_pAbort\n    .align  3\nQF_pAbort:\n    LDR     r0,=Csting_pAbort\n    B       QF_except\n    .size   QF_pAbort, . - QF_pAbort\n    .endfunc\n\n/*****************************************************************************\n* void QF_dAbort(void);\n*/\n    .global QF_dAbort\n    .func   QF_dAbort\n    .align  3\nQF_dAbort:\n    LDR     r0,=Csting_dAbort\n    B       QF_except\n    .size   QF_dAbort, . - QF_dAbort\n    .endfunc\n\n/*****************************************************************************\n* void QF_reserved(void);\n*/\n    .global QF_reserved\n    .func   QF_reserved\n    .align  3\nQF_reserved:\n    LDR     r0,=Csting_reserved\n    B       QF_except\n    .size   QF_reserved, . - QF_reserved\n    .endfunc\n\n/*****************************************************************************\n* void QF_fiq_dummy(void);\n*/\n    .global QF_fiq_dummy\n    .func   QF_fiq_dummy\n    .align  3\nQF_fiq_dummy:\n    LDR     r0,=Csting_fiq\n    B       QF_except\n    .size   QF_fiq_dummy, . - QF_fiq_dummy\n    .endfunc\n\n/*****************************************************************************\n* void QF_except(void);\n*/\n    .global QF_except\n    .func   QF_except\n    .align  3\nQF_except:\n    /* r0 is set to the string with the exception name */\n    SUB     r1,lr,#4            /* set line number to the exception address */\n    MSR     cpsr_c,#(SYS_MODE | NO_IRQ | NO_FIQ) /* SYSTEM,IRQ/FIQ disabled */\n    LDR     r12,=Q_onAssert\n    MOV     lr,pc               /* store the return address */\n    BX      r12                 /* call the assertion-handler (ARM/THUMB) */\n    /* the assertion handler should not return, but in case it does\n    * hang up the machine in this endless loop\n    */\n    B       .\n\nCsting_reset:       .string  \"Reset\"\nCsting_undef:       .string  \"Undefined\"\nCsting_swi:         .string  \"Software Int\"\nCsting_pAbort:      .string  \"Prefetch Abort\"\nCsting_dAbort:      .string  \"Data Abort\"\nCsting_reserved:    .string  \"Reserved\"\nCsting_fiq:         .string  \"FIQ dummy\"\n\n    .size   QF_except, . - QF_except\n    .endfunc\n\n    .end\n\n\n"
  },
  {
    "path": "ports/arm7-9/qk/iar/qfn_port.h",
    "content": "/**\n* @file\n* @brief QF-nano port ARM7-9, QK-nano kernel, IAR-ARM toolset\n* @cond\n******************************************************************************\n* Last Updated for Version: 6.8.0\n* Date of the Last Update:  2020-03-31\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QFN_PORT_H\n#define QFN_PORT_H\n\n/* fast unconditional interrupt disabling/enabling for ARM state, NOTE2 */\n#define QF_INT_DISABLE()           __asm(\"MSR cpsr_c,#(0x1F | 0x80)\")\n#define QF_INT_ENABLE()            __asm(\"MSR cpsr_c,#(0x1F)\")\n\n/* interrupt disabling policy for ISR level for ARM state */\n#define QF_ISR_NEST\n\n#define QF_ISR_STAT_TYPE    unsigned long\n\n#define QF_ISR_DISABLE(stat_) do { \\\n    (stat_) = __get_CPSR(); \\\n    QF_INT_DISABLE(); \\\n} while (false)\n\n#define QF_ISR_RESTORE(stat_) __set_CPSR(stat_)\n\n/* QK-nano initialization and ISR entry/exit */\nvoid QK_irq(void);\nvoid BSP_irq(void);\n/* void BSP_fiq(void);  see NOTE1 */\n\n\n#include <intrinsics.h> /* IAR intrinsic functions */\n\n#include <stdint.h>     /* Exact-width types. WG14/N843 C99 Standard */\n#include <stdbool.h>    /* Boolean type.      WG14/N843 C99 Standard */\n\n#include \"qepn.h\"       /* QEP-nano platform-independent public interface */\n#include \"qfn.h\"        /* QF-nano platform-independent public interface */\n#include \"qkn.h\"        /* QK-nano platform-independent public interface */\n\nvoid QF_reset(void);\nvoid QF_undef(void);\nvoid QF_swi(void);\nvoid QF_pAbort(void);\nvoid QF_dAbort(void);\nvoid QF_reserved(void);\nvoid QF_unused(void);\n\n/*****************************************************************************\n* NOTE1:\n* The disabling/enabling of interrutps is only defined for the ARM state,\n* which means that any code that disables/enables interrutps must be compiled\n* to ARM. The policy is to disable only the IRQ and NOT to disable the FIQ,\n* which means that FIQ is a \"QF-unaware\" from the kernel perspective. This means\n* that FIQ has \"zero latency\", but it also means that FIQ *cannot* call any\n* QP services. Specifically FIQ cannot post or publish events.\n*/\n\n#endif /* QFN_PORT_H */\n"
  },
  {
    "path": "ports/arm7-9/qk/iar/qkn_port.s",
    "content": ";-----------------------------------------------------------------------------\n; Product:  QK port to ARM7/9, IAR-ARM Assembler\n; Last Updated for Version: 6.3.6\n; Date of the Last Update:  2018-10-29\n;\n;                    Q u a n t u m  L e a P s\n;                    ------------------------\n;                    Modern Embedded Software\n;\n; Copyright (C) Quantum Leaps, LLC. All rights reserved.\n;\n; This program is open source software: you can redistribute it and/or\n; modify it under the terms of the GNU General Public License as published\n; by the Free Software Foundation, either version 3 of the License, or\n; (at your option) any later version.\n;\n; Alternatively, this program may be distributed and modified under the\n; terms of Quantum Leaps commercial licenses, which expressly supersede\n; the GNU General Public License and are specifically designed for\n; licensees interested in retaining the proprietary status of their code.\n;\n; This program is distributed in the hope that it will be useful,\n; but WITHOUT ANY WARRANTY; without even the implied warranty of\n; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n; GNU General Public License for more details.\n;\n; You should have received a copy of the GNU General Public License\n; along with this program. If not, see <http://www.gnu.org/licenses/>.\n;\n; Contact information:\n; https://www.state-machine.com\n; mailto:info@state-machine.com\n;-----------------------------------------------------------------------------\n\nNO_IRQ      DEFINE     0x80     ; mask to disable interrupts (FIQ and IRQ)\nNO_FIQ      DEFINE     0x40     ; mask to disable interrupts (FIQ and IRQ)\nFIQ_MODE    DEFINE     0x11\nIRQ_MODE    DEFINE     0x12\nSYS_MODE    DEFINE     0x1F\n\n    ; NOTE: keep in synch with the QK_Attr struct in \"qk.h\" !!!\nQK_INT_NEST DEFINE     4\n\n;-----------------------------------------------------------------------------\n; Interrupt disabling/enabling and QK initialization\n;-----------------------------------------------------------------------------\n\n    SECTION .textrw:DATA:NOROOT(2)\n    PUBLIC  QF_int_disable_SYS, QF_int_enable_SYS, QK_init\n    CODE32\n\nQF_int_disable_SYS:\n    MRS     r0,cpsr             ; get the original CPSR in r0 to return\n    MSR     cpsr_c,#(SYS_MODE | NO_IRQ) ; disable IRQ only, FIQ enabled!\n    BX      lr                  ; return the original CPSR in r0\n\n\nQF_int_enable_SYS:\n    MSR     cpsr_c,r0           ; restore the original CPSR from r0\n    BX      lr                  ; return to ARM or THUMB\n\n\nQK_init:\n    BX      lr                  ; return to ARM or THUMB\n\n\n;-----------------------------------------------------------------------------\n; IRQ assembly wrapper\n;-----------------------------------------------------------------------------\n\n    SECTION .textrw:DATA:NOROOT(2)\n    PUBLIC  QK_irq\n    EXTERN  BSP_irq\n    EXTERN  QK_attr_, QK_sched_, QK_activate_\n    CODE32\n\nQK_irq:\n; IRQ entry {{{\n    MOV     r13,r0              ; save r0 in r13_IRQ\n    SUB     r0,lr,#4            ; put return address in r0_SYS\n    MOV     lr,r1               ; save r1 in r14_IRQ (lr)\n    MRS     r1,spsr             ; put the SPSR in r1_SYS\n\n    MSR     cpsr_c,#(SYS_MODE | NO_IRQ) ; SYSTEM, no IRQ, but FIQ enabled!\n    STMFD   sp!,{r0,r1}         ; save SPSR and PC on SYS stack\n    STMFD   sp!,{r2-r3,r12,lr}  ; save APCS-clobbered regs on SYS stack\n    MOV     r0,sp               ; make the sp_SYS visible to IRQ mode\n    SUB     sp,sp,#(2*4)        ; make room for stacking (r0_SYS, r1_SYS)\n\n    MSR     cpsr_c,#(IRQ_MODE | NO_IRQ) ; IRQ mode, IRQ disabled\n    STMFD   r0!,{r13,r14}       ; finish saving the context (r0_SYS,r1_SYS)\n\n    MSR     cpsr_c,#(SYS_MODE | NO_IRQ) ; SYSTEM mode, IRQ disabled\n; IRQ entry }}}\n\n    LDR     r0,=QK_attr_        ; load address in already saved r0\n    LDRB    r12,[r0,#QK_INT_NEST] ; load QK_attr_.intNest into saved r12\n    ADD     r12,r12,#1          ; increment the nesting level\n    STRB    r12,[r0,#QK_INT_NEST] ; store the value in QK_attr_.intNest\n\n    ;     MSR     cpsr_c,#(SYS_MODE | NO_IRQ) ; enable FIQ\n    ; NOTE: BSP_irq might re-enable IRQ interrupts (the FIQ is enabled\n    ; already), if IRQs are prioritized by the interrupt controller.\n\n    LDR     r12,=BSP_irq\n    MOV     lr,pc               ; copy the return address to link register\n    BX      r12                 ; call the C IRQ-handler (ARM/THUMB)\n\n\n    MSR     cpsr_c,#(SYS_MODE | NO_IRQ) ; make sure IRQs are disabled\n    LDR     r0,=QK_attr_        ; load address\n    LDRB    r12,[r0,#QK_INT_NEST] ; load QK_attr_.intNest into saved r12\n    SUBS    r12,r12,#1          ; decrement the nesting level\n    STRB    r12,[r0,#QK_INT_NEST] ; store the value in QK_attr_.intNest\n    BNE     QK_irq_exit         ; branch if interrupt nesting not zero\n\n    LDR     r12,=QK_sched_\n    MOV     lr,pc               ; copy the return address to link register\n    BX      r12                 ; call QK_sched_ (ARM/THUMB)\n    CMP     r0,#0               ; check the returned priority\n    BEQ     QK_irq_exit         ; branch if priority zero\n\n    LDR     r12,=QK_activate_\n    MOV     lr,pc               ; copy the return address to link register\n    BX      r12                 ; call QK_activate_ (ARM/THUMB)\n\nQK_irq_exit:\n; IRQ exit {{{                  ; IRQ/FIQ disabled--return from scheduler\n    MOV     r0,sp               ; make sp_SYS visible to IRQ mode\n    ADD     sp,sp,#(8*4)        ; fake unstacking 8 registers from sp_SYS\n\n    MSR     cpsr_c,#(IRQ_MODE | NO_IRQ) ; IRQ mode, IRQ disabled\n    MOV     sp,r0               ; copy sp_SYS to sp_IRQ\n    LDR     r0,[sp,#(7*4)]      ; load the saved SPSR from the stack\n    MSR     spsr_cxsf,r0        ; copy it into spsr_IRQ\n\n    LDMFD   sp,{r0-r3,r12,lr}^  ; unstack all saved USER/SYSTEM registers\n    NOP                         ; can't access banked reg immediately\n    LDR     lr,[sp,#(6*4)]      ; load return address from the SYS stack\n    MOVS    pc,lr               ; return restoring CPSR from SPSR\n; IRQ exit }}}\n\n\n;-----------------------------------------------------------------------------\n; Exception assembler wrappers\n;-----------------------------------------------------------------------------\n\n    PUBLIC  QF_reset\n    PUBLIC  QF_undef\n    PUBLIC  QF_swi\n    PUBLIC  QF_pAbort\n    PUBLIC  QF_dAbort\n    PUBLIC  QF_reserved\n\n    EXTERN  Q_onAssert\n\n    SECTION .text:CODE:NOROOT(2)\n    CODE32\n\nQF_reset:\n    LDR     r0,=Csting_reset\n    B       QF_except\nQF_undef:\n    LDR     r0,=Csting_undef\n    B       QF_except\nQF_swi:\n    LDR     r0,=Csting_swi\n    B       QF_except\nQF_pAbort:\n    LDR     r0,=Csting_pAbort\n    B       QF_except\nQF_dAbort:\n    LDR     r0,=Csting_dAbort\n    B       QF_except\nQF_reserved:\n    LDR     r0,=Csting_reserved\n    B       QF_except\nQF_except:\n    ; r0 is set to the string with the exception name\n    SUB     r1,lr,#4            ; set line number to the exception address\n    MSR     cpsr_c,#(SYS_MODE | NO_IRQ | NO_FIQ) ; SYSTEM, IRQ/FIQ disabled\n    LDR     r12,=Q_onAssert\n    MOV     lr,pc               ; store the return address\n    BX      r12                 ; call the assertion-handler (ARM/THUMB)\n    ; the assertion handler should not return, but in case it does\n    ; hang up the machine in this endless loop\n    B       .\n\n\n    LTORG  ; strings enclosed in \"\" are zero-terminated\nCsting_reset:       DC8     \"Reset\"\nCsting_undef:       DC8     \"Undefined\"\nCsting_swi:         DC8     \"Software Int\"\nCsting_pAbort:      DC8     \"Prefetch Abort\"\nCsting_dAbort:      DC8     \"Data Abort\"\nCsting_reserved:    DC8     \"Reserved\"\n\n\n    END\n"
  },
  {
    "path": "ports/arm7-9/qv/README.url",
    "content": "[InternetShortcut]\nURL=http://www.state-machine.com/qpn/arm7-9.html#arm7-9_qv\nIconFile=http://www.state-machine.com/qp.ico\n"
  },
  {
    "path": "ports/arm7-9/qv/gnu/qfn_port.h",
    "content": "/**\n* @file\n* @brief QF-nano port ARM7-9, QV-nano kernel, GNU-ARM toolset\n* @cond\n******************************************************************************\n* Last Updated for Version: 6.8.0\n* Date of the Last Update:  2020-03-31\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QFN_PORT_H\n#define QFN_PORT_H\n\n/* fast unconditional interrupt disabling/enabling for ARM state, NOTE1 */\n#define QF_INT_DISABLE()   \\\n    __asm volatile (\"MSR cpsr_c,#(0x1F | 0x80)\" ::: \"cc\")\n\n#define QF_INT_ENABLE() \\\n    __asm volatile (\"MSR cpsr_c,#(0x1F)\" ::: \"cc\")\n\n\n/* interrupt disabling policy for ISR level for ARM state */\n#define QF_ISR_NEST\n\n#define QF_ISR_STAT_TYPE    unsigned long\n\n#define QF_ISR_DISABLE(stat_) do { \\\n    __asm volatile (\"MRS %0,cpsr\" : \"=r\" (stat_) :: \"cc\"); \\\n    QF_INT_DISABLE(); \\\n} while (false)\n\n#define QF_ISR_RESTORE(stat_) __set_CPSR(stat_)\n\n/* QV-nano initialization and ISR entry/exit */\nvoid QV_irq(void);\nvoid BSP_irq(void);\n/* void BSP_fiq(void);  see NOTE1 */\n\n\n#include <stdint.h>     /* Exact-width types. WG14/N843 C99 Standard */\n#include <stdbool.h>    /* Boolean type.      WG14/N843 C99 Standard */\n\n#include \"qepn.h\"       /* QEP-nano platform-independent public interface */\n#include \"qfn.h\"        /* QF-nano platform-independent public interface */\n#include \"qvn.h\"        /* QV-nano platform-independent public interface */\n\nvoid QF_reset(void);\nvoid QF_undef(void);\nvoid QF_swi(void);\nvoid QF_pAbort(void);\nvoid QF_dAbort(void);\nvoid QF_reserved(void);\nvoid QF_unused(void);\n\n/*****************************************************************************\n* NOTE1:\n* The disabling/enabling of interrutps is only defined for the ARM state,\n* which means that any code that disables/enables interrutps must be compiled\n* to ARM. The policy is to disable only the IRQ and NOT to disable the FIQ,\n* which means that FIQ is a \"QF-unaware\" from the kernel perspective. This means\n* that FIQ has \"zero latency\", but it also means that FIQ *cannot* call any\n* QP services. Specifically FIQ cannot post or publish events.\n*/\n\n#endif /* QFN_PORT_H */\n"
  },
  {
    "path": "ports/arm7-9/qv/gnu/qvn_port.s",
    "content": "/**\n* @file\n* @brief QV port to ARM7-9, GNU-ARM assembler\n* @cond\n******************************************************************************\n* Last Updated for Version: 5.4.0\n* Date of the Last Update:  2015-04-08\n*\n*                    Q u a n t u m     L e a P s\n*                    ---------------------------\n*                    innovating embedded systems\n*\n* Copyright (C) Quantum Leaps, LLC. state-machine.com.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <http://www.gnu.org/licenses/>.\n*\n* Contact information:\n* Web:   www.state-machine.com\n* Email: info@state-machine.com\n******************************************************************************\n* @endcond\n*/\n\n    .equ    NO_IRQ,      0x80   /* mask to disable interrupts (IRQ) */\n    .equ    NO_FIQ,      0x40   /* mask to disable interrupts (FIQ) */\n    .equ    FIQ_MODE,    0x11\n    .equ    IRQ_MODE,    0x12\n    .equ    SYS_MODE,    0x1F\n\n    .text\n    .arm\n\n    /* use the special section (.text.fastcode), to enable fine-tuning\n    * of the placement of this section inside the linker script\n    */\n    .section .text.fastcode\n\n/*****************************************************************************\n* unsigned int QF_int_disable_SYS(void);\n*/\n    .global QF_int_disable_SYS\n    .func   QF_int_disable_SYS\nQF_int_disable_SYS:\n    MRS     r0,cpsr             /* get the original CPSR in r0 to return  */\n    MSR     cpsr_c,#(SYS_MODE | NO_IRQ) /* disable IRQ only, FIQ enabled! */\n    BX      lr                  /* return the original CPSR in r0         */\n\n    .size   QF_int_disable_SYS, . - QF_int_disable_SYS\n    .endfunc\n\n\n/*****************************************************************************\n* void QF_int_enable_SYS(unsigned int key);\n*/\n    .global QF_int_enable_SYS\n    .func   QF_int_enable_SYS\nQF_int_enable_SYS:\n    MSR     cpsr_c,r0           /* restore the original CPSR from r0 */\n    BX      lr                  /* return to ARM or THUMB */\n\n    .size   QF_int_enable_SYS, . - QF_int_enable_SYS\n    .endfunc\n\n\n/*****************************************************************************\n* void QV_irq(void);\n*/\n    .global QV_irq\n    .func   QV_irq\n    .align  3\nQV_irq:\n/* IRQ entry {{{ */\n    MOV     r13,r0              /* save r0 in r13_IRQ */\n    SUB     r0,lr,#4            /* put return address in r0_SYS */\n    MOV     lr,r1               /* save r1 in r14_IRQ (lr) */\n    MRS     r1,spsr             /* put the SPSR in r1_SYS */\n\n    MSR     cpsr_c,#(SYS_MODE | NO_IRQ) /* SYSTEM, no IRQ, but FIQ enabled! */\n    STMFD   sp!,{r0,r1}         /* save SPSR and PC on SYS stack */\n    STMFD   sp!,{r2-r3,r12,lr}  /* save APCS-clobbered regs on SYS stack */\n    MOV     r0,sp               /* make the sp_SYS visible to IRQ mode */\n    SUB     sp,sp,#(2*4)        /* make room for stacking (r0_SYS, r1_SYS) */\n\n    MSR     cpsr_c,#(IRQ_MODE | NO_IRQ) /* IRQ mode, IRQ disabled */\n    STMFD   r0!,{r13,r14}       /* finish saving the context (r0_SYS,r1_SYS)*/\n\n    MSR     cpsr_c,#(SYS_MODE | NO_IRQ) /* SYSTEM mode, IRQ disabled */\n/* IRQ entry }}} */\n\n    /* NOTE: BSP_irq might re-enable IRQ interrupts (the FIQ is enabled\n    * already), if IRQs are prioritized by the interrupt controller.\n    */\n    LDR     r12,=BSP_irq\n    MOV     lr,pc               /* copy the return address to link register */\n    BX      r12                 /* call the C IRQ-handler (ARM/THUMB) */\n\n\n/* IRQ exit {{{ */\n    MSR     cpsr_c,#(SYS_MODE | NO_IRQ) /* make sure IRQ are disabled */\n    MOV     r0,sp               /* make sp_SYS visible to IRQ mode */\n    ADD     sp,sp,#(8*4)        /* fake unstacking 8 registers from sp_SYS */\n\n    MSR     cpsr_c,#(IRQ_MODE | NO_IRQ) /* IRQ mode, IRQ disabled */\n    MOV     sp,r0               /* copy sp_SYS to sp_IRQ */\n    LDR     r0,[sp,#(7*4)]      /* load the saved SPSR from the stack */\n    MSR     spsr_cxsf,r0        /* copy it into spsr_IRQ */\n\n    LDMFD   sp,{r0-r3,r12,lr}^  /* unstack all saved USER/SYSTEM registers */\n    NOP                         /* can't access banked reg immediately */\n    LDR     lr,[sp,#(6*4)]      /* load return address from the SYS stack */\n    MOVS    pc,lr               /* return restoring CPSR from SPSR */\n/* IRQ exit }}} */\n\n    .size   QV_irq, . - QV_irq\n    .endfunc\n\n\n/*****************************************************************************\n* void QF_reset(void);\n*/\n    .global QF_reset\n    .func   QF_reset\n    .align  3\nQF_reset:\n    LDR     r0,=Csting_reset\n    B       QF_except\n    .size   QF_reset, . - QF_reset\n    .endfunc\n\n/*****************************************************************************\n* void QF_undef(void);\n*/\n    .global QF_undef\n    .func   QF_undef\n    .align  3\nQF_undef:\n    LDR     r0,=Csting_undef\n    B       QF_except\n    .size   QF_undef, . - QF_undef\n    .endfunc\n\n/*****************************************************************************\n* void QF_swi(void);\n*/\n    .global QF_swi\n    .func   QF_swi\n    .align  3\nQF_swi:\n    LDR     r0,=Csting_swi\n    B       QF_except\n    .size   QF_swi, . - QF_swi\n    .endfunc\n\n/*****************************************************************************\n* void QF_pAbort(void);\n*/\n    .global QF_pAbort\n    .func   QF_pAbort\n    .align  3\nQF_pAbort:\n    LDR     r0,=Csting_pAbort\n    B       QF_except\n    .size   QF_pAbort, . - QF_pAbort\n    .endfunc\n\n/*****************************************************************************\n* void QF_dAbort(void);\n*/\n    .global QF_dAbort\n    .func   QF_dAbort\n    .align  3\nQF_dAbort:\n    LDR     r0,=Csting_dAbort\n    B       QF_except\n    .size   QF_dAbort, . - QF_dAbort\n    .endfunc\n\n/*****************************************************************************\n* void QF_reserved(void);\n*/\n    .global QF_reserved\n    .func   QF_reserved\n    .align  3\nQF_reserved:\n    LDR     r0,=Csting_reserved\n    B       QF_except\n    .size   QF_reserved, . - QF_reserved\n    .endfunc\n\n/*****************************************************************************\n* void QF_fiq_dummy(void);\n*/\n    .global QF_fiq_dummy\n    .func   QF_fiq_dummy\n    .align  3\nQF_fiq_dummy:\n    LDR     r0,=Csting_fiq\n    B       QF_except\n    .size   QF_fiq_dummy, . - QF_fiq_dummy\n    .endfunc\n\n/*****************************************************************************\n* void QF_except(void);\n*/\n    .global QF_except\n    .func   QF_except\n    .align  3\nQF_except:\n    /* r0 is set to the string with the exception name */\n    SUB     r1,lr,#4            /* set line number to the exception address */\n    MSR     cpsr_c,#(SYS_MODE | NO_IRQ | NO_FIQ) /* SYSTEM,IRQ/FIQ disabled */\n    LDR     r12,=Q_onAssert\n    MOV     lr,pc               /* store the return address */\n    BX      r12                 /* call the assertion-handler (ARM/THUMB) */\n    /* the assertion handler should not return, but in case it does\n    * hang up the machine in this endless loop\n    */\n    B       .\n\nCsting_reset:       .string  \"Reset\"\nCsting_undef:       .string  \"Undefined\"\nCsting_swi:         .string  \"Software Int\"\nCsting_pAbort:      .string  \"Prefetch Abort\"\nCsting_dAbort:      .string  \"Data Abort\"\nCsting_reserved:    .string  \"Reserved\"\nCsting_fiq:         .string  \"FIQ dummy\"\n\n    .size   QF_except, . - QF_except\n    .endfunc\n\n    .end\n\n\n"
  },
  {
    "path": "ports/arm7-9/qv/iar/qfn_port.h",
    "content": "/**\n* @file\n* @brief QF-nano port ARM7-9, QV-nano kernel, IAR-ARM toolset\n* @cond\n******************************************************************************\n* Last Updated for Version: 6.8.0\n* Date of the Last Update:  2020-03-31\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QFN_PORT_H\n#define QFN_PORT_H\n\n/* fast unconditional interrupt disabling/enabling for ARM state, NOTE2 */\n#define QF_INT_DISABLE()           __asm(\"MSR cpsr_c,#(0x1F | 0x80)\")\n#define QF_INT_ENABLE()            __asm(\"MSR cpsr_c,#(0x1F)\")\n\n/* interrupt disabling policy for ISR level for ARM state */\n#define QF_ISR_NEST\n\n#define QF_ISR_STAT_TYPE    unsigned long\n\n#define QF_ISR_DISABLE(stat_) do { \\\n    (stat_) = __get_CPSR(); \\\n    QF_INT_DISABLE(); \\\n} while (false)\n\n#define QF_ISR_RESTORE(stat_) __set_CPSR(stat_)\n\n/* QV-nano initialization and ISR entry/exit */\nvoid QV_irq(void);\nvoid BSP_irq(void);\n/* void BSP_fiq(void);  see NOTE1 */\n\n\n#include <intrinsics.h> /* IAR intrinsic functions */\n\n#include <stdint.h>     /* Exact-width types. WG14/N843 C99 Standard */\n#include <stdbool.h>    /* Boolean type.      WG14/N843 C99 Standard */\n\n#include \"qepn.h\"       /* QEP-nano platform-independent public interface */\n#include \"qfn.h\"        /* QF-nano platform-independent public interface */\n#include \"qvn.h\"        /* QV-nano platform-independent public interface */\n\nvoid QF_reset(void);\nvoid QF_undef(void);\nvoid QF_swi(void);\nvoid QF_pAbort(void);\nvoid QF_dAbort(void);\nvoid QF_reserved(void);\nvoid QF_unused(void);\n\n/*****************************************************************************\n* NOTE1:\n* The disabling/enabling of interrutps is only defined for the ARM state,\n* which means that any code that disables/enables interrutps must be compiled\n* to ARM. The policy is to disable only the IRQ and NOT to disable the FIQ,\n* which means that FIQ is a \"QF-unaware\" from the kernel perspective. This means\n* that FIQ has \"zero latency\", but it also means that FIQ *cannot* call any\n* QP services. Specifically FIQ cannot post or publish events.\n*/\n\n#endif /* QFN_PORT_H */\n"
  },
  {
    "path": "ports/arm7-9/qv/iar/qvn_port.s",
    "content": ";-----------------------------------------------------------------------------\n; Product:  QV port to ARM7-9, IAR-ARM Assembler\n; Last Updated for Version: 5.4.0\n; Date of the Last Update:  2015-04-01\n;\n;                    Q u a n t u m     L e a P s\n;                    ---------------------------\n;                    innovating embedded systems\n;\n; Copyright (C) Quantum Leaps, LLC. All rights reserved.\n;\n; This program is open source software: you can redistribute it and/or\n; modify it under the terms of the GNU General Public License as published\n; by the Free Software Foundation, either version 3 of the License, or\n; (at your option) any later version.\n;\n; Alternatively, this program may be distributed and modified under the\n; terms of Quantum Leaps commercial licenses, which expressly supersede\n; the GNU General Public License and are specifically designed for\n; licensees interested in retaining the proprietary status of their code.\n;\n; This program is distributed in the hope that it will be useful,\n; but WITHOUT ANY WARRANTY; without even the implied warranty of\n; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n; GNU General Public License for more details.\n;\n; You should have received a copy of the GNU General Public License\n; along with this program. If not, see <http://www.gnu.org/licenses/>.\n;\n; Contact information:\n; Web:   http://www.state-machine.com\n; Email: info@state-machine.com\n;-----------------------------------------------------------------------------\n\nNO_IRQ      DEFINE     0x80     ; mask to disable interrupts (FIQ and IRQ)\nNO_FIQ      DEFINE     0x40     ; mask to disable interrupts (FIQ and IRQ)\nFIQ_MODE    DEFINE     0x11\nIRQ_MODE    DEFINE     0x12\nSYS_MODE    DEFINE     0x1F\n\n;-----------------------------------------------------------------------------\n; Interrupt disabling/enabling and QK initialization\n;-----------------------------------------------------------------------------\n\n    SECTION .textrw:DATA:NOROOT(2)\n    PUBLIC  QF_int_disable_SYS, QF_int_enable_SYS\n    CODE32\n\nQF_int_disable_SYS:\n    MRS     r0,cpsr             ; get the original CPSR in r0 to return\n    MSR     cpsr_c,#(SYS_MODE | NO_IRQ) ; disable IRQ only, FIQ enabled!\n    BX      lr                  ; return the original CPSR in r0\n\n\nQF_int_enable_SYS:\n    MSR     cpsr_c,r0           ; restore the original CPSR from r0\n    BX      lr                  ; return to ARM or THUMB\n\n;-----------------------------------------------------------------------------\n; IRQ assembly wrapper\n;-----------------------------------------------------------------------------\n\n    SECTION .textrw:DATA:NOROOT(2)\n    PUBLIC  QV_irq\n    EXTERN  BSP_irq\n    CODE32\n\nQV_irq:\n; IRQ entry {{{\n    MOV     r13,r0              ; save r0 in r13_IRQ\n    SUB     r0,lr,#4            ; put return address in r0_SYS\n    MOV     lr,r1               ; save r1 in r14_IRQ (lr)\n    MRS     r1,spsr             ; put the SPSR in r1_SYS\n\n    MSR     cpsr_c,#(SYS_MODE | NO_IRQ) ; SYSTEM, no IRQ, but FIQ enabled!\n    STMFD   sp!,{r0,r1}         ; save SPSR and PC on SYS stack\n    STMFD   sp!,{r2-r3,r12,lr}  ; save APCS-clobbered regs on SYS stack\n    MOV     r0,sp               ; make the sp_SYS visible to IRQ mode\n    SUB     sp,sp,#(2*4)        ; make room for stacking (r0_SYS, r1_SYS)\n\n    MSR     cpsr_c,#(IRQ_MODE | NO_IRQ) ; IRQ mode, IRQ disabled\n    STMFD   r0!,{r13,r14}       ; finish saving the context (r0_SYS,r1_SYS)\n\n    MSR     cpsr_c,#(SYS_MODE | NO_IRQ) ; SYSTEM mode, IRQ disabled\n; IRQ entry }}}\n\n    ; NOTE: BSP_irq might re-enable IRQ interrupts (the FIQ is enabled\n    ; already), if IRQs are prioritized by the interrupt controller.\n    ;\n    LDR     r12,=BSP_irq\n    MOV     lr,pc               ; copy the return address to link register\n    BX      r12                 ; call the C IRQ-handler (ARM/THUMB)\n\n\n; IRQ exit {{{\n    MSR     cpsr_c,#(SYS_MODE | NO_IRQ) ; make sure IRQs are disabled\n    MOV     r0,sp               ; make sp_SYS visible to IRQ mode\n    ADD     sp,sp,#(8*4)        ; fake unstacking 8 registers from sp_SYS\n\n    MSR     cpsr_c,#(IRQ_MODE | NO_IRQ) ; IRQ mode, IRQ disabled\n    MOV     sp,r0               ; copy sp_SYS to sp_IRQ\n    LDR     r0,[sp,#(7*4)]      ; load the saved SPSR from the stack\n    MSR     spsr_cxsf,r0        ; copy it into spsr_IRQ\n\n    LDMFD   sp,{r0-r3,r12,lr}^  ; unstack all saved USER/SYSTEM registers\n    NOP                         ; can't access banked reg immediately\n    LDR     lr,[sp,#(6*4)]      ; load return address from the SYS stack\n    MOVS    pc,lr               ; return restoring CPSR from SPSR\n; IRQ exit }}}\n\n\n;-----------------------------------------------------------------------------\n; Exception assembler wrappers\n;-----------------------------------------------------------------------------\n\n    PUBLIC  QF_reset\n    PUBLIC  QF_undef\n    PUBLIC  QF_swi\n    PUBLIC  QF_pAbort\n    PUBLIC  QF_dAbort\n    PUBLIC  QF_reserved\n\n    EXTERN  Q_onAssert\n\n    SECTION .text:CODE:NOROOT(2)\n    CODE32\n\nQF_reset:\n    LDR     r0,=Csting_reset\n    B       QF_except\nQF_undef:\n    LDR     r0,=Csting_undef\n    B       QF_except\nQF_swi:\n    LDR     r0,=Csting_swi\n    B       QF_except\nQF_pAbort:\n    LDR     r0,=Csting_pAbort\n    B       QF_except\nQF_dAbort:\n    LDR     r0,=Csting_dAbort\n    B       QF_except\nQF_reserved:\n    LDR     r0,=Csting_reserved\n    B       QF_except\nQF_except:\n    ; r0 is set to the string with the exception name\n    SUB     r1,lr,#4            ; set line number to the exception address\n    MSR     cpsr_c,#(SYS_MODE | NO_IRQ | NO_FIQ) ; SYSTEM, IRQ/FIQ disabled\n    LDR     r12,=Q_onAssert\n    MOV     lr,pc               ; store the return address\n    BX      r12                 ; call the assertion-handler (ARM/THUMB)\n    ; the assertion handler should not return, but in case it does\n    ; hang up the machine in this endless loop\n    B       .\n\n\n    LTORG  ; strings enclosed in \"\" are zero-terminated\nCsting_reset:       DC8     \"Reset\"\nCsting_undef:       DC8     \"Undefined\"\nCsting_swi:         DC8     \"Software Int\"\nCsting_pAbort:      DC8     \"Prefetch Abort\"\nCsting_dAbort:      DC8     \"Data Abort\"\nCsting_reserved:    DC8     \"Reserved\"\n\n\n    END\n"
  },
  {
    "path": "ports/avr/README.txt",
    "content": "About The QP-AVR Port\n=====================\nThis directory contains the QP-nano ports to the 8-bit AVRmega processor family.\nThe following ports are provided:\n\navr\n|\n+-qk      - port to the preemptive QK kernel\n| +-gnu   - port with the GNU-AVR toolset\n| +-iar   - port with the IAR-AVR toolset\n|\n+-qv      - port to the cooperative QV kernel\n| +-gnu   - port with the GNU-AVR toolset\n| +-iar   - port with the IAR-AVR toolset\n\n\nPlease see the README.txt files in the sub-directories for more information\nabout building the QP libraries."
  },
  {
    "path": "ports/avr/README.url",
    "content": "[InternetShortcut]\nURL=http://www.state-machine.com/qpn/avr.html\nIconFile=http://www.state-machine.com/qp.ico\n\n"
  },
  {
    "path": "ports/avr/qk/gnu/README.txt",
    "content": "About The QP-AVR Port\n=====================\nThis directory contains the QP-nano port to the 8-bit AVRmega processor family\nwith the GNU-AVR compiler. This port can be built with the standalone WinAVR\ntoolset (see http://sourceforge.net/projects/winavr/files/WinAVR/), or with\nthe GNU-AVR toolset that ships with the Atmel Studio.\n"
  },
  {
    "path": "ports/avr/qk/gnu/qfn_port.h",
    "content": "/**\n* @file\n* @brief QF-nano port AVR ATmega, preemptive QK-nano kernel, GNU-AVR toolset\n* @cond\n******************************************************************************\n* Last Updated for Version: 6.8.0\n* Date of the Last Update:  2020-03-22\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QFN_PORT_H\n#define QFN_PORT_H\n\n/* GNU-AVR function attribute for \"no-return\" function */\n#define Q_NORETURN   __attribute__ ((noreturn)) void\n\n/* GNU-AVR extended keyword '__flash' allocates const objects to ROM */\n#define Q_ROM        __flash\n\n/* QF-nano interrupt disable/enable... */\n#define QF_INT_DISABLE() __asm__ __volatile__ (\"cli\" ::)\n#define QF_INT_ENABLE()  __asm__ __volatile__ (\"sei\" ::)\n\n/* QF-nano interrupt disabling policy for interrupt level */\n/*#define QF_ISR_NEST*/  /* nesting of ISRs not allowed */\n\n/* QK-nano interrupt entry/exit */\n#define QK_ISR_ENTRY()   ((void)0)\n#define QK_ISR_EXIT()    do { \\\n    if (QK_sched_() != 0U) {  \\\n        QK_activate_();       \\\n    }                         \\\n} while (false)\n\n/* QK sleep mode */\n#define QK_CPU_SLEEP()   do {          \\\n    __asm__ __volatile__ (\"sleep\" ::); \\\n    SMCR = 0U;                         \\\n} while (false)\n\n/* QF CPU reset for AVR */\n#define QF_RESET()       __asm__ __volatile__ (\"jmp 0x0000\" ::)\n\n#include <avr/pgmspace.h>    /* accessing data in program memory (PROGMEM) */\n#include <avr/interrupt.h>   /* AVR interrupt support */\n#include <avr/io.h>          /* SREG/SMCR definitions */\n\n#include <stdint.h>      /* Exact-width types. WG14/N843 C99 Standard */\n#include <stdbool.h>     /* Boolean type.      WG14/N843 C99 Standard */\n\n#include \"qepn.h\"        /* QEP-nano platform-independent public interface */\n#include \"qfn.h\"         /* QF-nano  platform-independent public interface */\n#include \"qkn.h\"         /* QK-nano  platform-independent public interface */\n\n#endif /* QFN_PORT_H */\n"
  },
  {
    "path": "ports/avr/qk/iar/qfn_port.h",
    "content": "/**\n* @file\n* @brief QF-nano port AVR ATmega, QK-nano kernel, IAR-AVR toolset\n* @cond\n******************************************************************************\n* Last updated for version 6.8.0\n* Last updated on  2020-03-08\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QFN_PORT_H\n#define QFN_PORT_H\n\n/*! IAR extended keyword __noreturn designates a \"no-return\" function */\n#define Q_NORETURN  __noreturn void\n\n/* IAR extended keyword '__flash' allocates const objects to ROM */\n#define Q_ROM       __flash\n\n/* QF-nano interrupt disable/enable... */\n#define QF_INT_DISABLE() __disable_interrupt()\n#define QF_INT_ENABLE()  __enable_interrupt()\n\n/* QF-nano interrupt disabling policy for interrupt level */\n/*#define QF_ISR_NEST*/  /* nesting of ISRs not allowed */\n\n/* QK-nano interrupt entry/exit */\n#define QK_ISR_ENTRY()   ((void)0)\n#define QK_ISR_EXIT()    do { \\\n    if (QK_sched_() != 0U) {  \\\n        QK_activate_();       \\\n    }                         \\\n} while (false)\n\n/* QK sleep mode... */\n#define QK_CPU_SLEEP()   do { \\\n    __sleep();                \\\n    SMCR = 0U;                \\\n} while (false)\n\n/* QF CPU reset for AVR */\n#define QF_RESET()       __asm(\"jmp 0x0000\")\n\n#include <intrinsics.h>  /* IAR intrinsic functions */\n\n#include <stdint.h>      /* Exact-width types. WG14/N843 C99 Standard */\n#include <stdbool.h>     /* Boolean type.      WG14/N843 C99 Standard */\n\n#include \"qepn.h\"        /* QEP-nano platform-independent public interface */\n#include \"qfn.h\"         /* QF-nano  platform-independent public interface */\n#include \"qkn.h\"         /* QK-nano  platform-independent public interface */\n\n#endif /* QFN_PORT_H */\n"
  },
  {
    "path": "ports/avr/qv/gnu/README.txt",
    "content": "About The QP-AVR Port\n=====================\nThis directory contains the QP-nano port to the 8-bit AVRmega processor family\nwith the GNU-AVR compiler. This port can be built with the standalone WinAVR\ntoolset (see http://sourceforge.net/projects/winavr/files/WinAVR/), or with\nthe GNU-AVR toolset that ships with the Atmel Studio.\n"
  },
  {
    "path": "ports/avr/qv/gnu/qfn_port.h",
    "content": "/**\n* @file\n* @brief QF-nano port AVR ATmega, cooperative QV-nano kernel, GNU-AVR toolset\n* @cond\n******************************************************************************\n* Last Updated for Version: 6.8.0\n* Date of the Last Update:  2020-03-22\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QFN_PORT_H\n#define QFN_PORT_H\n\n/* GNU-AVR function attribute for \"no-return\" function */\n#define Q_NORETURN   __attribute__ ((noreturn)) void\n\n/* GNU-AVR extended keyword '__flash' allocates const objects to ROM */\n#define Q_ROM        __flash\n\n/* QF-nano interrupt disable/enable... */\n#define QF_INT_DISABLE() __asm__ __volatile__ (\"cli\" ::)\n#define QF_INT_ENABLE()  __asm__ __volatile__ (\"sei\" ::)\n\n/* QF-nano interrupt disabling policy for interrupt level */\n/*#define QF_ISR_NEST*/  /* nesting of ISRs not allowed */\n\n/* QV sleep mode, see NOTE1... */\n#define QV_CPU_SLEEP()          do { \\\n    __asm__ __volatile__ (\"sei\" ::); \\\n    __asm__ __volatile__ (\"sleep\" ::); \\\n    SMCR = 0U; \\\n} while (false)\n\n/* QF CPU reset for AVR */\n#define QF_RESET()       __asm__ __volatile__ (\"jmp 0x0000\" ::)\n\n#include <avr/pgmspace.h>    /* accessing data in program memory (PROGMEM) */\n#include <avr/interrupt.h>   /* AVR interrupt support */\n#include <avr/io.h>          /* SREG/SMCR definitions */\n\n#include <stdint.h>      /* Exact-width types. WG14/N843 C99 Standard */\n#include <stdbool.h>     /* Boolean type.      WG14/N843 C99 Standard */\n\n#include \"qepn.h\"        /* QEP-nano platform-independent public interface */\n#include \"qfn.h\"         /* QF-nano  platform-independent public interface */\n#include \"qvn.h\"         /* QV-nano  platform-independent public interface */\n\n/*****************************************************************************\n* NOTE1:\n* As described in the \"AVR Datasheet\" in Section \"Reset and Interrupt\n* Handling\", when using the SEI instruction to enable interrupts, the\n* instruction following SEI will be executed before any pending interrupts.\n* As the Datasheet shows in the assembly example, the pair of instructions\n*     SEI       ; enable interrupts\n*     SLEEP     ; go to the sleep mode\n* executes ATOMICALLY, and so no interrupt can be serviced between these\n* instructins. You should NEVER separate these two lines.\n*/\n\n#endif /* QFN_PORT_H */\n"
  },
  {
    "path": "ports/avr/qv/iar/qfn_port.h",
    "content": "/**\n* @file\n* @brief QF-nano port AVR ATmega, cooperative QV-nano kernel, IAR-AVR toolset\n* @cond\n******************************************************************************\n* Last updated for version 6.8.0\n* Last updated on  2020-03-08\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QFN_PORT_H\n#define QFN_PORT_H\n\n/*! IAR extended keyword __noreturn designates a \"no-return\" function */\n#define Q_NORETURN  __noreturn void\n\n/* IAR extended keyword '__flash' allocates const objects to ROM */\n#define Q_ROM       __flash\n\n/* QF-nano interrupt disable/enable... */\n#define QF_INT_DISABLE() __disable_interrupt()\n#define QF_INT_ENABLE()  __enable_interrupt()\n\n/* QF-nano interrupt disabling policy for interrupt level */\n/*#define QF_ISR_NEST*/  /* nesting of ISRs not allowed */\n\n/* QV sleep mode, see NOTE1... */\n#define QV_CPU_SLEEP()   do { \\\n    __enable_interrupt(); \\\n    __sleep(); \\\n    SMCR = 0U; \\\n} while (false)\n\n/* QF CPU reset for AVR */\n#define QF_RESET()       __asm(\"jmp 0x0000\")\n\n#include <intrinsics.h>  /* IAR intrinsic functions */\n\n#include <stdint.h>      /* Exact-width types. WG14/N843 C99 Standard */\n#include <stdbool.h>     /* Boolean type.      WG14/N843 C99 Standard */\n\n#include \"qepn.h\"        /* QEP-nano platform-independent public interface */\n#include \"qfn.h\"         /* QF-nano  platform-independent public interface */\n#include \"qvn.h\"         /* QV-nano  platform-independent public interface */\n\n/*****************************************************************************\n* NOTE1:\n* As described in the \"AVR Datasheet\" in Section \"Reset and Interrupt\n* Handling\", when using the SEI instruction to enable interrupts, the\n* instruction following SEI will be executed before any pending interrupts.\n* As the Datasheet shows in the assembly example, the pair of instructions\n*     SEI       ; __enable_interrupt() intrinsic function\n*     SLEEP     ; __sleep() intrinsic function\n* executes ATOMICALLY, and so no interrupt can be serviced between these\n* instructins. You should NEVER separate these two lines.\n*/\n\n#endif /* QFN_PORT_H */\n"
  },
  {
    "path": "ports/lint-plus/16bit/cpu.lnt",
    "content": "// Size Options for 16bit CPU (e.g., MSP430)\n-si2 -sl4 -sll8 -ss2 -sw2 -sf4 -sd4 -sld4 -ai2 -al2 -all2 -as2 -af2 -ad2 -ald2\n\n"
  },
  {
    "path": "ports/lint-plus/16bit/stdint.h",
    "content": "/**\n* @file\n* @brief Selected exact-width and fast minimum-width integer types\n* for 16-bit CPU architecture (e.g., MSP430).\n*\n* @description\n* This header is part of the ANSI C99 standard library to define the\n* standard exact-width integer types (see C99 Section 7.18.1.1).\n* If the compiler does not provide the stdint.h header file, you can\n* either create one in the QP port directory, or you can typedef the\n* 8 exact-width integer types directly in the qep_port.h header file.\n*\n* @note The version included in the QP documentation contains only the 8\n* exact-width types and 6 fast minimum-width types actually used in QP.\n* The actual definition of the integer types is platform dependent.\n*/\n#ifndef STDINT_H\n#define STDINT_H\n\n/*lint -save */\n/*lint -e9093   M3:R21.2(r) name matches a pattern reserved to the compiler */\n\n/* Exact-width types. WG14/N843 C99 Standard, Section 7.18.1.1 */\ntypedef signed char        int8_t;   /*!< exact-width  8-bit signed   int  */\ntypedef signed int         int16_t;  /*!< exact-width 16-bit signed   int  */\ntypedef signed long int    int32_t;  /*!< exact-width 32-bit signed   int  */\ntypedef signed long long   int64_t;  /*!< exact-width 64-bit signed   int  */\n\ntypedef unsigned char      uint8_t;  /*!< exact-width  8-bit unsigned int  */\ntypedef unsigned int       uint16_t; /*!< exact-width 16-bit unsigned int  */\ntypedef unsigned long int  uint32_t; /*!< exact-width 32-bit unsigned int  */\ntypedef unsigned long long uint64_t; /*!< exact-width 64-bit unsigned int  */\n\n/* Fastest minimum-width types. WG14/N843 C99 Standard, Section 7.18.1.3 */\ntypedef signed   int  int_fast8_t;   /*!< fast at-least  8-bit signed   int */\ntypedef unsigned int  uint_fast8_t;  /*!< fast at-least  8-bit unsigned int */\ntypedef signed   int  int_fast16_t;  /*!< fast at-least 16-bit signed   int */\ntypedef unsigned int  uint_fast16_t; /*!< fast at-least 16-bit unsigned int */\ntypedef signed   long int_fast32_t;  /*!< fast at-least 32-bit signed   int */\ntypedef unsigned long uint_fast32_t; /*!< fast at-least 32-bit unsigned int */\n\n/*lint -restore */\n\n#endif /* STDINT_H */\n\n"
  },
  {
    "path": "ports/lint-plus/32bit/cpu.lnt",
    "content": "// Size Options for 32bit CPU (e.g., ARM Cortex-M)\n-si4 -sl4 -sll8 -ss2 -sw4 -sp4 -sf4 -sd8 -sld8 +fzl\n"
  },
  {
    "path": "ports/lint-plus/32bit/stdint.h",
    "content": "/**\n* @file\n* @brief Selected exact-width and fast minimum-width integer types\n* for 32-bit CPU architecture (e.g., ARM Cortex-M).\n*\n* @description\n* This header is part of the ANSI C99 standard library to define the\n* standard exact-width integer types (see C99 Section 7.18.1.1).\n* If the compiler does not provide the stdint.h header file, you can\n* either create one in the QP port directory, or you can typedef the\n* 8 exact-width integer types directly in the qep_port.h header file.\n*\n* @note The version included in the QP documentation contains only the 8\n* exact-width types and 6 fast minimum-width types actually used in QP.\n* The actual definition of the integer types is platform dependent.\n*/\n#ifndef STDINT_H\n#define STDINT_H\n\n/*lint -save */\n/*lint -e9093   M3:R21.2(r) name matches a pattern reserved to the compiler */\n\n/* Exact-width types. WG14/N843 C99 Standard, Section 7.18.1.1 */\ntypedef signed char        int8_t;   /*!< exact-width  8-bit signed   int  */\ntypedef signed short       int16_t;  /*!< exact-width 16-bit signed   int  */\ntypedef signed long        int32_t;  /*!< exact-width 32-bit signed   int  */\ntypedef signed long long   int64_t;  /*!< exact-width 64-bit signed   int  */\n\ntypedef unsigned char      uint8_t;  /*!< exact-width  8-bit unsigned int  */\ntypedef unsigned short     uint16_t; /*!< exact-width 16-bit unsigned int  */\ntypedef unsigned long      uint32_t; /*!< exact-width 32-bit unsigned int  */\ntypedef unsigned long long uint64_t; /*!< exact-width 64-bit unsigned int  */\n\n/* Fastest minimum-width types. WG14/N843 C99 Standard, Section 7.18.1.3 */\ntypedef signed   int  int_fast8_t;   /*!< fast at-least  8-bit signed   int */\ntypedef unsigned int  uint_fast8_t;  /*!< fast at-least  8-bit unsigned int */\ntypedef signed   int  int_fast16_t;  /*!< fast at-least 16-bit signed   int */\ntypedef unsigned int  uint_fast16_t; /*!< fast at-least 16-bit unsigned int */\ntypedef signed   long int_fast32_t;  /*!< fast at-least 32-bit signed   int */\ntypedef unsigned long uint_fast32_t; /*!< fast at-least 32-bit unsigned int */\n\n/*lint -restore */\n\n#endif /* STDINT_H */\n\n"
  },
  {
    "path": "ports/lint-plus/au-ds.lnt",
    "content": "// au-ds.lnt -- Author options - Dan Saks\n\n/*\n    This options file can be used to explicitly activate those\n    checks advocated by Dan Saks in his series of presentations on\n    \"C++ Gotchas\".\n\n    You can use this file directly when linting your programs as in:\n\n    lin  au-ds  files\n\n */\n\n+fsc    // consider string constants as const char *\n+e1933  // turn on \"virtual call from member detection\"\n\n// The rationale for the following two options are fully described\n// in Dan Saks' article \"const T vs. T const\".  Visit his web site\n// at www.dansaks.com and click \"Published Articles\".\n//\n-fqb +e963  // require T const rather than const T\n"
  },
  {
    "path": "ports/lint-plus/au-misra3-amd1.lnt",
    "content": "// ---------------------------------------------------------------------------\n// Copyright Gimpel Software LLC 2019. All rights reserved.\n//\n// This file is provided by Gimpel Software LLC (https://www.gimpel.com) for\n// use with PC-lint Plus. Redistribution is permitted but any redistribution\n// must preserve this notice and, if the redistributed file has been modified,\n// provide notice that the file has been modified from the original.\n// ---------------------------------------------------------------------------\n\n// au-misra3-amd1.lnt -- Author options - MISRA C 2012\n\n/*\n    This options file can be used to explicitly activate those\n    checks advocated by the Motor Industry Software Reliability\n    Association.\n\n    You can use this file directly when linting your programs as in:\n\n    lint au-misra3-amd1.lnt hello.c\n\n    Gimpel Software relies on the document, \"MISRA C:2012 Amendment 1\n    Additional security guidelines for MISRA C:2012\"\n    copyright 2016 by HORIBA MIRA Ltd, as the primary source for this\n    file. Gimpel Software makes no warranty as to the completeness\n    or applicability of this options file and reserves the right to\n    amend or alter the official contents of such at any time.\n\n    \"MISRA\" is a registered trademark of HORIBA MIRA Ltd, held on\n    behalf of the MISRA Consortium.\n\n */\n\n/* version check */ -cond('%PCLP_NO_LNT_VERSION_CHECK%' != '1' && (%LINT_MAJOR_VERSION% != 1 || %LINT_MINOR_VERSION% != 3),\n    +fatal_error(This configuration file is intended for PC-lint Plus 1.3.\n                 You are attempting to use it with PC-lint Plus %LINT_MAJOR_VERSION%.%LINT_MINOR_VERSION%.\n                 It is recommended that you use configuration files intended\n                 for PC-lint Plus %LINT_MAJOR_VERSION%.%LINT_MINOR_VERSION%.)\n)\n\n\n/**** Dir 4.14 (Req) ************/\n\n    /* Not currently supported */\n\n/**** Rule 12.5 (Mand) ************/\n\n    +e682               /* sizeof applied to parameter whose type is sized array */\n    +elib(682)\n    -append(682,[MISRA 2012 Rule 12.5, mandatory])\n\n    +e882               /* sizeof applied to parameter declared as incomplete array */\n    +elib(882)\n    -append(882,[MISRA 2012 Rule 12.5, mandatory])\n\n/**** Rule 21.13 (Mand) ************/\n\n    /* While MISRA has declared this rule to be \"undecidable\", Gimpel\n     * Software provides the following options to assist:\n     */\n\n    /* Define EOF until a proper definition is seen */\n    -dEOF=-1\n\n    /* Define UCHAR_MIN and UCHAR_MAX if no definition available */\n    -dUCHAR_MIN=0\n    -dUCHAR_MAX=255\n\n    /* Ensure macro versions of ctype.h functions expand to function versions\n       to make use of the function semantics defined below */\n    --uisalnum\n    --uisalpha\n    --uisblank\n    --uiscntrl\n    --uisdigit\n    --uisgraph\n    --uislower\n    --uisprint\n    --uispunct\n    --uisspace\n    --uisupper\n    --uisxdigit\n    --utolower\n    --utoupper\n\n    /* Define semantics for ctype.h functions */\n    -sem(isalnum, (1n >= UCHAR_MIN && 1n <= UCHAR_MAX) || 1n == EOF)\n    -sem(isalpha, (1n >= UCHAR_MIN && 1n <= UCHAR_MAX) || 1n == EOF)\n    -sem(isblank, (1n >= UCHAR_MIN && 1n <= UCHAR_MAX) || 1n == EOF)\n    -sem(iscntrl, (1n >= UCHAR_MIN && 1n <= UCHAR_MAX) || 1n == EOF)\n    -sem(isdigit, (1n >= UCHAR_MIN && 1n <= UCHAR_MAX) || 1n == EOF)\n    -sem(isgraph, (1n >= UCHAR_MIN && 1n <= UCHAR_MAX) || 1n == EOF)\n    -sem(islower, (1n >= UCHAR_MIN && 1n <= UCHAR_MAX) || 1n == EOF)\n    -sem(isprint, (1n >= UCHAR_MIN && 1n <= UCHAR_MAX) || 1n == EOF)\n    -sem(ispunct, (1n >= UCHAR_MIN && 1n <= UCHAR_MAX) || 1n == EOF)\n    -sem(isspace, (1n >= UCHAR_MIN && 1n <= UCHAR_MAX) || 1n == EOF)\n    -sem(isupper, (1n >= UCHAR_MIN && 1n <= UCHAR_MAX) || 1n == EOF)\n    -sem(isxdigit, (1n >= UCHAR_MIN && 1n <= UCHAR_MAX) || 1n == EOF)\n    -sem(tolower, (1n >= UCHAR_MIN && 1n <= UCHAR_MAX) || 1n == EOF)\n    -sem(toupper, (1n >= UCHAR_MIN && 1n <= UCHAR_MAX) || 1n == EOF)\n\n    +esym(426, isalnum)\n    +esym(426, isalpha)\n    +esym(426, isblank)\n    +esym(426, iscntrl)\n    +esym(426, isdigit)\n    +esym(426, isgraph)\n    +esym(426, islower)\n    +esym(426, isprint)\n    +esym(426, ispunct)\n    +esym(426, isspace)\n    +esym(426, isupper)\n    +esym(426, isxdigit)\n    +esym(426, tolower)\n    +esym(426, toupper)\n\n    -append(426(isalnum), value passed to isalnum is not representable as unsigned char and is not EOF)\n    -append(426(isalnum),[MISRA 2012 Rule 21.13, mandatory])\n\n    -append(426(isalpha), value passed to isalpha is not representable as unsigned char and is not EOF)\n    -append(426(isalpha),[MISRA 2012 Rule 21.13, mandatory])\n\n    -append(426(isblank), value passed to isblank is not representable as unsigned char and is not EOF)\n    -append(426(isblank),[MISRA 2012 Rule 21.13, mandatory])\n\n    -append(426(iscntrl), value passed to iscntrl is not representable as unsigned char and is not EOF)\n    -append(426(iscntrl),[MISRA 2012 Rule 21.13, mandatory])\n\n    -append(426(isdigit), value passed to isdigit is not representable as unsigned char and is not EOF)\n    -append(426(isdigit),[MISRA 2012 Rule 21.13, mandatory])\n\n    -append(426(isgraph), value passed to isgraph is not representable as unsigned char and is not EOF)\n    -append(426(isgraph),[MISRA 2012 Rule 21.13, mandatory])\n\n    -append(426(islower), value passed to islower is not representable as unsigned char and is not EOF)\n    -append(426(islower),[MISRA 2012 Rule 21.13, mandatory])\n\n    -append(426(isprint), value passed to isprint is not representable as unsigned char and is not EOF)\n    -append(426(isprint),[MISRA 2012 Rule 21.13, mandatory])\n\n    -append(426(ispunct), value passed to ispunct is not representable as unsigned char and is not EOF)\n    -append(426(ispunct),[MISRA 2012 Rule 21.13, mandatory])\n\n    -append(426(isspace), value passed to isspace is not representable as unsigned char and is not EOF)\n    -append(426(isspace),[MISRA 2012 Rule 21.13, mandatory])\n\n    -append(426(isupper), value passed to isupper is not representable as unsigned char and is not EOF)\n    -append(426(isupper),[MISRA 2012 Rule 21.13, mandatory])\n\n    -append(426(isxdigit), value passed to isxdigit is not representable as unsigned char and is not EOF)\n    -append(426(isxdigit),[MISRA 2012 Rule 21.13, mandatory])\n\n    -append(426(tolower), value passed to tolower is not representable as unsigned char and is not EOF)\n    -append(426(tolower),[MISRA 2012 Rule 21.13, mandatory])\n\n    -append(426(toupper), value passed to toupper is not representable as unsigned char and is not EOF)\n    -append(426(toupper),[MISRA 2012 Rule 21.13, mandatory])\n\n/**** Rule 21.14 (Req) ************/\n\n    /* Not currently supported */\n\n/**** Rule 21.15 (Req) ************/\n\n    +e857              /* incompatible pointer arguments to memcpy/memmove/memcmp */\n    +elib(857)\n    -append(857,[MISRA 2012 Rule 21.15, required])\n\n/**** Rule 21.16 (Req) ************/\n\n    +e9098          /* pointer argument to memcmp does not point to a pointer type\n                       or an essentially signed, unsigned, boolean, or enum type */\n    +elib(9098)\n    -append(9098,[MISRA 2012 Rule 21.16, required])\n\n/**** Rule 21.17 (Mand) ************/\n\n    /* While MISRA has declared this rule to be \"undecidable\", Gimpel\n     * Software provides the following options to assist:\n     */\n\n    /* 419 - apparent data overrun for function */\n    /* 420 - apparent access beyond array for function */\n\n    +esym(419 420, strcat, strcpy)\n    -append(419(strcat),[MISRA 2012 Rule 21.17, mandatory])\n    -append(420(strcat),[MISRA 2012 Rule 21.17, mandatory])\n    -append(419(strcpy),[MISRA 2012 Rule 21.17, mandatory])\n    -append(420(strcpy),[MISRA 2012 Rule 21.17, mandatory])\n\n/**** Rule 21.18 (Mand) ************/\n\n    /* While MISRA has declared this rule to be \"undecidable\", Gimpel\n     * Software provides the following options to assist:\n     */\n\n    /* 419 - apparent data overrun for function */\n    /* 420 - apparent access beyond array for function */\n    /* 422 - function passed a negative value */\n\n    +esym(419 420 422, memchr, memcmp, memcpy, memmove, memset)\n    +esym(419 420 422, strncat, strncmp, strncpy, strxfrm)\n\n    /* PC-lint Plus will issue 419 when it can determine that\n     * the size parameter of the below functions exceeds the\n     * size of the buffer that is being written to.\n     */\n\n    -append(419(memcpy),[MISRA 2012 Rule 21.18, mandatory])\n    -append(419(memmove),[MISRA 2012 Rule 21.18, mandatory])\n    -append(419(strncat),[MISRA 2012 Rule 21.18, mandatory])\n    -append(419(strncpy),[MISRA 2012 Rule 21.18, mandatory])\n\n    /* PC-lint Plus will issue 420 when it can determine that\n     * the size parameter of the below functions exceeds the\n     * size of the buffer that is being read from.\n     */\n\n    -append(420(memchr),[MISRA 2012 Rule 21.18, mandatory])\n    -append(420(memcmp),[MISRA 2012 Rule 21.18, mandatory])\n    -append(420(memcpy),[MISRA 2012 Rule 21.18, mandatory])\n    -append(420(memmove),[MISRA 2012 Rule 21.18, mandatory])\n\n    /* PC-lint Plus will issue 422 when it can determine that\n     * a negative value is being passed to the size parameter\n     * of the below functions.\n     */\n\n    -append(422(memchr),[MISRA 2012 Rule 21.18, mandatory])\n    -append(422(memcmp),[MISRA 2012 Rule 21.18, mandatory])\n    -append(422(memcpy),[MISRA 2012 Rule 21.18, mandatory])\n    -append(422(memmove),[MISRA 2012 Rule 21.18, mandatory])\n    -append(422(memset),[MISRA 2012 Rule 21.18, mandatory])\n    -append(422(strncat),[MISRA 2012 Rule 21.18, mandatory])\n    -append(422(strncmp),[MISRA 2012 Rule 21.18, mandatory])\n    -append(422(strncpy),[MISRA 2012 Rule 21.18, mandatory])\n    -append(422(strxfrm),[MISRA 2012 Rule 21.18, mandatory])\n\n/**** Rule 21.19 (Mand) ************/\n\n    /* Not currently supported */\n\n/**** Rule 21.20 (Mand) ************/\n\n    /* Not currently supported */\n\n/**** Rule 22.7 (Req) ************/\n\n    /* Not currently supported */\n\n/**** Rule 22.8 (Req) ************/\n\n    /* Not currently supported */\n\n/**** Rule 22.9 (Req) ************/\n\n    /* Not currently supported */\n\n/**** Rule 22.10 (Req) ************/\n\n    /* Not currently supported */\n\n"
  },
  {
    "path": "ports/lint-plus/au-misra3.lnt",
    "content": "// ---------------------------------------------------------------------------\n// Copyright Gimpel Software LLC 2019. All rights reserved.\n//\n// This file is provided by Gimpel Software LLC (https://www.gimpel.com) for\n// use with PC-lint Plus. Redistribution is permitted but any redistribution\n// must preserve this notice and, if the redistributed file has been modified,\n// provide notice that the file has been modified from the original.\n// ---------------------------------------------------------------------------\n\n// au-misra3.lnt -- Author options - MISRA C 2012\n\n/*\n    This options file can be used to explicitly activate those\n    checks advocated by the Motor Industry Software Reliability\n    Association.\n\n    You can use this file directly when linting your programs as in:\n\n    lint au-misra3.lnt hello.c\n\n    Gimpel Software relies on the document, \"MISRA-C:2012\n    Guidelines for the use of the C language in critical systems\",\n    copyright 2012 by MISRA Limited, as the primary source for this\n    file. Gimpel Software makes no warranty as to the completeness\n    or applicability of this options file and reserves the right to\n    amend or alter the official contents of such at any time.\n\n    \"MISRA\" is a registered trademark of MIRA Limited, held on\n    behalf of the MISRA Consortium.\n\n */\n\n/* version check */ -cond('%PCLP_NO_LNT_VERSION_CHECK%' != '1' && (%LINT_MAJOR_VERSION% != 1 || %LINT_MINOR_VERSION% != 3),\n    +fatal_error(This configuration file is intended for PC-lint Plus 1.3.\n                 You are attempting to use it with PC-lint Plus %LINT_MAJOR_VERSION%.%LINT_MINOR_VERSION%.\n                 It is recommended that you use configuration files intended\n                 for PC-lint Plus %LINT_MAJOR_VERSION%.%LINT_MINOR_VERSION%.)\n)\n\n\n/**** Dir 1.1 (Req) ************/\n\n    /* not statically checkable */\n\n/**** Dir 2.1 (Req) ************/\n\n    -std(c99)                /* strict ISO C99 */\n    /* Note: if you code to the C90 standard instead, you may\n       want to comment out the above option and uncomment the\n       following option. You will also want to do likewise for\n       other uses of the '-std(c99)' option throughout this file. */\n    // -std(c90)\n\n/**** Dir 3.1 (Req) ************/\n\n    /* not statically checkable */\n\n/**** Dir 4.1 (Req) ************/\n\n    /* not statically checkable */\n\n/**** Dir 4.2 (Adv) ************/\n\n    /* not statically checkable */\n\n/**** Dir 4.3 (Req) ************/\n\n    +e586        /* to activate the deprecation message */\n    +elib(586)\n    -deprecate(keyword,asm,[MISRA 2012 Directive 4.3, required])\n\n/**** Dir 4.4 (Adv) ************/\n\n    /* This requirement (that there be no commented-out code) is, in\n       principle, not statically checkable.  The reason given for the\n       requirement is that comments do not nest.  Thus a commented\n       out section of code that happens to use slash-star commenting\n       could inadvertently introduce unwanted code.  Rule 3.1, however,\n       addresses the nested comment issue and hence the major concern\n       that this requirement seeks to address is indeed checkable.\n     */\n    -fnc                   /* flag nested comments */\n    +e602                  /* comment within comment */\n    +elib(602)\n    -append(602,[MISRA 2012 Directive 4.4, advisory])\n\n/**** Dir 4.5 (Adv) ************/\n\n    +fta            /* enable typographical ambiguity checking */\n    +e9046              /* typographical ambiguity */\n    +elib(9046)\n    -append(9046,[MISRA 2012 Directive 4.5, advisory])\n\n/**** Dir 4.6 (Adv) ************/\n\n    +e970               /* flag modifiers used outside of typedefs */\n    +elib(970)\n    -append(970,[MISRA 2012 Directive 4.6, advisory])\n    //  For the duration, we are presuming MISRA does not want\n    //  diagnostics for the bool type.\n    -esym(970,bool)\n    -esym(970,char)\n\n/**** Dir 4.7 (Req) ************/\n\n    +e534               /* ignoring return value of function */\n    +elib(534)\n    -append(534,[MISRA 2012 Directive 4.7, required])\n\n/**** Dir 4.8 (Adv) ************/\n\n    +e9045               /* non-hidden definition of type */\n    +elib(9045)\n    -append(9045,[MISRA 2012 Directive 4.8, advisory])\n\n/**** Dir 4.9 (Adv) ************/\n\n    +e9026               /* function-like macro defined */\n    +elib(9026)\n    -append(9026,[MISRA 2012 Directive 4.9, advisory])\n\n/**** Dir 4.10 (Req) ************/\n\n    +e451             /* Header repeatedly included without guard */\n    +elib(451)\n    -append(451,[MISRA 2012 Directive 4.10, required])\n\n/**** Dir 4.11 (Req) ************/\n\n    /* The arguments to over 100 calls to standard library functions\n       are monitored; users can specify additional constraints for\n       other functions.\n     */\n\n/**** Dir 4.12 (Req) ************/\n\n    +e586       /* Symbol is deprecated */\n    +elib(586)\n    -deprecate(function,calloc,[MISRA 2012 Directive 4.12, required])\n    -deprecate(function,malloc,[MISRA 2012 Directive 4.12, required])\n    -deprecate(function,realloc,[MISRA 2012 Directive 4.12, required])\n    -deprecate(function,free,[MISRA 2012 Directive 4.12, required])\n\n/**** Dir 4.13 (Adv) ************/\n\n    /* Not currently supported */\n\n/**** Rule 1.1 (Req) ************/\n\n    /* While MISRA has declared this rule to be \"undecidable\", Gimpel\n     * Software provides the following options to assist:\n     */\n    -std(c99)                /* strict ISO C99 */\n    /* Note: if you code to the C90 standard instead, you may\n       want to comment out the above option and uncomment the\n       following option. You will also want to do likewise for\n       other uses of the '-std(c99)' option throughout this file. */\n    // -std(c90)\n\n/**** Rule 1.2 (Adv) ************/\n\n    /* While MISRA has declared this rule to be \"undecidable\", Gimpel\n     * Software provides the following options to assist:\n     */\n    -std(c99)                /* strict ISO C99 */\n    /* Note: if you code to the C90 standard instead, you may\n       want to comment out the above option and uncomment the\n       following option. You will also want to do likewise for\n       other uses of the '-std(c99)' option throughout this file. */\n    // -std(c90)\n\n/**** Rule 1.3 (Req) ************/\n\n    /* While MISRA has declared this rule to be \"undecidable\", Gimpel\n     * Software provides the following options to assist:\n     */\n\n    /* Avoid the use of undefined or unspecified behavior as described\n       in ISO C, Appendix A.6.1 and Appendix A.6.2 */\n\n    /* Source file not ending in a new-line character, ending in\n       new-line character immediately preceded by a backslash\n       character, or ending in a partial preprocessing token or\n       comment (ISO C, Appendix A.6.2, point 1).\n     */\n\n    /* Unclosed quotes (ISO C, Appendix A.6.2, point 4).\n     */\n    +e2     /* unclosed quote */\n    +elib(2)\n    -append(2,[MISRA 2012 Rule 1.3, required])\n\n    /* Repeated label within a function (ISO C, Appendix A.6.2, point\n       5).\n     */\n    +e31    /* symbol redefinition */\n    +elib(31)\n    -append(31,[MISRA 2012 Rule 1.3, required])\n\n    /* Non-visible identifier used (ISO C, Appendix A.6.2, point 6).\n     */\n    +e40    /* undeclared identifier */\n    +elib(40)\n    -append(40,[MISRA 2012 Rule 1.3, required])\n\n    /* Identifiers for the same entity differ beyond the minimal\n       significant characters (ISO C, Appendix A.6.2, point 7).\n       See Rules 5.1, 5.2, 5.4, and 5.5.\n     */\n\n    /* The same identifier has both internal and external linkage in\n       the same translation unit (ISO C, Appendix A.6.2, point 8).\n     */\n    +e401   /* symbol not previously declared static */\n    +elib(401)\n    -append(401,[MISRA 2012 Rule 1.3, required])\n\n    /* Multiple definitions for the same externally linked identifier\n       (ISO C, Appendix A.6.2, point 9).\n     */\n    +e31    /* symbol redefinition */\n    +elib(31)\n\n    /* Using automatic storage data via a pointer after the data's\n       lifetime (ISO C, Appendix A.6.2, point 10).\n     */\n    +e604   /* returning address of auto variable */\n    +elib(604)\n    -append(604,[MISRA 2012 Rule 1.3, required])\n\n    /* Incompatible redeclarations (ISO C, Appendix A.6.2, point 11).\n       See Rule 8.3\n     */\n\n    /* Non-standard escape sequence (ISO C, Appendix A.6.2, point 12).\n     */\n    +e606   /* non-ANSI escape sequence */\n    +elib(606)\n    -append(606,[MISRA 2012 Rule 1.3, required])\n\n    /* Non-standard character in header name (ISO C, Appendix A.6.2,\n       point 15).\n       See Rule 20.2\n     */\n    +e9020   /* header name with non-standard character */\n    +elib(9020)\n    -append(9020,[MISRA 2012 Rule 1.3, required])\n\n    /* No complete type available (ISO C, Appendix A.6.2, point 16).\n     */\n    +e86    /* structure has no data elements */\n    +elib(86)\n    -append(86,[MISRA 2012 Rule 1.3, required])\n\n    /* Modifying an object more than once or modifying and accessing\n       between two sequence points (ISO C, Appendix A.6.2, point 18).\n       See Rule 13.2\n     */\n    +e564   /* variable depends on order of evaluation */\n    +elib(564)\n    -append(564,[MISRA 2012 Rule 1.3, required])\n\n    /* Invalid arithmetic operations or unrepresentable results\n       (ISO C, Appendix A.6.2, point 19).\n     */\n    +e54    /* division by 0 */\n    +elib(54)\n    -append(54,[MISRA 2012 Rule 1.3, required])\n    +e414   /* possible division by 0 */\n    +elib(414)\n    -append(414,[MISRA 2012 Rule 1.3, required])\n    /* Also, see Rule 12.4 */\n\n    /* Passing a void argument to a function (ISO C, Appendix A.6.2,\n       point 20).\n     */\n\n    /* Incompatible function redeclaration (ISO C, Appendix A.6.2,\n       point 22).\n       See Rule 8.3\n     */\n\n    /* An invalid array reference, null pointer reference, or\n       reference to an object declared with automatic storage duration in\n       a terminated block occurs (ISO C, Appendix A.6.2, point 24).\n     */\n    +e413   /* likely use of null pointer */\n    +elib(413)\n    -append(413,[MISRA 2012 Rule 1.3, required])\n    +e415   /* out-of-bounds pointer */\n    +elib(415)\n    -append(415,[MISRA 2012 Rule 1.3, required])\n    +e416   /* out-of-bounds pointer */\n    +elib(416)\n    -append(416,[MISRA 2012 Rule 1.3, required])\n    +e428   /* negative subscript */\n    +elib(428)\n    -append(428,[MISRA 2012 Rule 1.3, required])\n    /* Also, see Rule 17.6 */\n\n    /* A pointer to a function is converted to a pointer to an object\n       or a pointer to an object is converted to a pointer to a function\n       (ISO C, Appendix A.6.2, point 26).\n     */\n    +e2454  /* incompatible pointer types */\n    +elib(2454)\n    -append(2454,[MISRA 2012 Rule 1.3, required])\n\n    /* An identifier for an object is declared with no linkage and the\n       type of the object is incomplete after its declarator, or after its\n       init-declarator if it has an initializer (ISO C, Appendix\n       A.6.2, point 33).\n     */\n    +e86    /* structure has no data elements */\n    +elib(86)\n\n    /* Declaring a function at block scope with a storage-class\n       specifier other than extern (ISO C, Appendix A.6.2, point 34).\n     */\n    +e629   /* static class for function */\n    +elib(629)\n    -append(629,[MISRA 2012 Rule 1.3, required])\n\n    /* A bit-field is declared with a type other than int, signed int,\n       or unsigned int (ISO C, Appendix A.6.2, point 35).\n       See Rule 6.1.\n     */\n\n    /* Using the value of uninitialized automatic object (ISO C,\n       Appendix A.6.2, point 38).\n       See Rule 9.1\n     */\n\n    /* An object with aggregate or union type with static storage\n       duration has a non-brace-enclosed initializer, or an object\n       with aggregate or union type with automatic storage duration\n       has either a single expression initializer with a type other\n       than that of the object or a non-brace-enclosed initializer\n       (ISO C, Appendix A.6.2, point 39).\n       Also, see Rule 9.2\n     */\n    +e64    /* type mismatch */\n    +elib(64)\n    -append(64,[MISRA 2012 Rule 1.3, required])\n\n    /* The value of a function is used, but no value was returned\n       (ISO C, Appendix A.6.2, point 40).\n       See Rule 17.4.\n     */\n\n    /* A function that accepts a variable number of arguments is\n       defined without a parameter type list that ends with the\n       ellipsis notation (ISO C, Appendix A.6.2, point 41).\n     */\n\n    /* An identifier for an object with internal linkage and an\n       incomplete type is declared with a tentative definition (ISO C,\n       Appendix A.6.2, point 42).\n     */\n    +e86    /* structure has no data elements */\n    +elib(86)\n\n    /* Non-standard #include preprocessing directive (ISO C, Appendix\n       A.6.2, point 44).\n       See Rule 20.3.\n     */\n\n    /* Non-standard #line directive (ISO C, Appendix A.6.2, point 49).\n     */\n    +\"estring(10,a numeric constant)\"  /* expecting a numeric constant */\n\n    /* #defining or #undefing any of: defined, __LINE__, __FILE__,\n       __DATE__, __TIME__, or __STDC__ (ISO C, Appendix A.6.2, point 50).\n     */\n    +e136   /* illegal macro name */\n    +elib(136)\n    -append(136,[MISRA 2012 Rule 1.3, required])\n\n    /* Format-argument mismatch in an fprintf or fscanf type of\n       function (ISO C, Appendix A.6.2, point 75).\n     */\n    +e558   /* too few arguments */\n    +elib(558)\n    -append(558,[MISRA 2012 Rule 1.3, required])\n    +e719   /* too many arguments */\n    +elib(719)\n    -append(719,[MISRA 2012 Rule 1.3, required])\n\n    /* A %% conversion specification for the fprintf or fscanf\n       function contains characters between the pair of % characters\n       (ISO C, Appendix A.6.2, point 77).\n     */\n    +e557   /* unrecognized format */\n    +elib(557)\n    -append(557,[MISRA 2012 Rule 1.3, required])\n\n    /* An aggregate or union, or a pointer to an aggregate or union is\n       an argument to the fprintf function, except for the conversion\n       specifiers %s (for an array of character type) or %p (for a pointer\n       to void) (ISO C, Appendix A.6.2, point 81).\n     */\n    +e437   /* passing struct to ellipsis */\n    +elib(437)\n    -append(437,[MISRA 2012 Rule 1.3, required])\n\n    /* Referring to deallocated space (ISO C, Appendix A.6.2, point\n       87).\n     */\n    +e449   /* previously deallocated pointer */\n    +elib(449)\n    -append(449,[MISRA 2012 Rule 1.3, required])\n\n    /* Misuse of free or realloc (ISO C, Appendix A.6.2, point 88).\n     */\n    +esym(424,free) /* inappropriate deallocation */\n    -append(424,[MISRA 2012 Rule 1.3, required])\n\n    /* An array written to by a copying or concatenation function is\n       too small (ISO C, Appendix A.6.2, point 91).\n     */\n    +e419   /* data overrun */\n    +elib(419)\n    -append(419,[MISRA 2012 Rule 1.3, required])\n\n    /* Order of evaluation (ISO C, Appendix A.6.1, point 7).\n     */\n    +e564   /* variable depends on order of evaluation */\n    +elib(564)\n    -append(564,[MISRA 2012 Rule 1.3, required])\n\n    /* Side effects order (ISO C, Appendix A.6.1, point 8).\n     */\n    +e931   /* both sides of an expression have side-effects */\n    +elib(931)\n    -append(931,[MISRA 2012 Rule 1.3, required])\n\n    /* Function argument evaluation (ISO C, Appendix A.6.1, point 9).\n     */\n    +e564   /* variable depends on order of evaluation */\n    +elib(564)\n\n    /* The order in which # and ## operations are evaluated during\n       macro substitution (ISO C, Appendix A.6.1, point 12).\n     */\n    +e9023   /* multiple '#/##' operators in macro definition */\n    +elib(9023)\n    -append(9023,[MISRA 2012 Rule 1.3, required])\n\n    /* Whether setjmp is a macro or an external identifier (ISO C,\n       Appendix A.6.1, point 14).\n       See Rule 21.2.\n     */\n\n/**** Rule 2.1 (Req) ************/\n\n    /* While MISRA has declared this rule to be \"undecidable\", Gimpel\n     * Software provides the following options to assist:\n     */\n    +e527       /* unreachable */\n    +elib(527)\n    -append(527,[MISRA 2012 Rule 2.1, required])\n    +e681       /* loop not entered */\n    +elib(681)\n    -append(681,[MISRA 2012 Rule 2.1, required])\n    +e827       /* loop not reachable */\n    +elib(827)\n    -append(827,[MISRA 2012 Rule 2.1, required])\n\n/**** Rule 2.2 (Req) ************/\n\n    /* While MISRA has declared this rule to be \"undecidable\", Gimpel\n     * Software provides the following options to assist:\n     */\n    +e438       /* value not used */\n    +elib(438)\n    -append(438,[MISRA 2012 Rule 2.2, required])\n    +e505       /* redundant argument to comma */\n    +elib(505)\n    -append(505,[MISRA 2012 Rule 2.2, required])\n    +e520       /* highest operator has no side effects */\n    +elib(520)\n    -append(520,[MISRA 2012 Rule 2.2, required])\n    +e521       /* highest operator has no side effects */\n    +elib(521)\n    -append(521,[MISRA 2012 Rule 2.2, required])\n    +e522       /* highest operator has no side effects */\n    +elib(522)\n    -append(522,[MISRA 2012 Rule 2.2, required])\n    +e774       /* condition always evaluates to true/false */\n    +elib(774)\n    -append(774,[MISRA 2012 Rule 2.2, required])\n\n/**** Rule 2.3 (Adv) ************/\n\n    +e751       /* local typedef not referenced */\n    +elib(751)\n    -append(751,[MISRA 2012 Rule 2.3, advisory])\n    +e756       /* global not referenced */\n    +elib(756)\n    -append(756,[MISRA 2012 Rule 2.3, advisory])\n\n/**** Rule 2.4 (Adv) ************/\n\n    +e753       /* local tag not referenced */\n    +elib(753)\n    -append(753,[MISRA 2012 Rule 2.4, advisory])\n    +e9058\n    +elibsym(9058)\n    -append(9058,[MISRA 2012 Rule 2.4, advisory])\n\n/**** Rule 2.5 (Adv) ************/\n\n    +e750       /* local macro not referenced */\n    +elib(750)\n    -append(750,[MISRA 2012 Rule 2.5, advisory])\n    +e755       /* global macro not referenced */\n    +elib(755)\n    -append(755,[MISRA 2012 Rule 2.5, advisory])\n\n/**** Rule 2.6 (Adv) ************/\n\n    +e563       /* label not referenced */\n    +elib(563)\n    -append(563,[MISRA 2012 Rule 2.6, advisory])\n\n/**** Rule 2.7 (Adv) ************/\n\n    +e715               /* not referenced */\n    +elib(715)\n    -append(715,[MISRA 2012 Rule 2.7, advisory])\n\n/**** Rule 3.1 (Req) ************/\n\n    -fnc                   /* flag nested comments */\n    +e602                  /* comment within comment */\n    +elib(602)\n    -append(602,[MISRA 2012 Rule 3.1, required])\n    +e9059\n    +elib(9059)\n    -append(9059,[MISRA 2012 Rule 3.1, required])\n    +e9066\n    +elib(9066)\n    -append(9066,[MISRA 2012 Rule 3.1, required])\n    +e9259\n    +elib(9259)\n    -append(9259,[MISRA 2012 Rule 3.1, required])\n\n/**** Rule 3.2 (Req) ************/\n\n    +e427               /* C++ comment ends in \\\\ */\n    +elib(427)\n    -append(427,[MISRA 2012 Rule 3.2, required])\n\n/**** Rule 4.1 (Req) ************/\n\n    +e9039                              /* prohibited escape sequence */\n    +elib(9039)\n    -append(9039,[MISRA 2012 Rule 4.1, required])\n\n/**** Rule 4.2 (Adv) ************/\n\n    -ftg                        /* inhibit use of trigraphs */\n    +e584                       /* activate trigraph detected message */\n    +elib(584)\n    -append(584,[MISRA 2012 Rule 4.2, advisory])\n    +e739                       /* activate trigraph in string message */\n    +elib(739)\n    -append(739,[MISRA 2012 Rule 4.2, advisory])\n    +e9060                       /* trigraph in comment */\n    +elib(9060)\n    -append(9060,[MISRA 2012 Rule 4.2, advisory])\n\n/**** Rule 5.1 (Req) ************/\n\n    -idlen(31, x)       /* Sets the number of significant characters in an external\n                           identifier, update as appropriate for your target.  Use\n                           'X' instead of 'x' if external identifiers are not case\n                           sensitive. C90 guarantees 6 characters are significant,\n                           C99 guarantees at least 31 characters are significant. */\n\n    +e621                /* identifier clash */\n    +elib(621)\n    -append(621(\"external vs external\"), [MISRA 2012 Rule 5.1, required])\n\n/**** Rule 5.2 (Req) ************/\n\n    -idlen(63, c)       /* Sets the number of significant characters in an internal\n                           identifier, update as appropriate for your target.  Use\n                           'C' instead of 'c' if internal identifiers are not case\n                           sensitive. C90 guarantees 31 characters are significant,\n                           C99 guarantees at least 63 characters are significant. */\n\n    +e621                /* identifier clash */\n    +elib(621)\n    -append(621(\"tag vs tag\"), [MISRA 2012 Rule 5.2, required])\n    -append(621(\"field vs field\"), [MISRA 2012 Rule 5.2, required])\n    -append(621(\"label vs label\"), [MISRA 2012 Rule 5.2, required])\n    -append(621(\"internal vs internal, same scope\"), [MISRA 2012 Rule 5.2, required])\n    -append(621(\"internal vs external, same scope\"), [MISRA 2012 Rule 5.2, required])\n    -append(621(\"external vs internal, same scope\"), [MISRA 2012 Rule 5.2, required])\n\n/**** Rule 5.3 (Req) ************/\n\n    +e578               /* enable reports of name hiding */\n    +elib(578)\n    -append(578,[MISRA 2012 Rule 5.3, required])\n\n    /* This rule uses the same -idlen option values as 5.2 */\n\n    +e621                /* identifier clash */\n    +elib(621)\n    -append(621(\"internal vs internal, enclosing scope\"), [MISRA 2012 Rule 5.3, required])\n    -append(621(\"internal vs external, enclosing scope\"), [MISRA 2012 Rule 5.3, required])\n    -append(621(\"external vs internal, enclosing scope\"), [MISRA 2012 Rule 5.3, required])\n\n/**** Rule 5.4 (Req) ************/\n\n    -idlen(63, p)       /* Sets the number of significant characters in a preprocessor\n                           identifier, update as appropriate for your target.  Use\n                           'P' instead of 'p' if preprocessor identifiers are not case\n                           sensitive. C90 guarantees 31 characters are significant,\n                           C99 guarantees at least 63 characters are significant. */\n\n    +e547               /* conflicting macro definition */\n    +elib(547)\n    -append(547,[MISRA 2012 Rule 5.4, required])\n\n    +e760               /* macro redefined identically */\n    +elib(760)\n    -append(760,[MISRA 2012 Rule 5.4, required])\n\n    +e621                /* identifier clash */\n    +elib(621)\n    -append(621(\"macro vs macro\"), [MISRA 2012 Rule 5.4, required])\n    -append(621(\"macro vs macro parameter\"), [MISRA 2012 Rule 5.4, required])\n    -append(621(\"macro parameter vs macro parameter\"), [MISRA 2012 Rule 5.4, required])\n\n/**** Rule 5.5 (Req) ************/\n\n    /* 9095 - symbol has same name as previously defined macro */\n    +e9095\n    +elib(9095)\n    -append(9095,[MISRA 2012 Rule 5.5, required])\n\n    /* 9096 - symbol has same name as subsequently defined macro */\n    +e9096\n    +elib(9096)\n    -append(9096,[MISRA 2012 Rule 5.5, required])\n\n/**** Rule 5.6 (Req) ************/\n\n    /* Not currently supported */\n\n/**** Rule 5.7 (Req) ************/\n\n    +e407               /* Inconsistent use of tag */\n    +elib(407)\n    -append(407,[MISRA 2012 Rule 5.7, required])\n\n    +e631               /* Tag defined differently */\n    +elib(631)\n    -append(631,[MISRA 2012 Rule 5.7, required])\n\n/**** Rule 5.8 (Req) ************/\n\n    /* Not currently supported */\n\n/**** Rule 5.9 (Adv) ************/\n\n    /* Not currently supported */\n\n/**** Rule 6.1 (Req) ************/\n\n    /* 9149     bit field must be explicitly signed integer, unsigned integer,\n                or bool */\n    +e9149\n    +elib(9149)\n    -append(9149,[MISRA 2012 Rule 6.1, required])\n\n/**** Rule 6.2 (Req) ************/\n\n    +e9088               /* named signed single-bit bit-field */\n    +elib(9088)\n    -append(9088,[MISRA 2012 Rule 6.2, required])\n\n/**** Rule 7.1 (Req) ************/\n\n    +e9001                              /* Octal constant used */\n    +elib(9001)\n    -append(9001,[MISRA 2012 Rule 7.1, required])\n\n/**** Rule 7.2 (Req) ************/\n\n    +e9048                              /* unsigned literal without 'U' suffix */\n    +elib(9048)\n    -append(9048,[MISRA 2012 Rule 7.2, required])\n\n/**** Rule 7.3 (Req) ************/\n\n    +e620                           /* suspicious constant */\n    +elib(620)\n    -append(620,[MISRA 2012 Rule 7.3, required])\n    +e9057                          /* \"l\" after \"u\" in literal suffix */\n    +elib(9057)\n    -append(9057,[MISRA 2012 Rule 7.3, required])\n\n/**** Rule 7.4 (Req) ************/\n\n    +fsc\n    +e489                           /* attempting to modify a string literal */\n    +elib(489)\n    -append(489,[MISRA 2012 Rule 7.4, required])\n    +e1776                          /* string literal not const safe */\n    +elib(1776)\n    -append(1776,[MISRA 2012 Rule 7.4, required])\n    +e1778                          /* assignment of string literal not const safe */\n    +elib(1778)\n    -append(1778,[MISRA 2012 Rule 7.4, required])\n\n/**** Rule 8.1 (Req) ************/\n\n    +e601                           /* no explicit type */\n    +elib(601)\n    -append(601,[MISRA 2012 Rule 8.1, required])\n    +e808                           /* no explicit type */\n    +elib(808)\n    -append(808,[MISRA 2012 Rule 8.1, required])\n    +e832                           /* parameter has no explicit type */\n    +elib(832)\n    -append(832,[MISRA 2012 Rule 8.1, required])\n\n/**** Rule 8.2 (Req) ************/\n\n    +e937                     /* old-style function declaration */\n    +elib(937)\n    -append(937,[MISRA 2012 Rule 8.2, required])\n    +e18                          /* symbol redeclared */\n    +elib(18)\n    -append(18,[MISRA 2012 Rule 8.2, required])\n\n    +e936                         /* old-style function definition */\n    +elib(936)\n    -append(936,[MISRA 2012 Rule 8.2, required])\n\n    +e955                         /* param name missing from prototype */\n    +elib(955)\n    -append(955,[MISRA 2012 Rule 8.2, required])\n\n/**** Rule 8.3 (Req) ************/\n\n    +e18                          /* symbol redeclared */\n    +elib(18)\n    -append(18,[MISRA 2012 Rule 8.3, required])\n\n    /* 9072 parameter has different name than previous declaration  */\n    +e9072\n    +elib(9072)\n    -append(9072,[MISRA 2012 Rule 8.3, required])\n\n    /* 9073 parameter has type alias name type difference with previous\n            declaration */\n    +e9073\n    +elib(9073)\n    -append(9073,[MISRA 2012 Rule 8.3, required])\n\n    /* 9094 return type has type alias name difference with previous\n            declaration */\n    +e9094\n    +elib(9094)\n    -append(9094,[MISRA 2012 Rule 8.3, required])\n\n/**** Rule 8.4 (Req) ************/\n\n    +e15        /* symbol redeclared */\n    +elib(15)\n    -append(15,[MISRA 2012 Rule 8.4, required])\n\n    /* 957 - function defined without prototype in scope */\n    +e957\n    +elib(957)\n    -append(957,[MISRA 2012 Rule 8.4, required])\n\n    /* 9075 external symbol defined without a prior declaration */\n    +e9075\n    +elib(9075)\n    -append(9075,[MISRA 2012 Rule 8.4, required])\n\n/**** Rule 8.5 (Req) ************/\n\n    +e9004        /* object/function previously declared */\n    +elib(9004)\n    -append(9004,[MISRA 2012 Rule 8.5, required])\n\n/**** Rule 8.6 (Req) ************/\n\n    /* Not currently supported */\n\n/**** Rule 8.7 (Adv) ************/\n\n    +e765        /* could be made static */\n    +elib(765)\n    -append(765,[MISRA 2012 Rule 8.7, advisory])\n\n/**** Rule 8.8 (Req) ************/\n\n    +e839           /* storage class assumed static */\n    +elib(839)\n    -append(839,[MISRA 2012 Rule 8.8, required])\n\n/**** Rule 8.9 (Adv) ************/\n\n    +e9003        /* could define variable at block scope */\n    +elib(9003)\n    -append(9003,[MISRA 2012 Rule 8.9, advisory])\n\n/**** Rule 8.10 (Req) ************/\n\n    +e695             /* inline function without storage-class specifier */\n    +elib(695)\n    -append(695,[MISRA 2012 Rule 8.10, required])\n    +estring(9056,extern)     /* inline function defined with extern */\n    -append(9056,[MISRA 2012 Rule 8.10, required])\n\n/**** Rule 8.11 (Adv) ************/\n\n    +e9067             /* array has no dimension or initializer */\n    +elib(9067)\n    -append(9067,[MISRA 2012 Rule 8.11, advisory])\n\n/**** Rule 8.12 (Req) ************/\n\n    +e488    /* duplicate enumerator values */\n    +elib(488)\n    -append(488,[MISRA 2012 Rule 8.12, required])\n\n/**** Rule 8.13 (Adv) ************/\n\n    /* While MISRA has declared this rule to be \"undecidable\", Gimpel\n     * Software provides the following options to assist:\n     */\n    +e818    /* pointer could be declared pointing to const */\n    +elib(818)\n    -append(818,[MISRA 2012 Rule 8.13, advisory])\n    +e844    /* pointer could be declared pointing to const */\n    +elib(844)\n    -append(844,[MISRA 2012 Rule 8.13, advisory])\n    +e954    /* pointer could be declared pointing to const */\n    +elib(954)\n    -append(954,[MISRA 2012 Rule 8.13, advisory])\n\n    -fcv /* report parameters even if exclusively cast to void */\n\n/**** Rule 8.14 (Req) ************/\n\n    +e586       /* Symbol is deprecated */\n    +elib(586)\n    -deprecate(keyword,restrict,[MISRA 2012 Rule 8.14, required])\n\n/**** Rule 9.1 (Mand) ************/\n\n    /* While MISRA has declared this rule to be \"undecidable\", Gimpel\n     * Software provides the following options to assist:\n     */\n    +e644                   /* Symbol may not have been initialized */\n    +elib(644)\n    -append(644,[MISRA 2012 Rule 9.1, mandatory])\n    +e530                   /* Symbol not initialized */\n    +elib(530)\n    -append(530,[MISRA 2012 Rule 9.1, mandatory])\n\n    /* 603 - argument to parameter of type pointer to const may be a pointer to\n        uninitialized memory */\n    +e603\n    +elib(603)\n    -append(603,[MISRA 2012 Rule 9.1, mandatory])\n\n/**** Rule 9.2 (Req) ************/\n\n    +e9069                  /* aggregate initialize needs braces or designator */\n    +elib(9069)\n    -append(9069,[MISRA 2012 Rule 9.2, required])\n\n/**** Rule 9.3 (Req) ************/\n\n    +e9068                  /* too few initializers */\n    +elib(9068)\n    -append(9068,[MISRA 2012 Rule 9.3, required])\n\n/**** Rule 9.4 (Req) ************/\n\n    +e485                               /* duplicate initialization */\n    +elib(485)\n    -append(485,[MISRA 2012 Rule 9.4, required])\n\n/**** Rule 9.5 (Req) ************/\n\n    +e9054                              /* designated initializer and dimensionless array */\n    +elib(9054)\n    -append(9054,[MISRA 2012 Rule 9.5, required])\n\n/**** Rule 10.1 (Req) ************/\n\n    +e48                /* bad type */\n    +elib(48)\n    -append(48,[MISRA 2012 Rule 10.1, required])\n    +e9027                              /* unpermitted operand */\n    +elib(9027)\n    -append(9027,[MISRA 2012 Rule 10.1, required])\n\n/**** Rule 10.2 (Req) ************/\n\n    +e9028                              /* unpermitted arithmetic */\n    +elib(9028)\n    -append(9028,[MISRA 2012 Rule 10.2, required])\n\n/**** Rule 10.3 (Req) ************/\n\n    +e9034                              /* expression assigned to narrower or different essential type */\n    +elib(9034)\n    -estring(9052, true, false)\n    -append(9034,[MISRA 2012 Rule 10.3, required])\n\n/**** Rule 10.4 (Req) ************/\n\n    +e9029                              /* mismatched essential type */\n    +elib(9029)\n    -append(9029,[MISRA 2012 Rule 10.4, required])\n\n/**** Rule 10.5 (Adv) ************/\n\n    +e9030                              /* impermissible cast */\n    +elib(9030)\n    -append(9030,[MISRA 2012 Rule 10.5, advisory])\n\n/**** Rule 10.6 (Req) ************/\n\n    +e9031                              /* composite expression assigned to wider essential type */\n    +elib(9031)\n    -append(9031,[MISRA 2012 Rule 10.6, required])\n\n/**** Rule 10.7 (Req) ************/\n\n    +e9032                              /* composite expression with smaller essential type than other operand*/\n    +elib(9032)\n    -append(9032,[MISRA 2012 Rule 10.7, required])\n\n/**** Rule 10.8 (Req) ************/\n\n    +e9033                              /* impermissible cast of composite expression */\n    +elib(9033)\n    -append(9033,[MISRA 2012 Rule 10.8, required])\n\n/**** Rule 11.1 (Req) ************/\n\n    /* 176 - cannot cast non-pointer non-integer to function pointer */\n    +e176\n    +elib(176)\n    -append(176,[MISRA 2012 Rule 11.1, required])\n\n    /* 178 - cannot cast function pointer to non-pointer non-integer */\n    +e178\n    +elib(178)\n    -append(178,[MISRA 2012 Rule 11.1, required])\n\n    +e9074                   /* conversion between a pointer to function and another type */\n    +elib(9074)\n    -append(9074,[MISRA 2012 Rule 11.1, required])\n\n/**** Rule 11.2 (Req) ************/\n\n    +e9076                   /* conversion between a pointer to incomplete type and another type */\n    +elib(9076)\n    -append(9076,[MISRA 2012 Rule 11.2, required])\n\n/**** Rule 11.3 (Req) ************/\n\n    +e9087         /* cast from pointer to pointer */\n    +elib(9087)\n    -append(9087,[MISRA 2012 Rule 11.3, required])\n\n/**** Rule 11.4 (Adv) ************/\n\n    +e9078                        /* cast pointer/integer */\n    +elib(9078)\n    -append(9078,[MISRA 2012 Rule 11.4, advisory])\n\n/**** Rule 11.5 (Adv) ************/\n\n    +e9079         /* cast from pointer to pointer */\n    +elib(9079)\n    -append(9079,[MISRA 2012 Rule 11.5, advisory])\n\n/**** Rule 11.6 (Req) ************/\n\n    +elib(923)     /* cast pointer/non-pointer */\n    +etype(923, void *)\n    -append(923,[MISRA 2012 Rule 11.6, required])\n\n/**** Rule 11.7 (Req) ************/\n\n    +e177       /* type cannot be cast to object pointer */\n    +elib(177)\n    -append(177,[MISRA 2012 Rule 11.7, required])\n\n    +e179       /* object pointer cannot be cast to type */\n    +elib(179)\n    -append(179,[MISRA 2012 Rule 11.7, required])\n\n    +e9295      /* cast between object pointer and forbidden essential type */\n    +elib(9295)\n    -append(9295,[MISRA 2012 Rule 11.7, required])\n\n/**** Rule 11.8 (Req) ************/\n\n    +e9005                              /* attempt to cast away const/volatile from pointer or reference */\n    +elib(9005)\n    -append(9005,[MISRA 2012 Rule 11.8, required])\n\n/**** Rule 11.9 (Req) ************/\n\n    +e9080      /* integer null pointer constant */\n    +elib(9080)\n    -append(9080,[MISRA 2012 Rule 11.9, required])\n\n/**** Rule 12.1 (Adv) ************/\n\n    +e9050        /* dependence placed on precedence */\n    +elib(9050)\n    -append(9050,[MISRA 2012 Rule 12.1, advisory])\n\n    +e9097        /* unparenthesized argument to sizeof */\n    +elib(9097)\n    -append(9097,[MISRA 2012 Rule 12.1, advisory])\n\n/**** Rule 12.2 (Req) ************/\n\n    /* While MISRA has declared this rule to be \"undecidable\", Gimpel\n     * Software provides the following options to assist:\n     */\n    +e598           /* excessive left shift */\n    +elib(598)\n    -append(598,[MISRA 2012 Rule 12.2, required])\n    +e9053          /* shift value exceeds size of LHS */\n    +elib(9053)\n    -append(9053,[MISRA 2012 Rule 12.2, required])\n\n/**** Rule 12.3 (Adv) ************/\n\n    +e9008                              /* comma operator used */\n    +elib(9008)\n    -append(9008,[MISRA 2012 Rule 12.3, advisory])\n\n/**** Rule 12.4 (Adv) ************/\n\n    /* not currently supported */\n\n/**** Rule 13.1 (Req) ************/\n\n    /* While MISRA has declared this rule to be \"undecidable\", Gimpel\n     * Software provides the following options to assist:\n     */\n    +e446                              /* side effect in initializer */\n    +elib(446)\n    -append(446,[MISRA 2012 Rule 13.1, required])\n\n/**** Rule 13.2 (Req) ************/\n\n    /* While MISRA has declared this rule to be \"undecidable\", Gimpel\n     * Software provides the following options to assist:\n     */\n    +e564            /* variable depends on order of evaluation */\n    +elib(564)\n    -append(564,[MISRA 2012 Rule 13.2, required])\n\n/**** Rule 13.3 (Adv) ************/\n\n    +e9049                              /* increment/decrement combined with other operations */\n    +elib(9049)\n    -append(9049,[MISRA 2012 Rule 13.3, advisory])\n\n/**** Rule 13.4 (Adv) ************/\n\n    +e720                    /* Boolean test of assignment */\n    +elib(720)\n    -append(720,[MISRA 2012 Rule 13.4, advisory])\n    +e820                    /* Boolean test of parenthesized assignment */\n    +elib(820)\n    -append(820,[MISRA 2012 Rule 13.4, advisory])\n    +e9084                   /* assignment used inside larger\n                                expression */\n    +elib(9084)\n    -append(9084,[MISRA 2012 Rule 13.4, advisory])\n\n/**** Rule 13.5 (Req) ************/\n\n    /* While MISRA has declared this rule to be \"undecidable\", Gimpel\n     * Software provides the following options to assist:\n     */\n    +e9007                              /* side effects on right hand side of logical operator */\n    +elib(9007)\n    -append(9007,[MISRA 2012 Rule 13.5, required])\n\n/**** Rule 13.6 (Mand) ************/\n\n    +e9006                              /* sizeof used with expression with side effect */\n    +elib(9006)\n    -append(9006,[MISRA 2012 Rule 13.6, mandatory])\n    +e9089                              /* potential side-effect in argument to sizeof */\n    +elib(9089)\n    -append(9089,[MISRA 2012 Rule 13.6, mandatory])\n\n/**** Rule 14.1 (Req) ************/\n\n    /* While MISRA has declared this rule to be \"undecidable\", Gimpel\n     * Software provides the following options to assist:\n     */\n    +e9009                              /* floating point variable used as loop counter */\n    +elib(9009)\n    -append(9009,[MISRA 2012 Rule 14.1, required])\n\n/**** Rule 14.2 (Req) ************/\n\n    /* Not currently supported */\n\n/**** Rule 14.3 (Req) ************/\n\n    /* While MISRA has declared this rule to be \"undecidable\", Gimpel\n     * Software provides the following options to assist:\n     */\n    +e685            /* relational always evaluates to true/false */\n    +elib(685)\n    -append(685,[MISRA 2012 Rule 14.3, required])\n    +e774            /* boolean always evaluates to true/false */\n    +elib(774)\n    -append(774,[MISRA 2012 Rule 14.3, required])\n    +e650            /* constant out of range for operator */\n    +elib(650)\n    -append(650,[MISRA 2012 Rule 14.3, required])\n\n/**** Rule 14.4 (Req) ************/\n\n    +e9036                              /* condition should have essentially Boolean type */\n    +elib(9036)\n    -append(9036,[MISRA 2012 Rule 14.4, required])\n\n/**** Rule 15.1 (Adv) ************/\n\n    +e801       /* use of 'goto' is deprecated */\n    +elib(801)\n    -append(801,[MISRA 2012 Rule 15.1, advisory])\n\n/**** Rule 15.2 (Req) ************/\n\n    +e9064      /* goto references earlier label */\n    +elib(9064)\n    -append(9064,[MISRA 2012 Rule 15.2, required])\n\n/**** Rule 15.3 (Req) ************/\n\n    +e9041                      /* goto not nested in the same block as label */\n    +elib(9041)\n    -append(9041,[MISRA 2012 Rule 15.3, required])\n\n/**** Rule 15.4 (Adv) ************/\n\n    +e9011                              /* more than one 'break' terminates loop */\n    +elib(9011)\n    -append(9011,[MISRA 2012 Rule 15.4, advisory])\n\n/**** Rule 15.5 (Adv) ************/\n\n    +e904                   /* return before function end */\n    +elib(904)\n    -append(904,[MISRA 2012 Rule 15.5, advisory])\n\n/**** Rule 15.6 (Req) ************/\n\n    +e9012                   /* sub-statement should be a compound statement */\n    +elib(9012)\n    -append(9012,[MISRA 2012 Rule 15.6, required])\n\n/**** Rule 15.7 (Req) ************/\n\n    +e9013                   /* no 'else' at end of 'if ... else if' chain */\n    +elib(9013)\n    -append(9013,[MISRA 2012 Rule 15.7, required])\n    +e9063                   /* no comment or action in else-branch */\n    +elib(9063)\n    -append(9063,[MISRA 2012 Rule 15.7, required])\n\n/**** Rule 16.1 (Req) ************/\n\n    +e616                  /* control flows into case/default */\n    +elib(616)\n    -append(616,[MISRA 2012 Rule 16.1, required])\n    +e744                  /* switch statement has no default */\n    +elib(744)\n    -append(744,[MISRA 2012 Rule 16.1, required])\n    +e764                  /* switch does not have a case */\n    +elib(764)\n    -append(764,[MISRA 2012 Rule 16.1, required])\n    +e825                  /* control flows into case/default without -fallthrough comment */\n    +elib(825)\n    -append(825,[MISRA 2012 Rule 16.1, required])\n    +e9014                 /* default missing from switch */\n    +elib(9014)\n    -append(9014,[MISRA 2012 Rule 16.1, required])\n    +e9042                 /* departure from MISRA switch syntax */\n    +elib(9042)\n    -append(9042,[MISRA 2012 Rule 16.1, required])\n    +e9077                 /* missing unconditional break */\n    +elib(9077)\n    -append(9077,[MISRA 2012 Rule 16.1, required])\n    +e9081                 /* too few independent cases for switch */\n    +elib(9081)\n    -append(9081,[MISRA 2012 Rule 16.1, required])\n    +e9082                 /* switch statement should either begin or end with default label */\n    +elib(9082)\n    -append(9082,[MISRA 2012 Rule 16.1, required])\n    +e9085                 /* statement or comment should appear in default case */\n    +elib(9085)\n    -append(9085,[MISRA 2012 Rule 16.1, required])\n\n/**** Rule 16.2 (Req) ************/\n\n    +e44                  /* Need a switch */\n    +elib(44)\n    -append(44,[MISRA 2012 Rule 16.2, required])\n    +e9055                /* enclosing statement is not a switch */\n    +elib(9055)\n    -append(9055,[MISRA 2012 Rule 16.2, required])\n\n/**** Rule 16.3 (Req) ************/\n\n    +e616                 /* control flows into case/default */\n    +elib(616)\n    -append(616,[MISRA 2012 Rule 16.3, required])\n    +e825                 /* control flows into case/default without -fallthrough comment */\n    +elib(825)\n    -append(825,[MISRA 2012 Rule 16.3, required])\n    +e9077                /* missing unconditional break */\n    +elib(9077)\n    -append(9077,[MISRA 2012 Rule 16.3, required])\n    +e9090                /* missing unconditional break */\n    +elib(9090)\n    -append(9090,[MISRA 2012 Rule 16.3, required])\n\n/**** Rule 16.4 (Req) ************/\n\n    +e744            /* switch statement has no default */\n    +elib(744)\n    -append(744,[MISRA 2012 Rule 16.4, required])\n    +e9014            /* switch statement has no default */\n    +elib(9014)\n    -append(9014,[MISRA 2012 Rule 16.4, required])\n    +e9085            /* default case has no statement nor comment */\n    +elib(9085)\n    -append(9085,[MISRA 2012 Rule 16.4, required])\n\n/**** Rule 16.5 (Req) ************/\n\n    +e9082                   /* default should be first or last */\n    +elib(9082)\n    -append(9082,[MISRA 2012 Rule 16.5, required])\n\n/**** Rule 16.6 (Req) ************/\n\n    +e764            /* switch does not have a case */\n    +elib(764)\n    -append(764,[MISRA 2012 Rule 16.6, required])\n    +e9081           /* too few cases */\n    +elib(9081)\n    -append(9081,[MISRA 2012 Rule 16.6, required])\n\n/**** Rule 16.7 (Req) ************/\n\n    +e483                   /* boolean value in switch expression */\n    +elib(483)\n    -append(483,[MISRA 2012 Rule 16.7, required])\n\n/**** Rule 17.1 (Req) ************/\n\n    +e829       /* warn on header usage */\n    +elib(829)\n    +headerwarn(stdarg.h)\n    -append(829(stdarg.h),[MISRA 2012 Rule 17.1, required])\n    -deprecate(macro,va_arg,[MISRA 2012 Rule 17.1, required])\n    -deprecate(macro,va_start,[MISRA 2012 Rule 17.1, required])\n    -deprecate(macro,va_end,[MISRA 2012 Rule 17.1, required])\n    -deprecate(macro,va_copy,[MISRA 2012 Rule 17.1, required])\n    -deprecate(type,va_list,[MISRA 2012 Rule 17.1, required])\n\n/**** Rule 17.2 (Req) ************/\n\n    /* While MISRA has declared this rule to be \"undecidable\", Gimpel\n     * Software provides the following options to assist:\n     */\n    +e9070\n    -append(9070,[MISRA 2012 Rule 17.2, required])\n\n/**** Rule 17.3 (Mand) ************/\n\n    +e718                     /* symbol undeclared, assumed to return int */\n    +elib(718)\n    -append(718,[MISRA 2012 Rule 17.3, mandatory])\n\n/**** Rule 17.4 (Mand) ************/\n\n    +e533                /* function should return a value */\n    +elib(533)\n    -append(533,[MISRA 2012 Rule 17.4, mandatory])\n\n/**** Rule 17.5 (Adv) ************/\n\n    /* MISRA has declared this rule to be \"undecidable\". */\n\n    +e473                /* argument to array parameter too small */\n    +elib(473)\n    -append(473,[MISRA 2012 Rule 17.5, advisory])\n\n/**** Rule 17.6 (Mand) ************/\n\n    +e9043                   /* static between brackets of array declaration */\n    +elib(9043)\n    -append(9043,[MISRA 2012 Rule 17.6, mandatory])\n\n/**** Rule 17.7 (Req) ************/\n\n    +e534               /* ignoring return value of function */\n    +elib(534)\n    -append(534,[MISRA 2012 Rule 17.7, required])\n\n/**** Rule 17.8 (Adv) ************/\n\n    /* While MISRA has declared this rule to be \"undecidable\", Gimpel\n     * Software provides the following options to assist:\n     */\n    +e9044               /* function parameter modified */\n    +elib(9044)\n    -append(9044,[MISRA 2012 Rule 17.8, advisory])\n\n/**** Rule 18.1 (Req) ************/\n\n    /* While MISRA has declared this rule to be \"undecidable\", Gimpel\n     * Software provides the following options to assist:\n     */\n    +e415          /* out-of-bounds pointer */\n    +elib(415)\n    -append(415,[MISRA 2012 Rule 18.1, required])\n    +e416          /* out-of-bounds pointer */\n    +elib(416)\n    -append(416,[MISRA 2012 Rule 18.1, required])\n    +e428          /* out-of-bounds pointer */\n    +elib(428)\n    -append(428,[MISRA 2012 Rule 18.1, required])\n    +e661          /* out-of-bounds pointer */\n    +elib(661)\n    -append(661,[MISRA 2012 Rule 18.1, required])\n    +e662          /* out-of-bounds pointer */\n    +elib(662)\n    -append(662,[MISRA 2012 Rule 18.1, required])\n    +e676          /* out-of-bounds pointer */\n    +elib(676)\n    -append(676,[MISRA 2012 Rule 18.1, required])\n\n/**** Rule 18.2 (Req) ************/\n\n    /* While MISRA has declared this rule to be \"undecidable\", Gimpel\n     * Software provides the following options to assist:\n     */\n    +e947          /* pointer subtraction */\n    +elib(947)\n    -append(947,[MISRA 2012 Rule 18.2, required])\n\n/**** Rule 18.3 (Req) ************/\n\n    /* While MISRA has declared this rule to be \"undecidable\", Gimpel\n     * Software provides the following options to assist:\n     */\n    +e946          /* relational operator applied to pointers */\n    +elib(946)\n    -append(946,[MISRA 2012 Rule 18.3, required])\n\n/**** Rule 18.4 (Adv) ************/\n\n    +e9016                   /* pointer arithmetic other than array indexing used */\n    +elib(9016)\n    -append(9016,[MISRA 2012 Rule 18.4, advisory])\n\n/**** Rule 18.5 (Adv) ************/\n\n    +e9025                   /* more than two pointer indirection levels used */\n    +elib(9025)\n    -append(9025,[MISRA 2012 Rule 18.5, advisory])\n\n/**** Rule 18.6 (Req) ************/\n\n    /* While MISRA has declared this rule to be \"undecidable\", Gimpel\n     * Software provides the following options to assist:\n     */\n    +e733               /* assigning address of auto to outer scope symbol */\n    +elib(733)\n    -append(733,[MISRA 2012 Rule 18.6, required])\n    +e789               /* assigning address of auto to static */\n    +elib(789)\n    -append(789,[MISRA 2012 Rule 18.6, required])\n    +e604               /* returning address of auto variable */\n    +elib(604)\n    -append(604,[MISRA 2012 Rule 18.6, required])\n\n/**** Rule 18.7 (Req) ************/\n\n    +e9038                   /* flexible array member declared */\n    +elib(9038)\n    -append(9038,[MISRA 2012 Rule 18.7, required])\n\n/**** Rule 18.8 (Req) ************/\n\n    +e9035                   /* variable length array declared */\n    +elib(9035)\n    -append(9035,[MISRA 2012 Rule 18.8, required])\n\n/**** Rule 19.1 (Mand) ************/\n\n    /* MISRA has declared this rule to be \"undecidable\". */\n\n/**** Rule 19.2 (Adv) ************/\n\n    +e9018                   /* union type/object declared */\n    +elib(9018)\n    -append(9018,[MISRA 2012 Rule 19.2, advisory])\n\n/**** Rule 20.1 (Adv) ************/\n\n    +e9019                   /* declaration before #include */\n    +elib(9019)\n    -append(9019,[MISRA 2012 Rule 20.1, advisory])\n\n/**** Rule 20.2 (Req) ************/\n\n    +e9020                   /* header file name with non-standard character */\n    +elib(9020)\n    -append(9020,[MISRA 2012 Rule 20.2, required])\n    /*  Note: If your system requires the '\\' be used as a directory\n        separator, uncomment the following option.\n     */\n    //  -estring(9020,\\)\n\n/**** Rule 20.3 (Req) ************/\n\n    +e12                    /* Need < or \" after #include */\n    +elib(12)\n    -append(12,[MISRA 2012 Rule 20.3, required])\n\n    /* 544  directive not followed by EOL */\n    +estring(544,include)\n    +elib(544)\n    -append(544(include),[MISRA 2012 Rule 20.3, required])\n\n/**** Rule 20.4 (Req) ************/\n\n    +e9051                              /* macro with same name as a keyword */\n    +elib(9051)\n    -append(9051,[MISRA 2012 Rule 20.4, required])\n\n/**** Rule 20.5 (Adv) ************/\n\n    +e9021                   /* use of '#undef' is discouraged */\n    +elib(9021)\n    -append(9021,[MISRA 2012 Rule 20.5, advisory])\n\n/**** Rule 20.6 (Req) ************/\n\n    +e436   /* preprocessor directive in invocation of macro */\n    +elib(436)\n    -append(436,[MISRA 2012 Rule 20.6, required])\n\n/**** Rule 20.7 (Req) ************/\n\n    +e665                   /* expression passed to unparenthesized macro */\n    +elib(665)\n    -append(665,[MISRA 2012 Rule 20.7, required])\n\n/**** Rule 20.8 (Req) ************/\n\n    +e9037                  /* conditional of #if/#elif does not evaluate to 0 or 1 */\n    +elib(9037)\n    -append(9037,[MISRA 2012 Rule 20.8, required])\n\n/**** Rule 20.9 (Req) ************/\n\n    +e553   /* Undefined preprocessor variable, assumed 0 */\n    +elib(553)\n    -append(553,[MISRA 2012 Rule 20.9, required])\n\n/**** Rule 20.10 (Adv) ************/\n\n    +e9024                   /* '#/##' operators used */\n    +elib(9024)\n    -append(9024,[MISRA 2012 Rule 20.10, advisory])\n\n/**** Rule 20.11 (Req) ************/\n\n    +e484                   /* stringize operator followed by macro parameter followed by pasting operator */\n    +elib(484)\n    -append(484,[MISRA 2012 Rule 20.11, required])\n\n/**** Rule 20.12 (Req) ************/\n\n    +e9015                   /* macro parameter used with and without '#/##' subject to further replacement */\n    +elib(9015)\n    -append(9015,[MISRA 2012 Rule 20.12, required])\n\n/**** Rule 20.13 (Req) ************/\n\n    /* 544 - directive not followed by EOL */\n    +e544\n    +elib(544)\n    -append(544,[MISRA 2012 Rule 20.13, required])\n\n    /* 16 - unknown preprocessor directive */\n    +e16\n    +elib(16)\n    -append(16,[MISRA 2012 Rule 20.13, required])\n\n    /* 9160 - unknown preprocessor directive in conditionally excluded\n            region */\n    +e9160\n    +elib(9160)\n    -append(9160,[MISRA 2012 Rule 20.13, required])\n\n/**** Rule 20.14 (Req) ************/\n\n    +e8       /* unclosed #if */\n    +elib(8)\n    -append(8,[MISRA 2012 Rule 20.14, required])\n\n/**** Rule 21.1 (Req) ************/\n\n    +e136       /* Illegal macro name */\n    +elib(136)\n    -append(136,[MISRA 2012 Rule 21.1, required])\n    /*  Undefining standard library macros is covered by rule 20.5.  */\n    /*  Defining/redefining reserved/standard identifiers is covered\n        by rules 20.4 and 21.2.\n     */\n    +e9071      /* defined macro reserved to the compiler */\n    +elib(9071)\n    -append(9071,[MISRA 2012 Rule 21.1, required])\n    // explicit exemptions\n    -estring(9071,* because *)\n    -estring(9071,cerf)\n    -estring(9071,cerfc)\n    -estring(9071,cexp2)\n    -estring(9071,cexpm1)\n    -estring(9071,clog10)\n    -estring(9071,clog1p)\n    -estring(9071,clog2)\n    -estring(9071,clgamma)\n    -estring(9071,ctgamma)\n    -estring(9071,cerff)\n    -estring(9071,cerfcf)\n    -estring(9071,cexp2f)\n    -estring(9071,cexpm1f)\n    -estring(9071,clog10f)\n    -estring(9071,clog1pf)\n    -estring(9071,clog2f)\n    -estring(9071,clgammaf)\n    -estring(9071,ctgammaf)\n    -estring(9071,cerfl)\n    -estring(9071,cerfcl)\n    -estring(9071,cexp2l)\n    -estring(9071,cexpm1l)\n    -estring(9071,clog10l)\n    -estring(9071,clog1pl)\n    -estring(9071,clog2l)\n    -estring(9071,clgammal)\n    -estring(9071,ctgammal)\n    -estring(9071,E0*)\n    -estring(9071,E1*)\n    -estring(9071,E2*)\n    -estring(9071,E3*)\n    -estring(9071,E4*)\n    -estring(9071,E5*)\n    -estring(9071,E6*)\n    -estring(9071,E7*)\n    -estring(9071,E8*)\n    -estring(9071,E9*)\n    -estring(9071,NDEBUG)\n    -estring(9071,PRIa*)\n    -estring(9071,PRIb*)\n    -estring(9071,PRIc*)\n    -estring(9071,PRId*)\n    -estring(9071,PRIe*)\n    -estring(9071,PRIf*)\n    -estring(9071,PRIg*)\n    -estring(9071,PRIh*)\n    -estring(9071,PRIi*)\n    -estring(9071,PRIj*)\n    -estring(9071,PRIk*)\n    -estring(9071,PRIl*)\n    -estring(9071,PRIm*)\n    -estring(9071,PRIn*)\n    -estring(9071,PRIo*)\n    -estring(9071,PRIp*)\n    -estring(9071,PRIq*)\n    -estring(9071,PRIr*)\n    -estring(9071,PRIs*)\n    -estring(9071,PRIt*)\n    -estring(9071,PRIu*)\n    -estring(9071,PRIv*)\n    -estring(9071,PRIw*)\n    -estring(9071,PRIx*)\n    -estring(9071,PRIy*)\n    -estring(9071,PRIz*)\n    -estring(9071,PRIX*)\n    -estring(9071,SCNa*)\n    -estring(9071,SCNb*)\n    -estring(9071,SCNc*)\n    -estring(9071,SCNd*)\n    -estring(9071,SCNe*)\n    -estring(9071,SCNf*)\n    -estring(9071,SCNg*)\n    -estring(9071,SCNh*)\n    -estring(9071,SCNi*)\n    -estring(9071,SCNj*)\n    -estring(9071,SCNk*)\n    -estring(9071,SCNl*)\n    -estring(9071,SCNm*)\n    -estring(9071,SCNn*)\n    -estring(9071,SCNo*)\n    -estring(9071,SCNp*)\n    -estring(9071,SCNq*)\n    -estring(9071,SCNr*)\n    -estring(9071,SCNs*)\n    -estring(9071,SCNt*)\n    -estring(9071,SCNu*)\n    -estring(9071,SCNv*)\n    -estring(9071,SCNw*)\n    -estring(9071,SCNx*)\n    -estring(9071,SCNy*)\n    -estring(9071,SCNz*)\n    -estring(9071,SCNX*)\n    +e9083      /* undefined macro reserved to the compiler */\n    +elib(9083)\n    -append(9083,[MISRA 2012 Rule 21.1, required])\n    // explicit exemptions\n    -estring(9083,* because *)\n    -estring(9083,cerf)\n    -estring(9083,cerfc)\n    -estring(9083,cexp2)\n    -estring(9083,cexpm1)\n    -estring(9083,clog10)\n    -estring(9083,clog1p)\n    -estring(9083,clog2)\n    -estring(9083,clgamma)\n    -estring(9083,ctgamma)\n    -estring(9083,cerff)\n    -estring(9083,cerfcf)\n    -estring(9083,cexp2f)\n    -estring(9083,cexpm1f)\n    -estring(9083,clog10f)\n    -estring(9083,clog1pf)\n    -estring(9083,clog2f)\n    -estring(9083,clgammaf)\n    -estring(9083,ctgammaf)\n    -estring(9083,cerfl)\n    -estring(9083,cerfcl)\n    -estring(9083,cexp2l)\n    -estring(9083,cexpm1l)\n    -estring(9083,clog10l)\n    -estring(9083,clog1pl)\n    -estring(9083,clog2l)\n    -estring(9083,clgammal)\n    -estring(9083,ctgammal)\n    -estring(9083,E0*)\n    -estring(9083,E1*)\n    -estring(9083,E2*)\n    -estring(9083,E3*)\n    -estring(9083,E4*)\n    -estring(9083,E5*)\n    -estring(9083,E6*)\n    -estring(9083,E7*)\n    -estring(9083,E8*)\n    -estring(9083,E9*)\n    -estring(9083,NDEBUG)\n    -estring(9083,PRIa*)\n    -estring(9083,PRIb*)\n    -estring(9083,PRIc*)\n    -estring(9083,PRId*)\n    -estring(9083,PRIe*)\n    -estring(9083,PRIf*)\n    -estring(9083,PRIg*)\n    -estring(9083,PRIh*)\n    -estring(9083,PRIi*)\n    -estring(9083,PRIj*)\n    -estring(9083,PRIk*)\n    -estring(9083,PRIl*)\n    -estring(9083,PRIm*)\n    -estring(9083,PRIn*)\n    -estring(9083,PRIo*)\n    -estring(9083,PRIp*)\n    -estring(9083,PRIq*)\n    -estring(9083,PRIr*)\n    -estring(9083,PRIs*)\n    -estring(9083,PRIt*)\n    -estring(9083,PRIu*)\n    -estring(9083,PRIv*)\n    -estring(9083,PRIw*)\n    -estring(9083,PRIx*)\n    -estring(9083,PRIy*)\n    -estring(9083,PRIz*)\n    -estring(9083,PRIX*)\n    -estring(9083,SCNa*)\n    -estring(9083,SCNb*)\n    -estring(9083,SCNc*)\n    -estring(9083,SCNd*)\n    -estring(9083,SCNe*)\n    -estring(9083,SCNf*)\n    -estring(9083,SCNg*)\n    -estring(9083,SCNh*)\n    -estring(9083,SCNi*)\n    -estring(9083,SCNj*)\n    -estring(9083,SCNk*)\n    -estring(9083,SCNl*)\n    -estring(9083,SCNm*)\n    -estring(9083,SCNn*)\n    -estring(9083,SCNo*)\n    -estring(9083,SCNp*)\n    -estring(9083,SCNq*)\n    -estring(9083,SCNr*)\n    -estring(9083,SCNs*)\n    -estring(9083,SCNt*)\n    -estring(9083,SCNu*)\n    -estring(9083,SCNv*)\n    -estring(9083,SCNw*)\n    -estring(9083,SCNx*)\n    -estring(9083,SCNy*)\n    -estring(9083,SCNz*)\n    -estring(9083,SCNX*)\n\n/**** Rule 21.2 (Req) ************/\n\n    +e9093      /* name is reserved to the compiler */\n    +elib(9093)\n    -append(9093,[MISRA 2012 Rule 21.2, required])\n\n/**** Rule 21.3 (Req) ************/\n\n    +e586       /* Symbol is deprecated */\n    +elib(586)\n    -deprecate(function,calloc,[MISRA 2012 Rule 21.3, required])\n    -deprecate(macro,calloc,[MISRA 2012 Rule 21.3, required])\n    -deprecate(function,malloc,[MISRA 2012 Rule 21.3, required])\n    -deprecate(macro,malloc,[MISRA 2012 Rule 21.3, required])\n    -deprecate(function,realloc,[MISRA 2012 Rule 21.3, required])\n    -deprecate(macro,realloc,[MISRA 2012 Rule 21.3, required])\n    -deprecate(function,free,[MISRA 2012 Rule 21.3, required])\n    -deprecate(macro,free,[MISRA 2012 Rule 21.3, required])\n\n/**** Rule 21.4 (Req) ************/\n\n    +e829       /* warn on header usage */\n    +elib(829)\n    +headerwarn(setjmp.h)\n    -append(829(setjmp.h),[MISRA 2012 Rule 21.4, required])\n    -deprecate(function,setjmp,[MISRA 2012 Rule 21.4, required])\n    -deprecate(function,longjmp,[MISRA 2012 Rule 21.4, required])\n    -deprecate(macro,setjmp,[MISRA 2012 Rule 21.4, required])\n    -deprecate(macro,longjmp,[MISRA 2012 Rule 21.4, required])\n    -deprecate(type,jmp_buf,[MISRA 2012 Rule 21.4, required])\n\n/**** Rule 21.5 (Req) ************/\n\n    +e586       /* Symbol is deprecated */\n    +elib(586)\n    -deprecate(function,signal,[MISRA 2012 Rule 21.5, required])\n    -deprecate(function,raise,[MISRA 2012 Rule 21.5, required])\n    -deprecate(macro,SIGABRT,[MISRA 2012 Rule 21.5, required])\n    -deprecate(macro,SIGFPE,[MISRA 2012 Rule 21.5, required])\n    -deprecate(macro,SIGILL,[MISRA 2012 Rule 21.5, required])\n    -deprecate(macro,SIGINT,[MISRA 2012 Rule 21.5, required])\n    -deprecate(macro,SIGSEGV,[MISRA 2012 Rule 21.5, required])\n    -deprecate(macro,SIGTERM,[MISRA 2012 Rule 21.5, required])\n    -deprecate(macro,SIG_DFL,[MISRA 2012 Rule 21.5, required])\n    -deprecate(macro,SIG_ERR,[MISRA 2012 Rule 21.5, required])\n    -deprecate(macro,SIG_IGN,[MISRA 2012 Rule 21.5, required])\n    -deprecate(type,sig_atomic_t,[MISRA 2012 Rule 21.5, required])\n    +e829       /* warn on header usage */\n    +elib(829)\n    +headerwarn(signal.h)\n    -append(829(signal.h),[MISRA 2012 Rule 21.5, required])\n\n/**** Rule 21.6 (Req) ************/\n\n    +e586       /* Symbol is deprecated */\n    +elib(586)\n    -deprecate(function,clearerr,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,fclose,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,feof,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,ferror,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,fflush,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,fgetc,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,fgetpos,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,fgets,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,fgetwc,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,fgetws,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,fopen,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,fprintf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,fputc,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,fputs,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,fputwc,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,fputws,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,fread,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,fscanf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,fseek,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,fsetpos,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,freopen,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,ftell,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,fwide,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,fwprintf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,fwrite,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,fwscanf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,getc,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,getchar,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,gets,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,getwc,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,getwchar,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,perror,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,printf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,putc,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,putchar,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,puts,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,putwc,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,putwchar,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,remove,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,rename,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,rewind,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,scanf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,setbuf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,setvbuf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,snprintf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,sprintf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,sscanf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,swprintf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,swscanf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,tmpfile,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,tmpnam,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,ungetc,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,ungetwc,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,vfprintf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,vfscanf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,vfwprintf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,vfwscanf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,vprintf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,vscanf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,vsnprintf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,vsprintf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,vsscanf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,vswprintf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,vswscanf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,vwprintf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,vwscanf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,wprintf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(function,wscanf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,clearerr,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,fclose,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,feof,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,ferror,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,fflush,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,fgetc,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,fgets,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,fgetpos,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,fgetwc,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,fgetws,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,fopen,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,fprintf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,fputc,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,fputs,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,fputwc,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,fputws,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,fread,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,fscanf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,fseek,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,fsetpos,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,freopen,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,ftell,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,fwide,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,fwprintf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,fwrite,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,fwscanf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,getc,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,getchar,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,gets,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,getwc,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,getwchar,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,perror,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,printf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,putc,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,putchar,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,puts,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,putwc,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,putwchar,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,remove,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,rename,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,rewind,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,scanf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,setbuf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,setvbuf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,snprintf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,sprintf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,sscanf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,swprintf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,swscanf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,tmpfile,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,tmpnam,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,ungetc,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,ungetwc,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,vfprintf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,vfscanf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,vfwprintf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,vfwscanf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,vprintf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,vscanf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,vsnprintf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,vsprintf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,vsscanf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,vswprintf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,vswscanf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,vwprintf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,vwscanf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,wprintf,[MISRA 2012 Rule 21.6, required])\n    -deprecate(macro,wscanf,[MISRA 2012 Rule 21.6, required])\n\n/**** Rule 21.7 (Req) ************/\n\n    +e586       /* Symbol is deprecated */\n    +elib(586)\n    -deprecate(function,atof,[MISRA 2012 Rule 21.7, required])\n    -deprecate(function,atoi,[MISRA 2012 Rule 21.7, required])\n    -deprecate(function,atol,[MISRA 2012 Rule 21.7, required])\n    -deprecate(function,atoll,[MISRA 2012 Rule 21.7, required])\n    -deprecate(macro,atof,[MISRA 2012 Rule 21.7, required])\n    -deprecate(macro,atoi,[MISRA 2012 Rule 21.7, required])\n    -deprecate(macro,atol,[MISRA 2012 Rule 21.7, required])\n    -deprecate(macro,atoll,[MISRA 2012 Rule 21.7, required])\n\n/**** Rule 21.8 (Req) ************/\n\n    +e586       /* Symbol is deprecated */\n    +elib(586)\n    -deprecate(function,abort,[MISRA 2012 Rule 21.8, required])\n    -deprecate(function,exit,[MISRA 2012 Rule 21.8, required])\n    -deprecate(function,getenv,[MISRA 2012 Rule 21.8, required])\n    -deprecate(function,system,[MISRA 2012 Rule 21.8, required])\n    -deprecate(macro,abort,[MISRA 2012 Rule 21.8, required])\n    -deprecate(macro,exit,[MISRA 2012 Rule 21.8, required])\n    -deprecate(macro,getenv,[MISRA 2012 Rule 21.8, required])\n    -deprecate(macro,system,[MISRA 2012 Rule 21.8, required])\n\n/**** Rule 21.9 (Req) ************/\n\n    +e586       /* Symbol is deprecated */\n    +elib(586)\n    -deprecate(function,bsearch,[MISRA 2012 Rule 21.9, required])\n    -deprecate(function,qsort,[MISRA 2012 Rule 21.9, required])\n    -deprecate(macro,bsearch,[MISRA 2012 Rule 21.9, required])\n    -deprecate(macro,qsort,[MISRA 2012 Rule 21.9, required])\n\n/**** Rule 21.10 (Req) ************/\n\n    +e586       /* Symbol is deprecated */\n    +elib(586)\n    -deprecate(macro,wcsftime,[MISRA 2012 Rule 21.10, required])\n    -deprecate(function,wcsftime,[MISRA 2012 Rule 21.10, required])\n    -deprecate(macro,clock,[MISRA 2012 Rule 21.10, required])\n    -deprecate(function,clock,[MISRA 2012 Rule 21.10, required])\n    -deprecate(macro,difftime,[MISRA 2012 Rule 21.10, required])\n    -deprecate(function,difftime,[MISRA 2012 Rule 21.10, required])\n    -deprecate(macro,mktime,[MISRA 2012 Rule 21.10, required])\n    -deprecate(function,mktime,[MISRA 2012 Rule 21.10, required])\n    -deprecate(macro,time,[MISRA 2012 Rule 21.10, required])\n    -deprecate(function,time,[MISRA 2012 Rule 21.10, required])\n    -deprecate(macro,asctime,[MISRA 2012 Rule 21.10, required])\n    -deprecate(function,asctime,[MISRA 2012 Rule 21.10, required])\n    -deprecate(macro,ctime,[MISRA 2012 Rule 21.10, required])\n    -deprecate(function,ctime,[MISRA 2012 Rule 21.10, required])\n    -deprecate(macro,gmtime,[MISRA 2012 Rule 21.10, required])\n    -deprecate(function,gmtime,[MISRA 2012 Rule 21.10, required])\n    -deprecate(macro,localtime,[MISRA 2012 Rule 21.10, required])\n    -deprecate(function,localtime,[MISRA 2012 Rule 21.10, required])\n    -deprecate(macro,strftime,[MISRA 2012 Rule 21.10, required])\n    -deprecate(function,strftime,[MISRA 2012 Rule 21.10, required])\n    -deprecate(macro,CLOCKS_PER_SEC,[MISRA 2012 Rule 21.10, required])\n    -deprecate(type,clock_t,[MISRA 2012 Rule 21.10, required])\n    -deprecate(type,time_t,[MISRA 2012 Rule 21.10, required])\n    -deprecate(type,struct tm,[MISRA 2012 Rule 21.10, required])\n    +e829       /* warn on header usage */\n    +elib(829)\n    +headerwarn(time.h)\n    -append(829(time.h),[MISRA 2012 Rule 21.10, required])\n\n/**** Rule 21.11 (Req) ************/\n\n    +e829       /* warn on header usage */\n    +elib(829)\n    +headerwarn(tgmath.h)\n    -append(829(tgmath.h),[MISRA 2012 Rule 21.11, required])\n\n/**** Rule 21.12 (Adv) ************/\n\n    +e586       /* Symbol is deprecated */\n    +elib(586)\n    -deprecate(function,feclearexcept,[MISRA 2012 Rule 21.12, advisory])\n    -deprecate(macro,feclearexcept,[MISRA 2012 Rule 21.12, advisory])\n    -deprecate(function,fegetexceptflag,[MISRA 2012 Rule 21.12, advisory])\n    -deprecate(macro,fegetexceptflag,[MISRA 2012 Rule 21.12, advisory])\n    -deprecate(function,feraiseexcept,[MISRA 2012 Rule 21.12, advisory])\n    -deprecate(macro,feraiseexcept,[MISRA 2012 Rule 21.12, advisory])\n    -deprecate(function,fesetexceptflag,[MISRA 2012 Rule 21.12, advisory])\n    -deprecate(macro,fesetexceptflag,[MISRA 2012 Rule 21.12, advisory])\n    -deprecate(function,fetestexcept,[MISRA 2012 Rule 21.12, advisory])\n    -deprecate(macro,fetestexcept,[MISRA 2012 Rule 21.12, advisory])\n    -deprecate(macro,FE_INEXACT,[MISRA 2012 Rule 21.12, advisory])\n    -deprecate(macro,FE_DIVBYZERO,[MISRA 2012 Rule 21.12, advisory])\n    -deprecate(macro,FE_UNDERFLOW,[MISRA 2012 Rule 21.12, advisory])\n    -deprecate(macro,FE_OVERFLOW,[MISRA 2012 Rule 21.12, advisory])\n    -deprecate(macro,FE_INVALID,[MISRA 2012 Rule 21.12, advisory])\n    -deprecate(macro,FE_ALL_EXCEPT,[MISRA 2012 Rule 21.12, advisory])\n\n/**** Rule 22.1 (Req) ************/\n\n    /* While MISRA has declared this rule to be \"undecidable\", Gimpel\n     * Software provides the following options to assist:\n     */\n    +e429       /* custodial pointer neither free'd nor returned */\n    +elib(429)\n    -append(429,[MISRA 2012 Rule 22.1, required])\n\n    /* 698 - in-place realloc could cause a memory leak */\n    +e698\n    +elib(698)\n    -append(698,[MISRA 2012 Rule 22.1, required])\n\n/**** Rule 22.2 (Mand) ************/\n\n    /* While MISRA has declared this rule to be \"undecidable\", Gimpel\n     * Software provides the following options to assist:\n     */\n    +e424       /* inappropriate deallocation */\n    +elib(424)\n    -append(424,[MISRA 2012 Rule 22.2, mandatory])\n\n    +e449       /* pointer previously deallocated */\n    +elib(449)\n    -append(449,[MISRA 2012 Rule 22.2, mandatory])\n\n/**** Rule 22.3 (Req) ************/\n\n    /* MISRA has declared this rule to be \"undecidable\". */\n\n/**** Rule 22.4 (Mand) ************/\n\n    /* While MISRA has declared this rule to be \"undecidable\", Gimpel\n     * Software provides the following options to assist:\n     */\n\n    +e2477   /* attempt to perform write operation on stream not opened for writing */\n    +elib(2477)\n    -append(2477,[MISRA 2012 Rule 22.4, mandatory])\n\n/**** Rule 22.5 (Mand) ************/\n\n    /* While MISRA has declared this rule to be \"undecidable\", Gimpel\n       Software provides the following message to assist:\n     */\n    +e9047   /* FILE pointer dereferenced */\n    +elib(9047)\n    -append(9047,[MISRA 2012 Rule 22.5, mandatory])\n\n\n/**** Rule 22.6 (Mand) ************/\n\n    /* While MISRA has declared this rule to be \"undecidable\", Gimpel\n     * Software provides the following options to assist:\n     */\n\n    +e2471   /* operation on stream that has been closed */\n    +elib(2471)\n    -append(2471,[MISRA 2012 Rule 22.6, mandatory])\n"
  },
  {
    "path": "ports/lint-plus/lin.bat",
    "content": "@echo off\n:: ===========================================================================\n:: Product: QP/C build script for PC-Lint-Plus\n:: Last Updated for Version: 6.8.0\n:: Date of the Last Update:  2020-01-26\n::\n::                    Q u a n t u m  L e a P s\n::                    ------------------------\n::                    Modern Embedded Software\n::\n:: Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n::\n:: This program is open source software: you can redistribute it and/or\n:: modify it under the terms of the GNU General Public License as published\n:: by the Free Software Foundation, either version 3 of the License, or\n:: (at your option) any later version.\n::\n:: Alternatively, this program may be distributed and modified under the\n:: terms of Quantum Leaps commercial licenses, which expressly supersede\n:: the GNU General Public License and are specifically designed for\n:: licensees interested in retaining the proprietary status of their code.\n::\n:: This program is distributed in the hope that it will be useful,\n:: but WITHOUT ANY WARRANTY; without even the implied warranty of\n:: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n:: GNU General Public License for more details.\n::\n:: You should have received a copy of the GNU General Public License\n:: along with this program. If not, see <www.gnu.org/licenses/>.\n::\n:: Contact information:\n:: <www.state-machine.com/licensing>\n:: <info@state-machine.com>\n:: ===========================================================================\n@setlocal\n\n:: usage of lin.bat\n@echo Usage: lin [16bit] [-d...]\n@echo examples:\n@echo lin -dFOO        : use 32bit CPU (default) and define Q_SPY and Q_UTEST\n@echo lin 16bit -dBAR  : use 16bit CPU includes and define Q_SPY\n@echo.\n\n:: NOTE: adjust to for your installation directory of PC-Lint-Plus\n@set PCLP=C:\\tools\\lint-plus\\pclp32.exe\n\nif NOT exist \"%PCLP%\" (\n    @echo The PC-Lint-Plus toolset not found. Please adjust lin.bat\n    @goto end\n)\n\n:: set the QP-nano directory\nset QPN=..\\..\n\nif \"%1\"==\"16bit\" (\n    set LINTFLAGS=std.lnt -i16bit options.lnt %2 %3 %4\n    @echo 16bit CPU\n) else (\n    set LINTFLAGS=std.lnt -i32bit options.lnt %1 %2 %3 %4\n    @echo 32bit CPU default\n)\n\n:: cleanup\n@del *.log\n\n:: linting -------------------------------------------------------------------\n%PCLP% -os(lint_qfn.log) %LINTFLAGS% -iqvn ..\\..\\src\\qfn\\*.c\n\n%PCLP% -os(lint_qkn.log) %LINTFLAGS% -iqkn ..\\..\\src\\qkn\\*.c\n\n%PCLP% -os(lint_qvn.log) %LINTFLAGS% -iqvn ..\\..\\src\\qvn\\*.c\n\n:end\n@endlocal\n"
  },
  {
    "path": "ports/lint-plus/options.lnt",
    "content": "/// @file\n/// @brief PC-Lint-Plus option file for linting QP-nano source code\n/// @cond\n///===========================================================================\n/// Product: QP-nano\n/// Last updated for version 6.7.0\n/// Last updated on  2019-12-30\n///\n///                    Q u a n t u m  L e a P s\n///                    ------------------------\n///                    Modern Embedded Software\n///\n/// Copyright (C) 2005-2019 Quantum Leaps. All rights reserved.\n///\n/// This program is open source software: you can redistribute it and/or\n/// modify it under the terms of the GNU General Public License as published\n/// by the Free Software Foundation, either version 3 of the License, or\n/// (at your option) any later version.\n///\n/// Alternatively, this program may be distributed and modified under the\n/// terms of Quantum Leaps commercial licenses, which expressly supersede\n/// the GNU General Public License and are specifically designed for\n/// licensees interested in retaining the proprietary status of their code.\n///\n/// This program is distributed in the hope that it will be useful,\n/// but WITHOUT ANY WARRANTY; without even the implied warranty of\n/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n/// GNU General Public License for more details.\n///\n/// You should have received a copy of the GNU General Public License\n/// along with this program. If not, see <www.gnu.org/licenses>.\n///\n/// Contact information:\n/// <www.state-machine.com/licensing>\n/// <info@state-machine.com>\n///===========================================================================\n/// @endcond\n\n/////////////////////////////////////////////////////////////////////////////\n// general options\n-unit_check        // perform only subset check (suppresses Global Wrapup)\n-max_threads=1     // suppress message \"no '-max_threads=N' option\"\n//-vf              // print names of all source files (for debugging linting)\n\n// include directories\n-i.                // QP-nano port includes (see also qkn/ and qvn/)\n-i%QPN%/include    // QP-nano public includes\n-i%QPN%/src        // QP-nano package-scope includes\n\n// size options corresponding to GNU-ARM\n-si4 -sl4 -sll8 -ss2 -sw4 -sp4 -sf4 -sd8 -sld8 +fzl\n\n// standards\nau-misra3.lnt       // MISRA-C:2012\nau-misra3-amd1.lnt  // MISRA-C:2012 amendment 1 options\nau-ds.lnt           // Dan Saks recommendations\n//-strong(AXJ)        // Strong type checking\n\n/////////////////////////////////////////////////////////////////////////////\n// QP-nano options for clients\nqpn.lnt             // QP-nano options\n\n/////////////////////////////////////////////////////////////////////////////\n// additional suppression rules for building QP/C source code...\n\n// QEP-nano ------------------------------------------------------------------\n\n// QF-nano -------------------------------------------------------------------\n\n// QV-nano -------------------------------------------------------------------\n\n// QK-nano -------------------------------------------------------------------\n"
  },
  {
    "path": "ports/lint-plus/qkn/qfn_port.h",
    "content": "/**\n* @file\n* @brief QF-nano port for Lint, preemptive QK-nano kernel, generic C compiler\n* @cond\n******************************************************************************\n* Last updated for version 6.7.0\n* Last updated on  2019-12-30\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QFN_PORT_H\n#define QFN_PORT_H\n\n/**\n* @description\n* This header file contains the port and customization of QP-nano to the\n* specific CPU and compiler. The port header file is included in the main qpn.h\n* header file.\n*/\n\n/*! Macro to specify compiler-specific directive for placing a\n* constant object in ROM.\n*/\n/**\n* @description\n* Many compilers for 8-bit Harvard-architecture MCUs provide non-stanard\n* extensions to support placement of objects in different memories.\n* In order to conserve the precious RAM, QP-nano uses the Q_ROM macro for\n* all constant objects that can be allocated in ROM.\n*\n* To override the following empty definition, you need to define the\n* Q_ROM macro in the qpn_port.h header file. Some examples of valid\n* Q_ROM macro definitions are: __code (IAR 8051 compiler), code (Keil\n* 8051 compiler), PROGMEM (gcc for AVR), __flash (IAR for AVR).\n*/\n#define Q_ROM\n\n/*! Macro to access a byte allocated in ROM */\n/**\n* @description\n* Some compilers for Harvard-architecture MCUs, such as gcc for AVR, do\n* not generate correct code for accessing data allocated in the program\n* space (ROM). The workaround for such compilers is to explicitly add\n* assembly code to access each data element allocated in the program\n* space. The macro Q_ROM_BYTE() retrieves a byte from the given ROM\n* address.\n*\n* The Q_ROM_BYTE() macro should be defined in the qpn_port.h header file\n* for each compiler that cannot handle correctly data allocated in ROM\n* (such as the gcc). If the macro is left undefined, the default\n* definition simply returns the argument and lets the compiler synthesize\n* the correct code.\n*/\n#define Q_ROM_BYTE(rom_var_) (rom_var_)\n\n/*! Macro to access a pointer allocated in ROM */\n/**\n* @description\n* Some compilers for Harvard-architecture MCUs, such as the gcc for AVR,\n* do not generate correct code for accessing data allocated in the program\n* space. The workaround for such compilers is to explictly add assembly code\n* to access each data element allocated in the program space. The macro\n* Q_ROM_PTR() retrieves an object-pointer from the given ROM address. Please\n* note that the pointer can be pointing to the object in RAM or ROM.\n*\n* The Q_ROM_PTR() macro should be defined in the qpn_port.h header file\n* for each compiler that cannot handle correctly data allocated in ROM\n* (such as the gcc). If the macro is left undefined, the default definition\n* simply returns the argument and lets the compiler synthesize the correct\n* code.\n*/\n#define Q_ROM_PTR(rom_var_) (rom_var_)\n\n/*! The macro defines the mechanism of locking the interrupts. */\n/**\n* @note This is just an example of #QF_INT_DISABLE. You need to define\n* the macro appropriately for the CPU/compiler you're using.\n*\n* @note The #QF_INT_DISABLE macro must be always paired with #QF_INT_ENABLE.\n* You should keep the code between these two macros to the minimum.\n*/\n#define QF_INT_DISABLE() int_disable()\n\n/*! The macro defines the mechanism of unlocking the interrupts. */\n/**\n* @description\n* @note This is just an example of #QF_INT_ENABLE. You need to define\n* the macro appropriately for the CPU/compiler you're using.\n*\n* @note The #QF_INT_ENABLE macro must be always paired with #QF_INT_DISABLE.\n* You should keep the code between these two macros to the minimum.\n*/\n#define QF_INT_ENABLE()  int_enable()\n\n/*! QK-nano ISR entry\n*\n* an example only\n*/\n#define QK_ISR_ENTRY()   ((void)0)\n\n/*! QK-nano ISR exit */\n#define QK_ISR_EXIT()    (*((uint32_t volatile *)0xE000ED04U) = 0x10000000U)\n\n/*! Macro that specifies whether QK-nano ISR nesting is allowed */\n#define QF_ISR_NEST\n\n/*! Macro that specifies QK-nano initialization */\n/**\n* @description\n* Some QK-nano ports might need initialization (e.g., seeting the priorities\n* of exceptions PendSV and SVCall in ARM Cortex-M port). The QK_INIT() macro\n* in this case calls the initialization defined in assembly.\n*\n* @note The macro QK_INIT() can be left undefined.\n*/\n#define QK_INIT()  QK_init()\nvoid QK_init(void);\n\n/*! Macro that enables context-switch callback in QK-nano */\n#define QK_ON_CONTEXT_SW\n\nvoid int_disable(void); /*!< example of a function to disable interrupts */\nvoid int_enable(void);  /*!< example of a function to enable interrupts */\n\n#include <stdint.h>    /* Exact-width types. WG14/N843 C99 Standard */\n#include <stdbool.h>   /* Boolean type.      WG14/N843 C99 Standard */\n\n#include \"qepn.h\"      /* QEP-nano platform-independent public interface */\n#include \"qfn.h\"       /* QF-nano platform-independent public interface */\n#include \"qkn.h\"       /* QK-nano platform-independent public interface */\n\n#endif /* QFN_PORT_H */\n"
  },
  {
    "path": "ports/lint-plus/qpn.lnt",
    "content": "/// @file\n/// @brief PC-Lint-Plus configuration file for linting QP-nano applications\n/// @cond\n///===========================================================================\n/// Product: QP-nano\n/// Last updated for version 6.7.0\n/// Last updated on  2019-12-30\n///\n///                    Q u a n t u m  L e a P s\n///                    ------------------------\n///                    Modern Embedded Software\n///\n/// Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n///\n/// This program is open source software: you can redistribute it and/or\n/// modify it under the terms of the GNU General Public License as published\n/// by the Free Software Foundation, either version 3 of the License, or\n/// (at your option) any later version.\n///\n/// Alternatively, this program may be distributed and modified under the\n/// terms of Quantum Leaps commercial licenses, which expressly supersede\n/// the GNU General Public License and are specifically designed for\n/// licensees interested in retaining the proprietary status of their code.\n///\n/// This program is distributed in the hope that it will be useful,\n/// but WITHOUT ANY WARRANTY; without even the implied warranty of\n/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n/// GNU General Public License for more details.\n///\n/// You should have received a copy of the GNU General Public License\n/// along with this program. If not, see <www.gnu.org/licenses>.\n///\n/// Contact information:\n/// <www.state-machine.com/licensing>\n/// <info@state-machine.com>\n///============================================================================\n/// @endcond\n\n// M3-D4.8(a) complete definition is unnecessary in this translation unit\n-efile(9045,\n -qepn.h,\n -qfn.h,\n -qvn.h,\n -qkn.h,\n)\n\n// Assertions ----------------------------------------------------------------\n\n// give Q_onAssert() the semantics of \"exit\"\n-function(exit,\n Q_onAssert)\n\n// M3-D4.9(a) function-like macro\n-esym(9026,\n Q_ASSERT,\n Q_ASSERT_ID,\n Q_ALLEGE,\n Q_ALLEGE_ID,\n Q_ERROR,\n Q_ERROR_ID,\n Q_REQUIRE,\n Q_REQUIRE_ID,\n Q_ENSURE,\n Q_ENSURE_ID,\n Q_INVARIANT,\n Q_INVARIANT_ID,\n Q_ASSERT_STATIC,\n Q_ASSERT_COMPILE,\n Q_DEFINE_THIS_MODULE)\n\n// definition of macro ends in semi-colon\n-esym(823,\n Q_DEFINE_THIS_FILE,\n Q_DEFINE_THIS_MODULE)\n\n// M3-D4.9(adv) function-like macro\n-esym(9026,\n Q_DIM,\n Q_UINT2PTR_CAST)\n\n// QEP-nano ------------------------------------------------------------------\n// M3-D4.9(adv) function-like macro\n-esym(9026,\n QHSM_INIT,\n QHSM_DISPATCH,\n Q_STATE_CAST,\n Q_TRAN,\n Q_TRAN_HIST,\n Q_SUPER,\n Q_HANDLED,\n Q_UNHANDLED,\n Q_SIG,\n Q_PAR,\n Q_HSM_UPCAST,\n QHsm_state,\n QHsm_childState,\n QP_getVersion)\n\n// M3-R11.1(req) conversion between pointer to function type and differing type\n-emacro(9074,\n Q_STATE_CAST)\n\n// M3-R13.4(a) result of assignment used in left operand to ',' operator\n-emacro(9084,\n Q_TRAN,\n Q_SUPER)\n\n// M3-R12.3(a) comma operator used\n-emacro(9008,\n Q_TRAN,\n Q_SUPER)\n\n// M3-R11.3(r) cast from pointer to pointer (upcast)\n-emacro(9087,\n Q_HSM_UPCAST)\n\n// M3-R11.2(req) cast from pointer to pointer involves a pointer to an incomplete type other than void\n-emacro(9076,\n QACTIVE_POST,\n QF_ACTIVE_CAST)\n\n// QF-nano -------------------------------------------------------------------\n// M3-D4.9(adv) function-like macro\n-esym(9026,\n QF_INT_DISABLE,\n QF_INT_ENABLE,\n QF_LOG2,\n Q_ROM,\n Q_ROM_BYTE,\n Q_ROM_PTR,\n QF_ACTIVE_CAST,\n QF_ROM_QUEUE_AT_,\n QF_ROM_ACTIVE_GET_,\n QACTIVE_POST,\n QACTIVE_POST_X,\n QACTIVE_POST_ISR,\n QACTIVE_POST_X_ISR)\n\n// M3-R11.3(req) cast from pointer to object type to pointer to different object type\n-emacro(9087,\n Q_SIG,\n Q_PAR,\n QACTIVE_POST,\n QACTIVE_POST_ISR)\n\n// suspicious pointer-to-pointer conversion (area too small)\n-emacro(826,\n QACTIVE_POST,\n QACTIVE_POST_ISR)\n\n// QV-nano -------------------------------------------------------------------\n// M3-D4.9(adv) function-like macro\n-esym(9026,\n QV_INIT,\n QV_CPU_SLEEP)\n\n// QK-nano -------------------------------------------------------------------\n// M3-D4.9(a) function-like macro\n-esym(9026,\n QK_INIT,\n QK_ISR_ENTRY,\n QK_ISR_EXIT,\n QK_SCHEDULE_)\n"
  },
  {
    "path": "ports/lint-plus/qpn_conf.h",
    "content": "/**\n* @file\n* @brief QP-nano configuration file.\n* @description\n* This header file provides the compile-time configuration of the QP-nano\n* framework. A version of the `qpn_conf.h` header file needs to be provided\n* with every QP-nano application.\n* @cond\n******************************************************************************\n* Last updated for version 6.8.0\n* Last updated on  2020-03-09\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QPN_CONF_H\n#define QPN_CONF_H\n\n/*! The size (in bytes) of the single scalar parameter representation\n* in the QEvent struct. Valid values: none (0), 1, 2, or 4; default none (0).\n*/\n/**\n* @description\n* The value of this macro configures the parameter size of QP-nano Events.\n* If the macro is not defined, the default of no event parameter will\n* be chosen. The valid Q_PARAM_SIZE values of 1, 2, 4, or 8, correspond\n* to event parameters of uint8_t, uint16_t, uint32_t, and uint64_t,\n* respectively.\n*\n* @sa ::QEvt, #Q_PAR(), QF_post(), QF_postNoLock()\n*/\n#define Q_PARAM_SIZE            4U\n\n/*! The size (in bytes) of the time event-counter representation in\n* the QActive struct. Valid values: none (0), 1, 2, or 4; default none (0).\n*/\n/**\n* @description\n* The value of this macro configures the internal tick counter size of\n* QP-nano Time Events. If the macro is not defined, the default of no time\n* event counter will be chosen. The valid values of 1, 2, or 4, correspond\n* to tick counters of uint8_t, uint16_t, and uint32_t, respectively. The\n* tick counter representation determines the dynamic range of time delays\n* that a Time Event can handle.\n*\n* @sa #QTimeEvtCtr\n*/\n#define QF_TIMEEVT_CTR_SIZE     2U\n\n/*! Configuration switch to enable/disable periodic time events. */\n/**\n* @description\n* The value of this macro configures the QF-nano timer is capable of firing\n* periodically or is limited to one-shot only. The reason for not allowing\n* periodic time events is that they require additional storage (inside\n* QActive) for the timeout interval.@n\n* @n\n* When the macro QF_TIMEEVT_PERIODIC is not defined, the function\n* QActive_armX() takes 3 arguments: the active object pointer, the tick\n* rate of the timer, and the one-shot timeout.@n\n* @n\n* When the macro QF_TIMEEVT_PERIODIC is not defined, the function\n* QActive_armX() takes additional 4-th argument: the interval to re-arm\n* the time event automatically until QActive_disarmX() is called.\n*/\n#define QF_TIMEEVT_PERIODIC\n\n/*! Configuration switch to enable/disable keeping track of QF time event\nusage. */\n/**\n* @description\n* The QF-nano keeps track of the armed time events by means of the timer-sets\n* (a separate one for each clock tick rate). The main use of the timer-sets\n* is to quickly determine which time events at a given tick rate are still\n* armed to enter the most appropriate low-power mode of the MCU.\n*/\n#define QF_TIMEEVT_USAGE\n\n/*! The preprocessor switch to enable the QK-nano scheduler locking. */\n/**\n* @description\n* QK-nano keeps supports selective scheduler locking up to a specified\n* ceiling priority. This scheduler locking can be used, for example, as\n* a non-blocking mutual exclusion mechanism (formerly QK-nano mutex).\n*/\n#define QK_SCHED_LOCK\n\n#endif /* QPN_CONF_H */\n"
  },
  {
    "path": "ports/lint-plus/qvn/qfn_port.h",
    "content": "/**\n* @file\n* @brief QF-nano port for Lint, cooperative QV-nano kernel, generic C compiler\n* @cond\n******************************************************************************\n* Last updated for version 6.7.0\n* Last updated on  2019-12-30\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QFN_PORT_H\n#define QFN_PORT_H\n\n/**\n* @description\n* This header file contains the port and customization of QP-nano to\n* the specific CPU and compiler. Typically, this header file includes\n* the platform-independent header file qpn.h.\n*/\n\n#define QF_INT_DISABLE() int_disable()\n#define QF_INT_ENABLE()  int_enable()\n\n/*! Macro that specifies QV-nano initialization */\n/**\n* @description\n* Some QV-nano ports might need initialization (e.g., seeting the priorities\n* of exceptions PendSV and SVCall in ARM Cortex-M port). The QV_INIT() macro\n* in this case calls the initialization defined in assembly.\n*\n* @note The macro QV_INIT() can be left undefined.\n*/\n#define QV_INIT()  QV_init()\nvoid QV_init(void);\n\n/*! Macro to put the CPU to sleep safely in the cooperative QV kernel\n* (inside QV_onIdle()).\n*/\n/**\n* @description\n* This macro is provided in some QP ports for the QV cooperative kernel\n* and in general it depends on the interrupt disabling policy.\n*\n* @note The provided code is just an example (for ARM Cortex-M).\n*/\n#define QV_CPU_SLEEP() do { \\\n    __disable_interrupt(); \\\n    QF_INT_ENABLE(); \\\n    __WFI(); \\\n    __enable_interrupt(); \\\n} while (false)\n\nvoid int_disable(void); /*!< example of a function to disable interrupts */\nvoid int_enable(void);  /*!< example of a function to enable interrupts */\n\n#include <stdint.h>    /* Exact-width types. WG14/N843 C99 Standard */\n#include <stdbool.h>   /* Boolean type.      WG14/N843 C99 Standard */\n\n#include \"qepn.h\"      /* QEP-nano platform-independent public interface */\n#include \"qfn.h\"       /* QF-nano platform-independent public interface */\n#include \"qvn.h\"       /* QV-nano platform-independent public interface */\n\n#endif /* QFN_PORT_H */\n"
  },
  {
    "path": "ports/lint-plus/std.lnt",
    "content": "/// @file\n/// @brief PC-Lint-Plus standard option file\n/// @ingroup lint\n/// @cond\n///===========================================================================\n/// Product: QP/C\n/// Last Updated for Version: 6.7.0\n/// Date of the Last Update:  2019-12-10\n///\n///                    Q u a n t u m  L e a P s\n///                    ------------------------\n///                    Modern Embedded Software\n///\n/// Copyright (C) 2005-2019 Quantum Leaps. All rights reserved.\n///\n/// This program is free software: you can redistribute it and/or modify\n/// it under the terms of the GNU General Public License as published by\n/// the Free Software Foundation, either version 3 of the License, or\n/// (at your option) any later version.\n///\n/// Alternatively, this program may be distributed and modified under the\n/// terms of Quantum Leaps commercial licenses, which expressly supersede\n/// the GNU General Public License and are specifically designed for\n/// licensees interested in retaining the proprietary status of their code.\n///\n/// This program is distributed in the hope that it will be useful,\n/// but WITHOUT ANY WARRANTY; without even the implied warranty of\n/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n/// GNU General Public License for more details.\n///\n/// You should have received a copy of the GNU General Public License\n/// along with this program. If not, see <www.gnu.org/licenses/>.\n///\n/// Contact information:\n/// <www.state-machine.com/licensing>\n/// <info@state-machine.com>\n///===========================================================================\n/// @endcond\n\n// message formatting options...\n-hF1             // output: a single line\n+ffn             // use full path names\n//-\"format=%(\\q%f\\q %l %C%) %t %n: %m\"\n//-width(0,0)     // do not break lines\n-width(120,4)   // break lines after 99 characters with 4 characters indent\n+flm            // make sure no foreign includes change the format\n\n// language standard...\n-std=c89\n-d__STDC_VERSION__=199409L // C89 Standard last ammended 1994-04\n//-std=c99\n//-d__STDC_VERSION__=199901L // C99 Standard 1999-01\n\n+rw(inline, entry)\n\n-zero(99)       // don't stop because of warnings\n-passes(2)      // make two passes (for better error messages)\n-restore_at_end // don't let -e<nn> options bleed to other files\n-summary()      // produce a summary of all produced messages\n\n// globally supress the following warning:\n-e546           // explicitly taking address of function\n-e717           // monocarpic do-while used to group statements\n"
  },
  {
    "path": "ports/lint-plus/stdbool.h",
    "content": "/**\n* @file\n* @brief Boolean type and constansts. WG14/N843 C99 Standard, Section 7.16\n*\n* @description\n* This header is part of the ANSI C99 standard library to define the\n* standard Boolean type as well as the 'true' and 'false' constansts.\n*/\n#ifndef STDBOOL_H\n#define STDBOOL_H\n\n/*lint -save */\n/*lint -e9071 M3-R21.1(r), defined macro is reserved to the compiler */\n/*lint -e9093 the name is reserved to the compiler */\n/*lint -emacro(506, true) constant value used in Boolean context (operand to ! operator) */\n\n#ifndef __cplusplus\n\ntypedef _Bool   bool;     /*!< standard Boolean data type */\n\n/*! standard 'false' constant */\n#define false ((bool)0)\n\n/*! standard 'true' constant */\n#define true  ((bool)!false)\n\n#endif /* !__cplusplus */\n\n/*lint -restore */\n\n#endif /* STDBOOL_H */\n\n"
  },
  {
    "path": "ports/msp430/README.txt",
    "content": "About The QP-MSP430 Port\n=======================\nThis directory contains the QP-nano ports to the MSP430 processor family,\nfor both \"classic\" MSP430 and \"extended\" MSP430X cores. The following\nports are provided:\n\nmsp430\n|\n+-qk      - port to the preemptive QK kernel\n| +-ccs   - port with the CCS-430 toolset\n| +-iar   - port with the IAR-430 toolset\n|\n+-qv      - port to the cooperative QV kernel\n| +-ccs   - port with the CCS-430 toolset\n| +-iar   - port with the IAR-430 toolset\n"
  },
  {
    "path": "ports/msp430/README.url",
    "content": "[InternetShortcut]\nURL=http://www.state-machine.com/qpn/msp430.html\nIconFile=http://www.state-machine.com/qp.ico\n"
  },
  {
    "path": "ports/msp430/qk/ccs/README.txt",
    "content": "About The QP-MSP430 Port\n========================\nThis directory contains the QP-nano port to the MSP430 processor family\nwith the preemptive QK-nano kernel using the TI CCS-430 compiler.\n\n\nUsing the Port in CCS\n=====================\nThe recommended CCS project setup procedure is illustrated in the provided\nCCS example projects in the qpn/examples/msp430/ directory, is to create a\nfolders for QP-nano source. These folders are \"qfn\" and \"qkn\".\n\nIt is important to create the \"qfn\" and \"qkn\" folders as \"Linked folders\",\nby expanding the \"Advanced\" folder option and selecting the \"Linked to\nalternate location (Linked Folder)\" radio button.\n\nThe \"qfn\" folder should be linked to \"qpn\\src\\qfn\"\nThe \"qkn\" folder should be linked to \"qpn\\src\\qkn\"\n\nFinally, to build QP-nano framework from sources, the following directories\nshould be present in the compiler \"Include Options\":\n \n<qpn>\\include\n<qpn>\\ports\\msp430\\qk\\ccs\n\nWhere, <qpn> is either relative or absolute path to the QP-nano framework\nfolder on your machine.\n"
  },
  {
    "path": "ports/msp430/qk/ccs/qfn_port.h",
    "content": "/**\n* @file\n* @brief QF-nano port to MSP430, preemptive QK-nano kernel, CCS-430 toolset\n* @cond\n******************************************************************************\n* Last Updated for Version: 6.8.0\n* Date of the Last Update:  2020-03-31\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QFN_PORT_H\n#define QFN_PORT_H\n\n/* QF-nano interrupt disable/enable... */\n#define QF_INT_DISABLE() __disable_interrupt()\n#define QF_INT_ENABLE()  __enable_interrupt()\n\n/* QF-nano interrupt disabling policy for interrupt level */\n/*#define QF_ISR_NEST*/  /* nesting of ISRs not allowed */\n\n/* QK-nano interrupt entry/exit */\n#define QK_ISR_ENTRY()   ((void)0)\n#define QK_ISR_EXIT()    do { \\\n    if (QK_sched_() != 0U) {  \\\n        QK_activate_();       \\\n    }                         \\\n} while (false)\n\n\n#include <intrinsics.h>  /* CCS intrinsic functions */\n\n#include <stdint.h>      /* Exact-width types. WG14/N843 C99 Standard */\n#include <stdbool.h>     /* Boolean type.      WG14/N843 C99 Standard */\n\n#include \"qepn.h\"        /* QEP-nano platform-independent public interface */\n#include \"qfn.h\"         /* QF-nano  platform-independent public interface */\n#include \"qkn.h\"         /* QK-nano  platform-independent public interface */\n\n#endif /* QFN_PORT_H */\n"
  },
  {
    "path": "ports/msp430/qk/iar/qfn_port.h",
    "content": "/**\n* @file\n* @brief QF-nano port to MSP430, preemptive QK-nano kernel, IAR-430 toolset\n* @cond\n******************************************************************************\n* Last Updated for Version: 6.8.0\n* Date of the Last Update:  2020-03-31\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QFN_PORT_H\n#define QFN_PORT_H\n\n/* QF-nano interrupt disable/enable... */\n#define QF_INT_DISABLE() __disable_interrupt()\n#define QF_INT_ENABLE()  __enable_interrupt()\n\n/* QF-nano interrupt disabling policy for interrupt level */\n/*#define QF_ISR_NEST*/  /* nesting of ISRs not allowed */\n\n/* QK-nano interrupt entry/exit */\n#define QK_ISR_ENTRY()   ((void)0)\n#define QK_ISR_EXIT()    do { \\\n    if (QK_sched_() != 0U) {  \\\n        QK_activate_();       \\\n    }                         \\\n} while (false)\n\n\n#include <intrinsics.h>  /* IAR intrinsic functions */\n\n#include <stdint.h>      /* Exact-width types. WG14/N843 C99 Standard */\n#include <stdbool.h>     /* Boolean type.      WG14/N843 C99 Standard */\n\n#include \"qepn.h\"        /* QEP-nano platform-independent public interface */\n#include \"qfn.h\"         /* QF-nano  platform-independent public interface */\n#include \"qkn.h\"         /* QK-nano  platform-independent public interface */\n\n#endif /* QFN_PORT_H */\n"
  },
  {
    "path": "ports/msp430/qv/ccs/README.txt",
    "content": "About The QP-MSP430 Port\n========================\nThis directory contains the QP-nano port to the MSP430 processor family\nwith the cooperative QV-nano kernel using the TI CCS-430 compiler.\n\n\nUsing the Port in CCS\n=====================\nThe recommended CCS project setup procedure is illustrated in the provided\nCCS example projects in the qpn/examples/msp430/ directory, is to create a\nfolders for QP-nano source. These folders are \"qfn\" and \"qvn\".\n\nIt is important to create the \"qfn\" and \"qvn\" folders as \"Linked folders\",\nby expanding the \"Advanced\" folder option and selecting the \"Linked to\nalternate location (Linked Folder)\" radio button.\n\nThe \"qfn\" folder should be linked to \"qpn\\src\\qfn\"\nThe \"qvn\" folder should be linked to \"qpn\\src\\qvn\"\n\nFinally, to build QP-nano framework from sources, the following directories\nshould be present in the compiler \"Include Options\":\n \n<qpn>\\include\n<qpn>\\ports\\msp430\\qv\\ccs\n\nWhere, <qpn> is either relative or absolute path to the QP-nano framework\nfolder on your machine.\n"
  },
  {
    "path": "ports/msp430/qv/ccs/qfn_port.h",
    "content": "/**\n* @file\n* @brief QF-nano port to MSP430, cooperative QV-nano kernel, CCS-430 toolset\n* @cond\n******************************************************************************\n* Last Updated for Version: 6.8.0\n* Date of the Last Update:  2020-03-31\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QFN_PORT_H\n#define QFN_PORT_H\n\n/* QF-nano interrupt disable/enable... */\n#define QF_INT_DISABLE() __disable_interrupt()\n#define QF_INT_ENABLE()  __enable_interrupt()\n\n/* QF-nano interrupt disabling policy for interrupt level */\n/*#define QF_ISR_NEST*/  /* nesting of ISRs not allowed */\n\n#include <intrinsics.h>  /* CCS intrinsic functions */\n\n#include <stdint.h>      /* Exact-width types. WG14/N843 C99 Standard */\n#include <stdbool.h>     /* Boolean type.      WG14/N843 C99 Standard */\n\n#include \"qepn.h\"        /* QEP-nano platform-independent public interface */\n#include \"qfn.h\"         /* QF-nano  platform-independent public interface */\n#include \"qvn.h\"         /* QV-nano  platform-independent public interface */\n\n#endif /* QFN_PORT_H */\n"
  },
  {
    "path": "ports/msp430/qv/iar/qfn_port.h",
    "content": "/**\n* @file\n* @brief QF-nano port to MSP430, cooperative QV-nano kernel, IAR-430 toolset\n* @cond\n******************************************************************************\n* Last Updated for Version: 6.8.0\n* Date of the Last Update:  2020-03-31\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QFN_PORT_H\n#define QFN_PORT_H\n\n/* QF-nano interrupt disable/enable... */\n#define QF_INT_DISABLE() __disable_interrupt()\n#define QF_INT_ENABLE()  __enable_interrupt()\n\n/* QF-nano interrupt disabling policy for interrupt level */\n/*#define QF_ISR_NEST*/  /* nesting of ISRs not allowed */\n\n#include <intrinsics.h>  /* IAR intrinsic functions */\n\n#include <stdint.h>      /* Exact-width types. WG14/N843 C99 Standard */\n#include <stdbool.h>     /* Boolean type.      WG14/N843 C99 Standard */\n\n#include \"qepn.h\"        /* QEP-nano platform-independent public interface */\n#include \"qfn.h\"         /* QF-nano  platform-independent public interface */\n#include \"qvn.h\"         /* QV-nano  platform-independent public interface */\n\n#endif /* QFN_PORT_H */\n"
  },
  {
    "path": "ports/pic24_dspic/qk/xc16/qfn_port.h",
    "content": "/**\n* @file\n* @brief QF-nano port, PIC24/dsPIC, QK-nano kernel, XC16 compiler\n* @ingroup ports\n* @cond\n******************************************************************************\n* Last Updated for Version: 6.8.0\n* Date of the Last Update:  2020-03-31\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QFN_PORT_H\n#define QFN_PORT_H\n\n/* QF-nano interrupt disable/enable, see NOTE01 */\n#define QF_INT_DISABLE()        __builtin_disi(0x3FFFU)\n#define QF_INT_ENABLE()         __builtin_disi(0x0000U)\n\n/* ISR-level interrupt locking policy for PIC24/dsPIC, see NOTE02 */\n#define QF_ISR_NEST\n\n/* QK-nano interrupt entry/exit */\n#define QK_ISR(psv_)                                \\\nvoid  __attribute__((__interrupt__(__preprologue__( \\\n    \"push   RCOUNT      \\n\"                         \\\n    \"push.d w0          \\n\"                         \\\n    \"mov.w  [w15-8],w0  \\n\"                         \\\n    \"lsr.w  w0,#13,w1   \\n\"                         \\\n    \"mov.w  #1,w0       \\n\"                         \\\n    \"sl     w0,w1,w0    \\n\"                         \\\n    \"ior.b  _QK_IPL_set_\\n\"                         \\\n    \"bra    .+6         \"))                         \\\n    , psv_))\n\n#define QK_ISR_EXIT() do {                                     \\\n    register uint16_t this_sr;                                 \\\n    __asm__ volatile (                                         \\\n        \"mov.w  SR,%0    \\n\"                                   \\\n        \"lsr    %0,#5,w0 \\n\"                                   \\\n        \"and.w  w0,#7,w0 \\n\"                                   \\\n        \"mov.w  #1,w1    \\n\"                                   \\\n        \"sl     w1,w0,w0 \\n\"                                   \\\n        \"ior.b  #1,w0    \\n\"                                   \\\n        \"com.b  w0,w0    \\n\"                                   \\\n        \"disi   #0x3FFF  \\n\"                                   \\\n        \"and.b  _QK_IPL_set_\" : \"=r\"(this_sr) : : \"w0\", \"w1\"); \\\n    if (QK_IPL_set_ == 0U) {                                   \\\n        if (QK_sched_() != 0U) {                               \\\n            __asm__ volatile (\"clr.b SR\");                     \\\n            QK_activate_();                                    \\\n            __asm__ volatile (\"mov.w %0,SR\" : : \"r\"(this_sr)); \\\n        }                                                      \\\n    }                                                          \\\n    __asm__ volatile (\"disi #0x0000\");                         \\\n} while (false);\n\n#include <stdint.h>      /* Exact-width types. WG14/N843 C99 Standard */\n#include <stdbool.h>     /* Boolean type.      WG14/N843 C99 Standard */\n\n#include \"qepn.h\"        /* QEP-nano platform-independent public interface */\n#include \"qfn.h\"         /* QF-nano  platform-independent public interface */\n#include \"qkn.h\"         /* QK-nano  platform-independent public interface */\n\n/* set of active interrupt priority levels (IPLs) */\nextern uint8_t volatile QK_IPL_set_;\n\n/*****************************************************************************\n* NOTE01:\n* The DISI (disable interrupts) instruction is used for very fast,\n* unconditional locking and unlocking of interrupts. The DISI #0x3FFF\n* instruction disables interrupts for 16383 instruction cycles, which is\n* much longer than any critical section in QP-nano. The DISI #0 instruction\n* is then used to unconditionally unlock the interrupts at the end of the\n* critical section. The DISI instruction only disables interrupts with\n* priority levels 1-6. Priority level 7 interrupts and all trap events still\n* have the ability to interrupt the CPU when the DISI instruction is active.\n* This means that from the perspective of QP-nano, the level 7 interrupts are\n* treated as non-maskable interrupts (NMIs). Such non-maskable interrupts\n* _cannot_ call any QP-nano services. In particular, they cannot post events.\n*\n* CAUTION: This QP-nano port assumes that interrupt nesting is _enabled_,\n* which is the default in the PIC24/dsPIC processors. Interrupt nesting should\n* never be disabled by setting the NSTDIS control bit (INTCON1<15>). If you\n* don't want interrupts to nest, you can always prioritize them at the same\n* level. For example, the default priority level for all interrupts is 4 out\n* of reset. If you don't change this level for any interrupt the nesting of\n* interrupt will not occur.\n*\n* NOTE02:\n* The ISR-level interrupt policy allows interrupt nesting. The QF_ISR_KEY_TYPE\n* is _not_ defined, which means that the ISRs will use the task-level\n* interrupt locking policy. This is possible, because PIC24/dsPIC CPU does\n* _not_ lock interrupts upon entry to the ISR, so the ISR does not constitute\n* critical section and the simple critical section incapable of nesting is\n* adequate.\n*\n* CAUTION: This _preemptive_ QK-nano port requires writing ISRs in assembly,\n* as shown in the file isr.s. Unfortunately, the ISRs that the C30 compiler\n* is capable of generating are not adequate for the QK-nano kernel.\n*/\n\n#endif /* QFN_PORT_H */\n\n"
  },
  {
    "path": "ports/pic24_dspic/qk/xc16/qkn_port.c",
    "content": "/**\n* @file\n* @brief QK-nano port, PIC24/dsPIC, QK kernel, MPLABX-XC16 compiler\n* @ingroup ports\n* @cond\n******************************************************************************\n* Last Updated for Version: 6.8.0\n* Date of the Last Update:  2020-03-31\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#include \"qfn_port.h\"\n\n/* set of active interrupt priority levels (IPLs) */\nuint8_t volatile QK_IPL_set_;\n"
  },
  {
    "path": "ports/pic24_dspic/qv/xc16/qfn_port.h",
    "content": "/**\n* @file\n* @brief QF-nano port, PIC24/dsPIC, cooperative QV-nano kernel, XC16 compiler\n* @ingroup ports\n* @cond\n******************************************************************************\n* Last Updated for Version: 6.8.0\n* Date of the Last Update:  2020-03-31\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QFN_PORT_H\n#define QFN_PORT_H\n\n/* QF-nano interrupt disable/enable, see NOTE01 */\n#define QF_INT_DISABLE()        __builtin_disi(0x3FFFU)\n#define QF_INT_ENABLE()         __builtin_disi(0x0000U)\n\n/* ISR-level interrupt locking policy for PIC24/dsPIC, see NOTE02 */\n#define QF_ISR_NEST\n\n#include <stdint.h>      /* Exact-width types. WG14/N843 C99 Standard */\n#include <stdbool.h>     /* Boolean type.      WG14/N843 C99 Standard */\n\n#include \"qepn.h\"        /* QEP-nano platform-independent public interface */\n#include \"qfn.h\"         /* QF-nano  platform-independent public interface */\n#include \"qvn.h\"         /* QV-nano  platform-independent public interface */\n\n/*****************************************************************************\n* NOTE01:\n* The DISI (disable interrupts) instruction is used for very fast,\n* unconditional locking and unlocking of interrupts. The DISI #0x3FFF\n* instruction disables interrupts for 16383 instruction cycles, which is\n* much longer than any critical section in QP-nano. The DISI #0 instruction\n* is then used to unconditionally unlock the interrupts at the end of the\n* critical section. The DISI instruction only disables interrupts with\n* priority levels 1-6. Priority level 7 interrupts and all trap events still\n* have the ability to interrupt the CPU when the DISI instruction is active.\n* This means that from the perspective of QP-nano, the level 7 interrupts are\n* treated as non-maskable interrupts (NMIs). Such non-maskable interrupts\n* _cannot_ call any QP-nano services. In particular, they cannot post events.\n*\n* CAUTION: This QP-nano port assumes that interrupt nesting is _enabled_,\n* which is the default in the PIC24/dsPIC processors. Interrupt nesting should\n* never be disabled by setting the NSTDIS control bit (INTCON1<15>). If you\n* don't want interrupts to nest, you can always prioritize them at the same\n* level. For example, the default priority level for all interrupts is 4 out\n* of reset. If you don't change this level for any interrupt the nesting of\n* interrupt will not occur.\n*/\n\n#endif /* QFN_PORT_H */\n\n"
  },
  {
    "path": "ports/posix-qv/README.url",
    "content": "[InternetShortcut]\nURL=http://www.state-machine.com/qpn/posix-qv.html\nIconFile=http://www.state-machine.com/qp.ico\n"
  },
  {
    "path": "ports/posix-qv/qfn_port.h",
    "content": "/**\n* @file\n* @brief QF-nano emulation for POSIX with cooperative QV kernel\n* @cond\n******************************************************************************\n* Last Updated for Version: 6.8.0\n* Date of the Last Update:  2020-03-31\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QFN_PORT_H\n#define QFN_PORT_H\n\n/* interrupt disabling policy for task level, see NOTE1 */\n#define QF_INT_DISABLE()     QF_enterCriticalSection_()\n#define QF_INT_ENABLE()      QF_leaveCriticalSection_()\n\n/* interrupt disabling policy for interrupt level */\n/*#define QF_ISR_NEST*/ /* nesting of ISRs not allowed */\n\n#include <stdint.h>     /* Exact-width types. WG14/N843 C99 Standard */\n#include <stdbool.h>    /* Boolean type.      WG14/N843 C99 Standard */\n\n#include \"qepn.h\"       /* QEP-nano platform-independent public interface */\n#include \"qfn.h\"        /* QF-nano platform-independent public interface */\n#include \"qvn.h\"        /* QV-nano cooperative kernel public interface */\n\n/* QF functions specific to the port */\nvoid QF_enterCriticalSection_(void);\nvoid QF_leaveCriticalSection_(void);\n\n/* set clock tick rate and p-thread priority\n* (NOTE ticksPerSec==0 disables the \"ticker thread\"\n*/\nvoid QF_setTickRate(uint32_t ticksPerSec, int_t tickPrio);\n\n/* ISR-level clock tick callback\n* (NOTE not called when \"ticker thread\" is not running)\n*/\nvoid QF_onClockTickISR(void);\n\n/* application-level callback to cleanup the application */\nvoid QF_onCleanup(void);\n\n/* abstractions for console access... */\nvoid QF_consoleSetup(void);\nvoid QF_consoleCleanup(void);\nint QF_consoleGetKey(void);\nint QF_consoleWaitForKey(void);\n\n/* NOTES: ********************************************************************\n*\n* NOTE1:\n* QF-nano, like all small real-time kernels, needs to disable and enable\n* interrupts to execute critical sections of code atomically. However,\n* POSIX does not really allow disabling/enabling interrutps at the task\n* level. Instead, this QF-nano emulation uses therefore a single package-scope\n* p-thread mutex QF_pThreadMutex_ to protect all critical sections. The mutex\n* is locked upon the entry to each critical sectioni and unlocked upon exit.\n*\n* Using the single mutex for all crtical section guarantees that only one\n* thread at a time can execute inside a critical section. This prevents race\n* conditions and data corruption.\n*\n* Note, however, that the mutex implementation of a critical section behaves\n* differently than the standard interrupt locking. For example, the mutex\n* approach might be subject to priority inversions. However, most p-thread\n* mutex implementations, such as Linux p-threads, should support the\n* priority-inheritance protocol.\n*/\n\n#endif /* QFN_PORT_H */\n"
  },
  {
    "path": "ports/posix-qv/qfn_posix.c",
    "content": "/**\n* @file\n* @brief QF-nano port to POSIX API with cooperative QV scheduler (posix-qv)\n* @ingroup ports\n* @cond\n******************************************************************************\n* Last updated for version 6.8.0\n* Last updated on  2020-03-17\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n\n/* expose features from the 2008 POSIX standard (IEEE Standard 1003.1-2008) */\n#define _POSIX_C_SOURCE 200809L\n\n#include \"qpn.h\" /* QP-nano */\n\n#include <pthread.h>\n\n#include <sys/ioctl.h>\n#include <stdlib.h>\n#include <stdio.h>\n#include <termios.h>\n#include <unistd.h>\n#include <signal.h>\n\n#ifdef qkn_h\n    #error \"This QP-nano port does not support QK-nano configuration\"\n#endif\n\nQ_DEFINE_THIS_MODULE(\"qfn_posix\")\n\n/* Global objects ==========================================================*/\nuint_fast8_t volatile QF_readySet_; /* ready-set of QF-nano */\nuint_fast8_t QF_maxActive_; /* # active objects that QF-nano must manage */\n\n#ifdef QF_TIMEEVT_USAGE\nuint_fast8_t volatile QF_timerSetX_[QF_MAX_TICK_RATE]; /* timer-set */\n#endif\n\n#ifndef QF_LOG2\nuint8_t const Q_ROM QF_log2Lkup[16] = {\n    0U, 1U, 2U, 2U, 3U, 3U, 3U, 3U,\n    4U, 4U, 4U, 4U, 4U, 4U, 4U, 4U\n};\n#endif /* QF_LOG2 */\n\n/* Local objects ===========================================================*/\n/* mutex for QF critical section */\nstatic pthread_mutex_t l_pThreadMutex_;\nstatic pthread_cond_t l_condVar; /* cond var to signal when AOs are ready */\nstatic struct termios l_tsav; /* structure with saved terminal attributes */\nstatic bool l_isRunning;  /* flag indicating when QF is running */\nstatic struct timespec l_tick;\nstatic int_t l_tickPrio;\nenum { NANOSLEEP_NSEC_PER_SEC = 1000000000 }; /* see NOTE1 */\n\n/* \"fudged\" event queues for AOs, see NOTE2 */\n#define QF_FUDGED_QUEUE_LEN  0xFFU\nstatic QEvt l_fudgedQueue[8][QF_FUDGED_QUEUE_LEN];\n#define QF_FUDGED_QUEUE_AT_(ao_, i_) (l_fudgedQueue[(ao_)->prio - 1U][(i_)])\n\nstatic void *tickerThread(void *par); /* the expected P-Thread signature */\nstatic void sigIntHandler(int dummy);\n\n/****************************************************************************/\nvoid QActive_ctor(QActive * const me, QStateHandler initial) {\n    static QActiveVtable const vtable = { /* QActive virtual table */\n        { &QHsm_init_,\n          &QHsm_dispatch_ },\n        &QActive_postX_,\n        &QActive_postXISR_\n    };\n    QHsm_ctor(&me->super, initial);\n    me->super.vptr = &vtable.super; /* hook the vptr to QActive vtable */\n}\n\n/****************************************************************************/\n#if (Q_PARAM_SIZE != 0)\nbool QActive_postX_(QActive * const me, uint_fast8_t margin,\n                    enum_t const sig, QParam const par)\n#else\nbool QActive_postX_(QActive * const me, uint_fast8_t margin,\n                    enum_t const sig)\n#endif\n{\n    QF_INT_DISABLE();\n    bool status;\n\n    if (margin == QF_NO_MARGIN) {\n        if (QF_FUDGED_QUEUE_LEN > me->nUsed) {\n            status = true; /* can post */\n        }\n        else {\n            status = false; /* cannot post */\n            Q_ERROR_ID(310); /* must be able to post the event */\n        }\n    }\n    else if ((QF_FUDGED_QUEUE_LEN - me->nUsed) > margin) {\n        status = true; /* can post */\n    }\n    else {\n        status = false; /* cannot post */\n    }\n\n    if (status) { /* can post the event? */\n        /* insert event into the ring buffer (FIFO) */\n        QF_FUDGED_QUEUE_AT_(me, me->head).sig = (QSignal)sig;\n#if (Q_PARAM_SIZE != 0)\n        QF_FUDGED_QUEUE_AT_(me, me->head).par = par;\n#endif\n        if (me->head == 0U) {\n            me->head = QF_FUDGED_QUEUE_LEN; /* wrap the head */\n        }\n        --me->head;\n        ++me->nUsed;\n\n        /* is this the first event? */\n        if (me->nUsed == 1U) {\n            /* set the corresponding bit in the ready set */\n            QF_readySet_ |= (uint_fast8_t)(1U << (me->prio - 1U));\n            pthread_cond_signal(&l_condVar); /* unblock the event loop */\n        }\n    }\n    QF_INT_ENABLE();\n\n    return status;\n}\n\n/****************************************************************************/\n#if (Q_PARAM_SIZE != 0)\nbool QActive_postXISR_(QActive * const me, uint_fast8_t margin,\n                       enum_t const sig, QParam const par)\n#else\nbool QActive_postXISR_(QActive * const me, uint_fast8_t margin,\n                       enum_t const sig)\n#endif\n{\n    bool status;\n\n    if (margin == QF_NO_MARGIN) {\n        if (QF_FUDGED_QUEUE_LEN > me->nUsed) {\n            status = true; /* can post */\n        }\n        else {\n            status = false; /* cannot post */\n            Q_ERROR_ID(310); /* must be able to post the event */\n        }\n    }\n    else if ((QF_FUDGED_QUEUE_LEN - me->nUsed) > margin) {\n        status = true; /* can post */\n    }\n    else {\n        status = false; /* cannot post */\n    }\n\n    if (status) { /* can post the event? */\n        /* insert event into the ring buffer (FIFO) */\n        QF_FUDGED_QUEUE_AT_(me, me->head).sig = (QSignal)sig;\n#if (Q_PARAM_SIZE != 0)\n        QF_FUDGED_QUEUE_AT_(me, me->head).par = par;\n#endif\n        if (me->head == 0U) {\n            me->head = QF_FUDGED_QUEUE_LEN; /* wrap the head */\n        }\n        --me->head;\n        ++me->nUsed;\n        /* is this the first event? */\n        if (me->nUsed == 1U) {\n            /* set the bit */\n            QF_readySet_ |= (uint_fast8_t)(1U << (me->prio - 1U));\n            pthread_cond_signal(&l_condVar); /* unblock the event loop */\n        }\n    }\n\n    return status;\n}\n\n/****************************************************************************/\n#if (QF_TIMEEVT_CTR_SIZE != 0)\n\nvoid QF_tickXISR(uint_fast8_t const tickRate) {\n    uint_fast8_t p = QF_maxActive_;\n    do {\n        QActive *a = QF_ROM_ACTIVE_GET_(p);\n        QTimer *t = &a->tickCtr[tickRate];\n\n        if (t->nTicks != 0U) {\n            --t->nTicks;\n            if (t->nTicks == 0U) {\n\n#ifdef QF_TIMEEVT_PERIODIC\n                if (t->interval != 0U) {\n                    t->nTicks = t->interval; /* re-arm the periodic timer */\n                }\n#endif /* QF_TIMEEVT_PERIODIC */\n\n#ifdef QF_TIMEEVT_USAGE\n                QF_timerSetX_[tickRate] &= (uint_fast8_t)(~(1U << (p - 1U)));\n#endif /* QF_TIMEEVT_USAGE */\n\n#if (Q_PARAM_SIZE != 0)\n                QACTIVE_POST_ISR(a, (enum_t)Q_TIMEOUT_SIG + (enum_t)tickRate,\n                                 0U);\n#else\n                QACTIVE_POST_ISR(a, (enum_t)Q_TIMEOUT_SIG + (enum_t)tickRate);\n#endif /* (Q_PARAM_SIZE != 0) */\n            }\n        }\n        --p;\n    } while (p != 0U);\n}\n\n/****************************************************************************/\n#ifdef QF_TIMEEVT_PERIODIC\nvoid QActive_armX(QActive * const me, uint_fast8_t const tickRate,\n                  QTimeEvtCtr const nTicks, QTimeEvtCtr const interval)\n#else\nvoid QActive_armX(QActive * const me, uint_fast8_t const tickRate,\n                  QTimeEvtCtr const nTicks)\n#endif\n{\n    QF_INT_DISABLE();\n    me->tickCtr[tickRate].nTicks = nTicks;\n#ifdef QF_TIMEEVT_PERIODIC\n    me->tickCtr[tickRate].interval = interval;\n#endif /* QF_TIMEEVT_PERIODIC */\n\n#ifdef QF_TIMEEVT_USAGE\n    /* set a bit in QF_timerSetX_[] to rememer that the timer is running */\n    QF_timerSetX_[tickRate] |=  (uint_fast8_t)(1U << (me->prio - 1U));\n#endif\n    QF_INT_ENABLE();\n}\n\n/****************************************************************************/\nvoid QActive_disarmX(QActive * const me, uint_fast8_t const tickRate) {\n    QF_INT_DISABLE();\n    me->tickCtr[tickRate].nTicks = 0U;\n#ifdef QF_TIMEEVT_PERIODIC\n    me->tickCtr[tickRate].interval = 0U;\n#endif /* QF_TIMEEVT_PERIODIC */\n\n#ifdef QF_TIMEEVT_USAGE\n    /* clear a bit in QF_timerSetX_[] to rememer that timer is not running */\n    QF_timerSetX_[tickRate] &= (uint_fast8_t)(~(1U << (me->prio - 1U)));\n#endif\n    QF_INT_ENABLE();\n}\n#endif /* #if (QF_TIMEEVT_CTR_SIZE != 0) */\n\n/* QF functions ============================================================*/\nvoid QF_enterCriticalSection_(void) {\n    pthread_mutex_lock(&l_pThreadMutex_);\n}\n/****************************************************************************/\nvoid QF_leaveCriticalSection_(void) {\n    pthread_mutex_unlock(&l_pThreadMutex_);\n}\n/****************************************************************************/\n/**\n* @description\n* The function QF_init() initializes the number of active objects to be\n* managed by the framework and clears the internal QF-nano variables as well\n* as all registered active objects to zero, which is needed in case when\n* the startup code does not clear the uninitialized data (in violation of\n* the C Standard).\n*\n* @note\n* The intended use of the function is to call as follows:\n* QF_init(Q_DIM(QF_active));\n*/\nvoid QF_init(uint_fast8_t maxActive) {\n    QActive *a;\n    uint_fast8_t p;\n    struct sigaction sig_act;\n\n#if (defined(QF_TIMEEVT_USAGE) || (QF_TIMEEVT_CTR_SIZE != 0))\n    uint_fast8_t n;\n#endif /* QF_TIMEEVT_USAGE */\n\n    /** @pre the number of active objects must be in range */\n    Q_REQUIRE_ID(100, (1U < maxActive) && (maxActive <= 9U));\n    QF_maxActive_ = maxActive - 1U;\n\n    /* init the global mutex with the default non-recursive initializer */\n    pthread_mutex_init(&l_pThreadMutex_, NULL);\n\n    l_tick.tv_sec = 0;\n    l_tick.tv_nsec = NANOSLEEP_NSEC_PER_SEC/100L; /* default clock tick */\n    l_tickPrio = sched_get_priority_min(SCHED_FIFO); /* default tick prio */\n\n    /* install the SIGINT (Ctrl-C) signal handler */\n    sig_act.sa_handler = &sigIntHandler;\n    sigaction(SIGINT, &sig_act, NULL);\n\n#ifdef QF_TIMEEVT_USAGE\n    for (n = 0U; n < QF_MAX_TICK_RATE; ++n) {\n        QF_timerSetX_[n] = 0U;\n    }\n#endif /* QF_TIMEEVT_USAGE */\n\n    QF_readySet_ = 0U;\n\n#ifdef QK_PREEMPTIVE\n    QK_currPrio_ = 8U; /* QK-nano scheduler locked */\n\n#ifdef QF_ISR_NEST\n    QK_intNest_ = 0U;\n#endif\n\n#ifdef QK_SCHED_LOCK\n    QK_lockPrio_ = 0U;\n#endif\n\n#endif /* #ifdef QK_PREEMPTIVE */\n\n    /* clear all registered active objects... */\n    for (p = 1U; p <= QF_maxActive_; ++p) {\n        a = QF_ROM_ACTIVE_GET_(p);\n\n        /* QF_active[p] must be initialized */\n        Q_ASSERT_ID(110, a != (QActive *)0);\n\n        a->head  = 0U;\n        a->tail  = 0U;\n        a->nUsed = 0U;\n#if (QF_TIMEEVT_CTR_SIZE != 0)\n        for (n = 0U; n < QF_MAX_TICK_RATE; ++n) {\n            a->tickCtr[n].nTicks   = 0U;\n#ifdef QF_TIMEEVT_PERIODIC\n            a->tickCtr[n].interval = 0U;\n#endif /* def QF_TIMEEVT_PERIODIC */\n        }\n#endif /* (QF_TIMEEVT_CTR_SIZE != 0) */\n    }\n}\n/****************************************************************************/\nint_t QF_run(void) {\n    uint_fast8_t p;\n    QActive *a;\n    pthread_t thread;\n    struct sched_param sparam;\n\n    pthread_cond_init(&l_condVar, 0);\n\n    /* set priorities all registered active objects... */\n    for (p = 1U; p <= QF_maxActive_; ++p) {\n        a = QF_ROM_ACTIVE_GET_(p);\n\n        /* QF_active[p] must be initialized */\n        Q_ASSERT_ID(810, a != (QActive *)0);\n\n        a->prio = p; /* set the priority of the active object */\n    }\n\n    /* trigger initial transitions in all registered active objects... */\n    for (p = 1U; p <= QF_maxActive_; ++p) {\n        a = QF_ROM_ACTIVE_GET_(p);\n        QHSM_INIT(&a->super); /* take the initial transition in the HSM */\n    }\n\n    QF_onStartup(); /* invoke startup callback */\n\n    /* try to set the priority of the ticker thread, see NOTE01 */\n    sparam.sched_priority = l_tickPrio;\n    if (pthread_setschedparam(pthread_self(), SCHED_FIFO, &sparam) == 0) {\n        /* success, this application has sufficient privileges */\n    }\n    else {\n        /* setting priority failed, probably due to insufficient privieges */\n    }\n\n    l_isRunning = true;\n\n    /* system clock tick configured? */\n    if ((l_tick.tv_sec != 0) || (l_tick.tv_nsec != 0)) {\n        Q_ALLEGE_ID(810, pthread_create(&thread, (pthread_attr_t *)0,\n             &tickerThread, (void *)0) == 0); /* ticker thread must be created */\n    }\n\n    /* the event loop of the QV-nano kernel... */\n    QF_INT_DISABLE();\n    while (l_isRunning) {\n        if (QF_readySet_ != 0U) {\n\n            /* hi nibble non-zero? */\n            if ((QF_readySet_ & 0xF0U) != 0U) {\n                p = (uint_fast8_t)(\n                      Q_ROM_BYTE(QF_log2Lkup[QF_readySet_ >> 4]) + 4U);\n            }\n            else { /* hi nibble of QF_readySet_ is zero */\n                p = (uint_fast8_t)Q_ROM_BYTE(QF_log2Lkup[QF_readySet_]);\n            }\n\n            a = QF_ROM_ACTIVE_GET_(p);\n\n            /* some unsuded events must be available */\n            Q_ASSERT_ID(820, a->nUsed > 0U);\n\n            --a->nUsed;\n            Q_SIG(a) = QF_FUDGED_QUEUE_AT_(a, a->tail).sig;\n#if (Q_PARAM_SIZE != 0)\n            Q_PAR(a) = QF_FUDGED_QUEUE_AT_(a, a->tail).par;\n#endif\n            if (a->tail == 0U) { /* wrap around? */\n                a->tail = QF_FUDGED_QUEUE_LEN;\n            }\n            --a->tail;\n            QF_INT_ENABLE();\n\n            QHSM_DISPATCH(&a->super); /* dispatch to the HSM (RTC step) */\n\n            QF_INT_DISABLE();\n            /* empty queue? */\n            if (a->nUsed == 0U) {\n                /* clear the bit corresponding to 'p' */\n                QF_readySet_ &= (uint_fast8_t)(~(1U << (p - 1U)));\n            }\n        }\n        else {\n            /* the QV kernel in embedded systems calls here the QV_onIdle()\n            * callback. However, the POSIX-QV port does not do busy-waiting\n            * for events. Instead, the POSIX-QV port efficiently waits until\n            * QP events become available.\n            */\n            while (QF_readySet_ == 0U) {\n                pthread_cond_wait(&l_condVar, &l_pThreadMutex_);\n            }\n        }\n    }\n    QF_INT_ENABLE();\n    QF_onCleanup(); /* cleanup callback */\n    pthread_cond_destroy(&l_condVar); /* cleanup the condition variable */\n    pthread_mutex_destroy(&l_pThreadMutex_);\n\n    return 0; /* success */\n}\n/*..........................................................................*/\nvoid QF_stop(void) {\n    l_isRunning = false;    /* cause exit from the event loop */\n\n    /* unblock the event loop so it can terminate */\n    QF_readySet_ = 1U;\n    pthread_cond_signal(&l_condVar);\n}\n\n/****************************************************************************/\nvoid QF_setTickRate(uint32_t ticksPerSec, int_t tickPrio) {\n    if (ticksPerSec != 0U) {\n        l_tick.tv_nsec = NANOSLEEP_NSEC_PER_SEC / ticksPerSec;\n    }\n    else {\n        l_tick.tv_nsec = 0; /* means NO system clock tick */\n    }\n    l_tickPrio = tickPrio;\n}\n/*..........................................................................*/\nvoid QF_consoleSetup(void) {\n    struct termios tio;   /* modified terminal attributes */\n\n    tcgetattr(0, &l_tsav); /* save the current terminal attributes */\n    tcgetattr(0, &tio);    /* obtain the current terminal attributes */\n    tio.c_lflag &= ~(ICANON | ECHO); /* disable the canonical mode & echo */\n    tcsetattr(0, TCSANOW, &tio);     /* set the new attributes */\n}\n/*..........................................................................*/\nvoid QF_consoleCleanup(void) {\n    tcsetattr(0, TCSANOW, &l_tsav); /* restore the saved attributes */\n}\n/*..........................................................................*/\nint QF_consoleGetKey(void) {\n    int byteswaiting;\n    ioctl(0, FIONREAD, &byteswaiting);\n    if (byteswaiting > 0) {\n        char ch;\n        read(0, &ch, 1);\n        return (int)ch;\n    }\n    return 0; /* no input at this time */\n}\n/*..........................................................................*/\nint QF_consoleWaitForKey(void) {\n    return getchar();\n}\n\n\n/*..........................................................................*/\nstatic void *tickerThread(void *par) { /* the expected P-Thread signature */\n    (void)par; /* unused parameter */\n\n    while (l_isRunning) {\n        nanosleep(&l_tick, NULL); /* sleep for the number of ticks, NOTE1 */\n\n        QF_INT_DISABLE();  /* make sure simulated ISR cannot be preempted */\n        QF_onClockTickISR(); /* call back to the app, see NOTE3 */\n        QF_INT_ENABLE();\n    }\n    return (void *)0; /* return success */\n}\n\n/****************************************************************************/\nstatic void sigIntHandler(int dummy) {\n    (void)dummy; /* unused parameter */\n    QF_onCleanup();\n    exit(-1);\n}\n\n/* NOTES: ********************************************************************\n*\n* NOTE1:\n* In some (older) Linux kernels, the POSIX nanosleep() system call might\n* deliver only 2*actual-system-tick granularity. To compensate for this,\n* you would need to reduce (by 2) the constant NANOSLEEP_NSEC_PER_SEC.\n*\n* NOTE2:\n* POSIX is not necessariliy a deterministic real-time system, which means\n* that the system can occasionally and unexpectedly \"choke and freeze\" for\n* a number of seconds. The designers of POSIX have dealt with these sort\n* of issues by massively oversizing the resources available to the\n* applications. For example, the the stacks of POSIX-threads can dynamically\n* grow to several megabytes.\n*\n* In contrast, the event queues, event pools, and stack size inside the\n* real-time embedded (RTE) systems can be (and must be) much smaller,\n* because you typically can put an upper bound on the real-time behavior\n* and the resulting delays.\n*\n* To be able to run the unmodified applications designed originally for\n* RTE systems on POSIX, and to reduce the odds of resource shortages in\n* this case, the event queues of all Active Objects are \"fudged\" to the\n* maximum dynamic range of uint_fast8_t data type, which is 0xFF\n* (see QF_FUDGED_QUEUE_LEN).\n*\n* NOTE3:\n* The callback QF_onClockTickISR() is invoked with interupts disabled\n* to emulate the ISR level. This means that only the ISR-level APIs are\n* available inside the QF_onClockTickISR() callback.\n*/\n\n"
  },
  {
    "path": "ports/posix-qv/safe_std.h",
    "content": "/**\n* @file\n* @brief \"safe\" <stdio.h> and <string.h> facilities\n* @ingroup qpspy\n* @cond\n******************************************************************************\n* Last updated for version 6.8.1\n* Last updated on  2020-03-31\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef SAFE_STD_H\n#define SAFE_STD_H\n\n#include <stdio.h>\n#include <string.h>\n\n/* portable \"safe\" facilities from <stdio.h> and <string.h> ................*/\n#ifdef _WIN32 /* Windows OS? */\n\n#define MEMMOVE_S(dest_, num_, src_, count_) \\\n    memmove_s(dest_, num_, src_, count_)\n\n#define STRCPY_S(dest_, destsiz_, src_) \\\n    strcpy_s(dest_, destsiz_, src_)\n\n#define STRCAT_S(dest_, destsiz_, src_) \\\n    strcat_s(dest_, destsiz_, src_)\n\n#define SNPRINTF_S(buf_, bufsiz_, format_, ...) \\\n    _snprintf_s(buf_, bufsiz_, _TRUNCATE, format_, ##__VA_ARGS__)\n\n#define PRINTF_S(format_, ...) \\\n    printf_s(format_, ##__VA_ARGS__)\n\n#define FPRINTF_S(fp_, format_, ...) \\\n    fprintf_s(fp_, format_, ##__VA_ARGS__)\n\n#ifdef _MSC_VER\n#define FREAD_S(buf_, bufsiz_, elsiz_, count_, fp_) \\\n    fread_s(buf_, bufsiz_, elsiz_, count_, fp_)\n#else\n#define FREAD_S(buf_, bufsiz_, elsiz_, count_, fp_) \\\n    fread(buf_, elsiz_, count_, fp_)\n#endif /* _MSC_VER */\n\n#define FOPEN_S(fp_, fName_, mode_) \\\nif (fopen_s(&fp_, fName_, mode_) != 0) { \\\n    fp_ = (FILE *)0; \\\n} else (void)0\n\n#define LOCALTIME_S(tm_, time_) \\\n    localtime_s(tm_, time_)\n\n#else /* other OS (Linux, MacOS, etc.) .....................................*/\n\n#define MEMMOVE_S(dest_, num_, src_, count_) \\\n    memmove(dest_, src_, count_)\n\n#define STRCPY_S(dest_, destsiz_, src_) \\\n    strcpy(dest_, src_)\n\n#define STRCAT_S(dest_, destsiz_, src_) \\\n    strcat(dest_, src)\n\n#define SNPRINTF_S(buf_, bufsiz_, format_, ...) \\\n    snprintf(buf_, bufsiz_, format_, ##__VA_ARGS__)\n\n#define PRINTF_S(format_, ...) \\\n    printf(format_, ##__VA_ARGS__)\n\n#define FPRINTF_S(fp_, format_, ...) \\\n    fprintf(fp_, format_, ##__VA_ARGS__)\n\n#define FREAD_S(buf_, bufsiz_, elsiz_, count_, fp_) \\\n    fread(buf_, elsiz_, count_, fp_)\n\n#define FOPEN_S(fp_, fName_, mode_) \\\n    (fp_ = fopen(fName_, mode_))\n\n#define LOCALTIME_S(tm_, time_) \\\n    memcpy(tm_, localtime(time_), sizeof(struct tm))\n\n#endif /* _WIN32 */\n\n#endif /* SAFE_STD_H */\n"
  },
  {
    "path": "ports/win32-qv/README.url",
    "content": "[InternetShortcut]\nURL=http://www.state-machine.com/qpn/win32-qv.html\nIconFile=http://www.state-machine.com/qp.ico\n"
  },
  {
    "path": "ports/win32-qv/qfn_port.h",
    "content": "/**\n* @file\n* @brief QF-nano emulation for Win32 with cooperative QV kernel\n* @ingroup ports\n* @cond\n******************************************************************************\n* Last Updated for Version: 6.8.0\n* Date of the Last Update:  2020-03-31\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses/>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QFN_PORT_H\n#define QFN_PORT_H\n\n/* interrupt disabling policy for task level, see NOTE1 */\n#define QF_INT_DISABLE()     QF_enterCriticalSection_()\n#define QF_INT_ENABLE()      QF_leaveCriticalSection_()\n\n/* interrupt disabling policy for interrupt level */\n/*#define QF_ISR_NEST*/ /* nesting of ISRs not allowed */\n\n#include <stdint.h>     /* Exact-width types. WG14/N843 C99 Standard */\n#include <stdbool.h>    /* Boolean type.      WG14/N843 C99 Standard */\n\n#include \"qepn.h\"       /* QEP-nano platform-independent public interface */\n#include \"qfn.h\"        /* QF-nano platform-independent public interface */\n#include \"qvn.h\"        /* QV-nano cooperative kernel public interface */\n\n/* QF functions specific to the port */\nvoid QF_enterCriticalSection_(void);\nvoid QF_leaveCriticalSection_(void);\n\n/* set clock tick rate (NOTE ticksPerSec==0 disables the \"ticker thread\") */\nvoid QF_setTickRate(uint32_t ticksPerSec, int_t tickPrio);\n\n/* ISR-level clock tick callback\n* (NOTE not called when \"ticker thread\" is not running)\n*/\nvoid QF_onClockTickISR(void);\n\n/* application-level callback to cleanup the application */\nvoid QF_onCleanup(void);\n\n/* special adaptations for QWIN GUI applications... */\n#ifdef QWIN_GUI\n    /* replace main() with main_gui() as the entry point to a GUI app. */\n    #define main() main_gui()\n    int_t main_gui(); /* prototype of the GUI application entry point */\n#endif\n\n/* abstractions for console access... */\nvoid QF_consoleSetup(void);\nvoid QF_consoleCleanup(void);\nint QF_consoleGetKey(void);\nint QF_consoleWaitForKey(void);\n\n/* NOTES: ********************************************************************\n*\n* NOTE1:\n* QF-nano, like all real-time kernels, needs to execute certain sections of\n* code indivisibly to avoid data corruption. The most straightforward way of\n* protecting such critical sections of code is disabling and enabling\n* interrupts, which Win32 does not allow.\n*\n* This QF-nano port uses internally a single Win32 critical section object\n* (Win32 type CRITICAL_SECTION) to protect all critical sections.\n*\n* Using the single critical section object for all crtical section guarantees\n* that only one thread at a time can execute inside a critical section. This\n* prevents race conditions and data corruption.\n*\n* Please note, however, that the Win32 critical section implementation\n* behaves differently than interrupt disabling. For example, the Win32\n* critical section can potentially be subject to priority inversions. Various\n* versions of Windows handle priority inversions differently, but it seems\n* that most of them recognize priority inversions and dynamically adjust the\n* priorities of threads to prevent it. Please refer to the MSN articles for\n* more information.\n*/\n\n#endif /* QFN_PORT_H */\n"
  },
  {
    "path": "ports/win32-qv/qfn_win32.c",
    "content": "/**\n* @file\n* @brief QF-nano port to Win32 API (single-threaded, like the QV kernel)\n* @ingroup ports\n* @cond\n******************************************************************************\n* Last updated for version 6.8.0\n* Last updated on  2020-03-17\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#include \"qpn.h\" /* QP-nano */\n\n#define WIN32_LEAN_AND_MEAN\n#include <windows.h>  /* Win32 API */\n\n#include <conio.h>    /* console input/output */\n\n#ifdef qkn_h\n    #error \"This QP-nano port does not support QK-nano configuration\"\n#endif\n\nQ_DEFINE_THIS_MODULE(\"qfn_win32\")\n\n/* Global objects ==========================================================*/\nuint_fast8_t volatile QF_readySet_; /* ready-set of QF-nano */\nuint_fast8_t QF_maxActive_; /* # active objects that QF-nano must manage */\n\n#ifdef QF_TIMEEVT_USAGE\nuint_fast8_t volatile QF_timerSetX_[QF_MAX_TICK_RATE]; /* timer-set */\n#endif\n\n#ifndef QF_LOG2\nuint8_t const Q_ROM QF_log2Lkup[16] = {\n    0U, 1U, 2U, 2U, 3U, 3U, 3U, 3U,\n    4U, 4U, 4U, 4U, 4U, 4U, 4U, 4U\n};\n#endif /* QF_LOG2 */\n\n/* Local objects ===========================================================*/\nstatic CRITICAL_SECTION l_win32CritSect; /* for QP-nano critical sections */\nstatic HANDLE l_win32Event;    /* Win32 event to signal events */\nstatic DWORD l_tickMsec = 10U; /* clock tick in msec (argument for Sleep()) */\nstatic int_t l_tickPrio = 50;  /* default priority of the \"ticker\" thread */\nstatic bool  l_isRunning;      /* flag indicating when QF is running */\n\n/* \"fudged\" event queues for AOs, see NOTE1 */\n#define QF_FUDGED_QUEUE_LEN  0xFFU\nstatic QEvt l_fudgedQueue[8][QF_FUDGED_QUEUE_LEN];\n#define QF_FUDGED_QUEUE_AT_(ao_, i_) (l_fudgedQueue[(ao_)->prio - 1U][(i_)])\n\nstatic DWORD WINAPI ticker_thread(LPVOID arg);\n\n/****************************************************************************/\nvoid QActive_ctor(QActive * const me, QStateHandler initial) {\n    static QActiveVtable const vtable = { /* QActive virtual table */\n        { &QHsm_init_,\n          &QHsm_dispatch_ },\n        &QActive_postX_,\n        &QActive_postXISR_\n    };\n    QHsm_ctor(&me->super, initial);\n    me->super.vptr = &vtable.super; /* hook the vptr to QActive vtable */\n}\n\n/****************************************************************************/\n#if (Q_PARAM_SIZE != 0)\nbool QActive_postX_(QActive * const me, uint_fast8_t margin,\n                    enum_t const sig, QParam const par)\n#else\nbool QActive_postX_(QActive * const me, uint_fast8_t margin,\n                    enum_t const sig)\n#endif\n{\n    QF_INT_DISABLE();\n    bool status;\n\n    if (margin == QF_NO_MARGIN) {\n        if (QF_FUDGED_QUEUE_LEN > me->nUsed) {\n            status = true; /* can post */\n        }\n        else {\n            status = false; /* cannot post */\n            Q_ERROR_ID(310); /* must be able to post the event */\n        }\n    }\n    else if ((QF_FUDGED_QUEUE_LEN - me->nUsed) > margin) {\n        status = true; /* can post */\n    }\n    else {\n        status = false; /* cannot post */\n    }\n\n    if (status) { /* can post the event? */\n        /* insert event into the ring buffer (FIFO) */\n        QF_FUDGED_QUEUE_AT_(me, me->head).sig = (QSignal)sig;\n#if (Q_PARAM_SIZE != 0)\n        QF_FUDGED_QUEUE_AT_(me, me->head).par = par;\n#endif\n        if (me->head == 0U) {\n            me->head = QF_FUDGED_QUEUE_LEN; /* wrap the head */\n        }\n        --me->head;\n        ++me->nUsed;\n\n        /* is this the first event? */\n        if (me->nUsed == 1U) {\n            /* set the corresponding bit in the ready set */\n            QF_readySet_ |= (uint_fast8_t)(1U << (me->prio - 1U));\n            SetEvent(l_win32Event);\n        }\n    }\n    QF_INT_ENABLE();\n\n    return status;\n}\n\n/****************************************************************************/\n#if (Q_PARAM_SIZE != 0)\nbool QActive_postXISR_(QActive * const me, uint_fast8_t margin,\n                       enum_t const sig, QParam const par)\n#else\nbool QActive_postXISR_(QActive * const me, uint_fast8_t margin,\n                       enum_t const sig)\n#endif\n{\n    bool status;\n\n    if (margin == QF_NO_MARGIN) {\n        if (QF_FUDGED_QUEUE_LEN > me->nUsed) {\n            status = true; /* can post */\n        }\n        else {\n            status = false; /* cannot post */\n            Q_ERROR_ID(310); /* must be able to post the event */\n        }\n    }\n    else if ((QF_FUDGED_QUEUE_LEN - me->nUsed) > margin) {\n        status = true; /* can post */\n    }\n    else {\n        status = false; /* cannot post */\n    }\n\n    if (status) { /* can post the event? */\n        /* insert event into the ring buffer (FIFO) */\n        QF_FUDGED_QUEUE_AT_(me, me->head).sig = (QSignal)sig;\n#if (Q_PARAM_SIZE != 0)\n        QF_FUDGED_QUEUE_AT_(me, me->head).par = par;\n#endif\n        if (me->head == 0U) {\n            me->head = QF_FUDGED_QUEUE_LEN; /* wrap the head */\n        }\n        --me->head;\n        ++me->nUsed;\n        /* is this the first event? */\n        if (me->nUsed == 1U) {\n            /* set the bit */\n            QF_readySet_ |= (uint_fast8_t)(1U << (me->prio - 1U));\n            SetEvent(l_win32Event);\n        }\n    }\n\n    return status;\n}\n\n/****************************************************************************/\n#if (QF_TIMEEVT_CTR_SIZE != 0)\n\nvoid QF_tickXISR(uint_fast8_t const tickRate) {\n    uint_fast8_t p = QF_maxActive_;\n    do {\n        QActive *a = QF_ROM_ACTIVE_GET_(p);\n        QTimer *t = &a->tickCtr[tickRate];\n\n        if (t->nTicks != 0U) {\n            --t->nTicks;\n            if (t->nTicks == 0U) {\n\n#ifdef QF_TIMEEVT_PERIODIC\n                if (t->interval != 0U) {\n                    t->nTicks = t->interval; /* re-arm the periodic timer */\n                }\n#endif /* QF_TIMEEVT_PERIODIC */\n\n#ifdef QF_TIMEEVT_USAGE\n                QF_timerSetX_[tickRate] &= (uint_fast8_t)(~(1U << (p - 1U)));\n#endif /* QF_TIMEEVT_USAGE */\n\n#if (Q_PARAM_SIZE != 0)\n                QACTIVE_POST_ISR(a, (enum_t)Q_TIMEOUT_SIG + (enum_t)tickRate,\n                                 0U);\n#else\n                QACTIVE_POST_ISR(a, (enum_t)Q_TIMEOUT_SIG + (enum_t)tickRate);\n#endif /* (Q_PARAM_SIZE != 0) */\n            }\n        }\n        --p;\n    } while (p != 0U);\n}\n\n/****************************************************************************/\n#ifdef QF_TIMEEVT_PERIODIC\nvoid QActive_armX(QActive * const me, uint_fast8_t const tickRate,\n                  QTimeEvtCtr const nTicks, QTimeEvtCtr const interval)\n#else\nvoid QActive_armX(QActive * const me, uint_fast8_t const tickRate,\n                  QTimeEvtCtr const nTicks)\n#endif\n{\n    QF_INT_DISABLE();\n    me->tickCtr[tickRate].nTicks = nTicks;\n#ifdef QF_TIMEEVT_PERIODIC\n    me->tickCtr[tickRate].interval = interval;\n#endif /* QF_TIMEEVT_PERIODIC */\n\n#ifdef QF_TIMEEVT_USAGE\n    /* set a bit in QF_timerSetX_[] to rememer that the timer is running */\n    QF_timerSetX_[tickRate] |=  (uint_fast8_t)(1U << (me->prio - 1U));\n#endif\n    QF_INT_ENABLE();\n}\n\n/****************************************************************************/\nvoid QActive_disarmX(QActive * const me, uint_fast8_t const tickRate) {\n    QF_INT_DISABLE();\n    me->tickCtr[tickRate].nTicks = 0U;\n#ifdef QF_TIMEEVT_PERIODIC\n    me->tickCtr[tickRate].interval = 0U;\n#endif /* QF_TIMEEVT_PERIODIC */\n\n#ifdef QF_TIMEEVT_USAGE\n    /* clear a bit in QF_timerSetX_[] to rememer that timer is not running */\n    QF_timerSetX_[tickRate] &= (uint_fast8_t)(~(1U << (me->prio - 1U)));\n#endif\n    QF_INT_ENABLE();\n}\n#endif /* #if (QF_TIMEEVT_CTR_SIZE != 0) */\n\n/* QF functions ============================================================*/\nvoid QF_enterCriticalSection_(void) {\n    EnterCriticalSection(&l_win32CritSect);\n}\n/****************************************************************************/\nvoid QF_leaveCriticalSection_(void) {\n    LeaveCriticalSection(&l_win32CritSect);\n}\n/****************************************************************************/\n/**\n* @description\n* The function QF_init() initializes the number of active objects to be\n* managed by the framework and clears the internal QF-nano variables as well\n* as all registered active objects to zero, which is needed in case when\n* the startup code does not clear the uninitialized data (in violation of\n* the C Standard).\n*\n* @note\n* The intended use of the function is to call as follows:\n* QF_init(Q_DIM(QF_active));\n*/\nvoid QF_init(uint_fast8_t maxActive) {\n    QActive *a;\n    uint_fast8_t p;\n#if (defined(QF_TIMEEVT_USAGE) || (QF_TIMEEVT_CTR_SIZE != 0))\n    uint_fast8_t n;\n#endif /* QF_TIMEEVT_USAGE */\n\n    /** @pre the number of active objects must be in range */\n    Q_REQUIRE_ID(100, (1U < maxActive) && (maxActive <= 9U));\n    QF_maxActive_ = maxActive - 1U;\n\n#ifdef QF_TIMEEVT_USAGE\n    for (n = 0U; n < QF_MAX_TICK_RATE; ++n) {\n        QF_timerSetX_[n] = 0U;\n    }\n#endif /* QF_TIMEEVT_USAGE */\n\n    QF_readySet_ = 0U;\n\n#ifdef QK_PREEMPTIVE\n    QK_currPrio_ = 8U; /* QK-nano scheduler locked */\n\n#ifdef QF_ISR_NEST\n    QK_intNest_ = 0U;\n#endif\n\n#ifdef QK_SCHED_LOCK\n    QK_lockPrio_ = 0U;\n#endif\n\n#endif /* #ifdef QK_PREEMPTIVE */\n\n    /* clear all registered active objects... */\n    for (p = 1U; p <= QF_maxActive_; ++p) {\n        a = QF_ROM_ACTIVE_GET_(p);\n\n        /* QF_active[p] must be initialized */\n        Q_ASSERT_ID(110, a != (QActive *)0);\n\n        a->head  = 0U;\n        a->tail  = 0U;\n        a->nUsed = 0U;\n#if (QF_TIMEEVT_CTR_SIZE != 0)\n        for (n = 0U; n < QF_MAX_TICK_RATE; ++n) {\n            a->tickCtr[n].nTicks   = 0U;\n#ifdef QF_TIMEEVT_PERIODIC\n            a->tickCtr[n].interval = 0U;\n#endif /* def QF_TIMEEVT_PERIODIC */\n        }\n#endif /* (QF_TIMEEVT_CTR_SIZE != 0) */\n    }\n}\n/****************************************************************************/\nint_t QF_run(void) {\n    uint_fast8_t p;\n    QActive *a;\n\n    InitializeCriticalSection(&l_win32CritSect);\n    l_win32Event = CreateEvent(NULL, FALSE, FALSE, NULL);\n\n    /* set priorities all registered active objects... */\n    for (p = 1U; p <= QF_maxActive_; ++p) {\n        a = QF_ROM_ACTIVE_GET_(p);\n\n        /* QF_active[p] must be initialized */\n        Q_ASSERT_ID(810, a != (QActive *)0);\n\n        a->prio = p; /* set the priority of the active object */\n    }\n\n    /* trigger initial transitions in all registered active objects... */\n    for (p = 1U; p <= QF_maxActive_; ++p) {\n        a = QF_ROM_ACTIVE_GET_(p);\n        QHSM_INIT(&a->super); /* take the initial transition in the HSM */\n    }\n\n    QF_onStartup(); /* invoke startup callback */\n\n    l_isRunning = true; /* QF-nano is running */\n\n    /* system clock tick configured? */\n    if (l_tickMsec != 0U) {\n        /* create the ticker thread... */\n        HANDLE ticker = CreateThread(NULL, 1024, &ticker_thread, 0, 0, NULL);\n        Q_ASSERT_ID(810, ticker != (HANDLE)0); /* thread must be created */\n    }\n\n    /* the event loop of the QV-nano kernel... */\n    QF_INT_DISABLE();\n    while (l_isRunning) {\n        if (QF_readySet_ != 0U) {\n\n            /* hi nibble non-zero? */\n            if ((QF_readySet_ & 0xF0U) != 0U) {\n                p = (uint_fast8_t)(\n                      Q_ROM_BYTE(QF_log2Lkup[QF_readySet_ >> 4]) + 4U);\n            }\n            else { /* hi nibble of QF_readySet_ is zero */\n                p = (uint_fast8_t)Q_ROM_BYTE(QF_log2Lkup[QF_readySet_]);\n            }\n\n            a = QF_ROM_ACTIVE_GET_(p);\n\n            /* some unsuded events must be available */\n            Q_ASSERT_ID(820, a->nUsed > 0U);\n\n            --a->nUsed;\n            Q_SIG(a) = QF_FUDGED_QUEUE_AT_(a, a->tail).sig;\n#if (Q_PARAM_SIZE != 0)\n            Q_PAR(a) = QF_FUDGED_QUEUE_AT_(a, a->tail).par;\n#endif\n            if (a->tail == 0U) { /* wrap around? */\n                a->tail = QF_FUDGED_QUEUE_LEN;\n            }\n            --a->tail;\n            QF_INT_ENABLE();\n\n            QHSM_DISPATCH(&a->super); /* dispatch to the HSM (RTC step) */\n\n            QF_INT_DISABLE();\n            /* empty queue? */\n            if (a->nUsed == 0U) {\n                /* clear the bit corresponding to 'p' */\n                QF_readySet_ &= (uint_fast8_t)(~(1U << (p - 1U)));\n            }\n        }\n        else {\n            QF_INT_ENABLE();\n\n            /* yield the CPU until new event(s) arrive */\n            WaitForSingleObject(l_win32Event, (DWORD)INFINITE);\n\n            QF_INT_DISABLE();\n        }\n    }\n    QF_INT_ENABLE();\n    QF_onCleanup(); /* cleanup callback */\n    /*CloseHandle(l_win32Event);*/\n    /*DeleteCriticalSection(&l_win32CritSect);*/\n\n    return 0; /* success */\n}\n/****************************************************************************/\nvoid QF_stop(void) {\n    l_isRunning = false;    /* cause exit from the event loop */\n    SetEvent(l_win32Event); /* unblock the event-loop so it can terminate */\n}\n/****************************************************************************/\nvoid QF_setTickRate(uint32_t ticksPerSec, int_t tickPrio) {\n    if (ticksPerSec != 0U) {\n        l_tickMsec = 1000UL / ticksPerSec;\n    }\n    else {\n        l_tickMsec = 0U; /* means NO system clock tick */\n    }\n    l_tickPrio = tickPrio;\n}\n\n/*..........................................................................*/\nvoid QF_consoleSetup(void) {\n}\n/*..........................................................................*/\nvoid QF_consoleCleanup(void) {\n}\n/*..........................................................................*/\nint QF_consoleGetKey(void) {\n    if (_kbhit()) { /* any key pressed? */\n        return _getch();\n    }\n    return 0;\n}\n/*..........................................................................*/\nint QF_consoleWaitForKey(void) {\n    return _getch();\n}\n\n/****************************************************************************/\nstatic DWORD WINAPI ticker_thread(LPVOID arg) { /* for CreateThread() */\n    int threadPrio = THREAD_PRIORITY_NORMAL;\n\n    /* set the ticker thread priority according to selection made in\n    * QF_setTickRate()\n    */\n    if (l_tickPrio < 33) {\n        threadPrio = THREAD_PRIORITY_BELOW_NORMAL;\n    }\n    else if (l_tickPrio > 66) {\n        threadPrio = THREAD_PRIORITY_ABOVE_NORMAL;\n    }\n\n    SetThreadPriority(GetCurrentThread(), threadPrio);\n\n    (void)arg; /* unused parameter */\n\n    while (l_isRunning) {\n        Sleep(l_tickMsec); /* wait for the tick interval */\n\n        QF_INT_DISABLE();  /* make sure simulated ISR cannot be preempted */\n        QF_onClockTickISR(); /* call back to the app, see NOTE2 */\n        QF_INT_ENABLE();\n    }\n    return 0U; /* return success */\n}\n\n/*****************************************************************************\n* NOTE1:\n* Windows is not a deterministic real-time system, which means that the\n* system can occasionally and unexpectedly \"choke and freeze\" for a number\n* of seconds. The designers of Windows have dealt with these sort of issues\n* by massively oversizing the resources available to the applications. For\n* example, the default Windows GUI message queues size is 10,000 entries,\n* which can dynamically grow to an even larger number. Also the stacks of\n* Win32 threads can dynamically grow to several megabytes.\n*\n* In contrast, the event queues, event pools, and stack size inside the\n* real-time embedded (RTE) systems can be (and must be) much smaller,\n* because you typically can put an upper bound on the real-time behavior\n* and the resulting delays.\n*\n* To be able to run the unmodified applications designed originally for\n* RTE systems on Windows, and to reduce the odds of resource shortages in\n* this case, the event queues of all Active Objects are \"fudged\" to the\n* maximum dynamic range of uint_fast8_t data type, which is 0xFF\n* (see QF_FUDGED_QUEUE_LEN).\n*\n* NOTE2:\n* The callback QF_onClockTickISR() is invoked with interupts disabled\n* to emulate the ISR level. This means that only the ISR-level APIs are\n* available inside the QF_onClockTickISR() callback.\n*/\n\n"
  },
  {
    "path": "ports/win32-qv/qwin_gui.c",
    "content": "/**\n* @file\n* @brief QWIN GUI facilities for building realistic embedded front panels\n* @cond\n******************************************************************************\n* Last updated for version 6.6.0\n* Last updated on  2019-07-30\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#include \"qwin_gui.h\"\n#include <stdlib.h>\n\nstatic HWND l_hWnd;\nstatic HDC  l_hDC;\n\n/*--------------------------------------------------------------------------*/\nHWND CreateCustDialog(HINSTANCE hInst, int iDlg, HWND hParent,\n                      WNDPROC lpfnWndProc, LPCTSTR lpWndClass)\n{\n    WNDCLASSEX wndclass;\n\n    wndclass.cbSize        = sizeof(wndclass);\n    wndclass.style         = CS_HREDRAW | CS_VREDRAW;\n    wndclass.lpfnWndProc   = lpfnWndProc;\n    wndclass.cbClsExtra    = 0;\n    wndclass.cbWndExtra    = DLGWINDOWEXTRA;\n    wndclass.hInstance     = hInst;\n    wndclass.hIcon         = NULL;\n    wndclass.hCursor       = LoadCursor(NULL, IDC_ARROW);\n    wndclass.hbrBackground = (HBRUSH)COLOR_WINDOW;\n    wndclass.lpszMenuName  = NULL;\n    wndclass.lpszClassName = lpWndClass;\n    wndclass.hIconSm       = NULL;\n\n    RegisterClassEx(&wndclass);\n\n    l_hWnd = CreateDialog(hInst, MAKEINTRESOURCE(iDlg), hParent, NULL);\n    l_hDC = GetDC(l_hWnd); /* obtain the DC for the client area of the window */\n\n    /* NOTE: WM_INITDIALOG provides stimulus for initializing dialog controls.\n    * Dialog box procedures typically use this message to initialize controls\n    * and carry out any other initialization tasks that affect the appearance\n    * of the dialog box.\n    */\n    SendMessage(l_hWnd, WM_INITDIALOG, (WPARAM)0, (LPARAM)0);\n\n    return l_hWnd;\n}\n\n/*--------------------------------------------------------------------------*/\nvoid OwnerDrawnButton_init(OwnerDrawnButton * const me,\n                           UINT itemID,\n                           HBITMAP hBitmapUp, HBITMAP hBitmapDwn,\n                           HCURSOR hCursor)\n{\n    me->itemID      = itemID;\n    me->hBitmapUp   = hBitmapUp;\n    me->hBitmapDown = hBitmapDwn;\n    me->hCursor     = hCursor;\n    me->isDepressed = 0;\n}\n/*..........................................................................*/\nvoid OwnerDrawnButton_xtor(OwnerDrawnButton * const me) {\n    DeleteObject(me->hBitmapUp);\n    DeleteObject(me->hBitmapDown);\n    DeleteObject(me->hCursor);\n}\n/*..........................................................................*/\nenum OwnerDrawnButtonAction OwnerDrawnButton_draw(\n                               OwnerDrawnButton * const me,\n                               LPDRAWITEMSTRUCT lpdis)\n{\n    enum OwnerDrawnButtonAction ret = BTN_NOACTION;\n\n    if ((lpdis->itemAction & ODA_DRAWENTIRE) != 0U) {\n        if (me->hCursor != NULL) {\n           SetClassLongPtr(lpdis->hwndItem,\n                           GCLP_HCURSOR, (LONG_PTR)me->hCursor);\n           me->hCursor = NULL; /* mark the cursor set */\n        }\n        DrawBitmap(lpdis->hDC, me->hBitmapUp,\n                   lpdis->rcItem.left, lpdis->rcItem.top);\n        me->isDepressed = 0;\n        ret = BTN_PAINTED;\n    }\n    else if ((lpdis->itemAction & ODA_SELECT) != 0U) {\n        if ((lpdis->itemState & ODS_SELECTED) != 0U) {\n            DrawBitmap(lpdis->hDC, me->hBitmapDown,\n                       lpdis->rcItem.left, lpdis->rcItem.top);\n            me->isDepressed = !0;\n            ret = BTN_DEPRESSED;\n        }\n        else {\n            /* NOTE: the bitmap for button \"UP\" look will be\n            * drawn in the ODA_DRAWENTIRE action\n            */\n            me->isDepressed = 0;\n            ret = BTN_RELEASED;\n        }\n    }\n    return ret;\n}\n/*..........................................................................*/\nvoid OwnerDrawnButton_set(OwnerDrawnButton * const me, int isDepressed) {\n    if (me->isDepressed != isDepressed) {\n        HWND hItem = GetDlgItem(l_hWnd, me->itemID);\n        me->isDepressed = isDepressed;\n        if (isDepressed) {\n            DrawBitmap(GetDC(hItem), me->hBitmapDown, 0, 0);\n        }\n        else {\n            DrawBitmap(GetDC(hItem), me->hBitmapUp, 0, 0);\n        }\n    }\n}\n/*..........................................................................*/\nBOOL OwnerDrawnButton_isDepressed(OwnerDrawnButton const * const me) {\n    return me->isDepressed;\n}\n\n/*--------------------------------------------------------------------------*/\nvoid GraphicDisplay_init(GraphicDisplay * const me,\n                         UINT width,  UINT height,\n                         UINT itemID, BYTE const bgColor[3])\n{\n    BITMAPINFO bi24BitInfo;\n    RECT rect;\n\n    me->src_width  = width;\n    me->src_height = height;\n\n    me->hItem      = GetDlgItem(l_hWnd, itemID);\n    me->dst_hDC    = GetDC(me->hItem);\n    GetWindowRect(me->hItem, &rect);\n    me->dst_width  = rect.right - rect.left;\n    me->dst_height = rect.bottom - rect.top;\n\n    me->bgColor[0] = bgColor[0];\n    me->bgColor[1] = bgColor[1];\n    me->bgColor[2] = bgColor[2];\n\n    bi24BitInfo.bmiHeader.biBitCount    = 3U*8U;  /* 3 RGB bytes */\n    bi24BitInfo.bmiHeader.biCompression = BI_RGB; /* RGB color */\n    bi24BitInfo.bmiHeader.biPlanes      = 1U;\n    bi24BitInfo.bmiHeader.biSize        = sizeof(bi24BitInfo.bmiHeader);\n    bi24BitInfo.bmiHeader.biWidth       = me->src_width;\n    bi24BitInfo.bmiHeader.biHeight      = me->src_height;\n\n    me->src_hDC = CreateCompatibleDC(me->dst_hDC);\n    me->hBitmap = CreateDIBSection(me->src_hDC, &bi24BitInfo, DIB_RGB_COLORS,\n                                   (void **)&me->bits, 0, 0);\n    SelectObject(me->src_hDC, me->hBitmap);\n\n    GraphicDisplay_clear(me);\n    GraphicDisplay_redraw(me);\n}\n/*..........................................................................*/\nvoid GraphicDisplay_xtor(GraphicDisplay * const me) {\n    DeleteDC(me->src_hDC);\n    DeleteObject(me->hBitmap);\n    OutputDebugString(\"GraphicDisplay_xtor\\n\");\n}\n/*..........................................................................*/\nvoid GraphicDisplay_clear(GraphicDisplay * const me) {\n    UINT n;\n    BYTE r = me->bgColor[0];\n    BYTE g = me->bgColor[1];\n    BYTE b = me->bgColor[2];\n    BYTE *bits = me->bits;\n\n    for (n = me->src_width * me->src_height; n != 0U; --n, bits += 3) {\n        bits[0] = b;\n        bits[1] = g;\n        bits[2] = r;\n    }\n}\n/*..........................................................................*/\nvoid GraphicDisplay_redraw(GraphicDisplay * const me) {\n    StretchBlt(me->dst_hDC, 0, 0, me->dst_width, me->dst_height,\n               me->src_hDC, 0, 0, me->src_width, me->src_height, SRCCOPY);\n}\n\n/* SegmentDisplay ----------------------------------------------------------*/\nvoid SegmentDisplay_init(SegmentDisplay * const me,\n                         UINT segmentNum, UINT bitmapNum)\n{\n    UINT n;\n\n    me->hSegment = (HWND *)calloc(segmentNum, sizeof(HWND));\n    me->segmentNum = segmentNum;\n    for (n = 0U; n < segmentNum; ++n) {\n        me->hSegment[n] = NULL;\n    }\n    me->hBitmap = (HBITMAP *)calloc(bitmapNum, sizeof(HBITMAP));\n    me->bitmapNum = bitmapNum;\n    for (n = 0U; n < bitmapNum; ++n) {\n        me->hBitmap[n] = NULL;\n    }\n}\n/*..........................................................................*/\nvoid SegmentDisplay_xtor(SegmentDisplay * const me) {\n    UINT n;\n\n    for (n = 0U; n < me->segmentNum; ++n) {\n        DeleteObject(me->hSegment[n]);\n    }\n    free(me->hSegment);\n\n    for (n = 0U; n < me->bitmapNum; ++n) {\n        DeleteObject(me->hBitmap[n]);\n    }\n    free(me->hBitmap);\n}\n/*..........................................................................*/\nBOOL SegmentDisplay_initSegment(SegmentDisplay * const me,\n                                UINT segmentNum, UINT segmentID)\n{\n    if (segmentNum < me->segmentNum) {\n        me->hSegment[segmentNum] = GetDlgItem(l_hWnd, segmentID);\n        return me->hSegment[segmentNum] != NULL;\n    }\n    else {\n        return FALSE;\n    }\n}\n/*..........................................................................*/\nBOOL SegmentDisplay_initBitmap(SegmentDisplay * const me,\n                               UINT bitmapNum, HBITMAP hBitmap)\n{\n    if ((bitmapNum < me->bitmapNum) && (hBitmap != NULL)) {\n        me->hBitmap[bitmapNum] = hBitmap;\n        return TRUE;\n    }\n    else {\n        return FALSE;\n    }\n}\n/*..........................................................................*/\nBOOL SegmentDisplay_setSegment(SegmentDisplay * const me,\n                               UINT segmentNum, UINT bitmapNum)\n{\n    if ((segmentNum < me->segmentNum) && (bitmapNum < me->bitmapNum)) {\n        SendMessage(me->hSegment[segmentNum], STM_SETIMAGE,\n                IMAGE_BITMAP,\n                (LPARAM)me->hBitmap[bitmapNum]);\n        return TRUE;\n    }\n    else {\n        return FALSE;\n    }\n}\n\n/*--------------------------------------------------------------------------*/\n/* DrawBitmap() function adapted from the book \"Programming Windows\" by\n* Charles Petzold.\n*/\nvoid DrawBitmap(HDC hdc, HBITMAP hBitmap,\n                int xStart, int yStart)\n{\n    BITMAP bm;\n    POINT  ptSize, ptOrg;\n    HDC    hdcMem = CreateCompatibleDC(hdc);\n\n    SelectObject(hdcMem, hBitmap);\n    SetMapMode(hdcMem, GetMapMode(hdc));\n\n    GetObject(hBitmap, sizeof(BITMAP), (LPVOID)&bm);\n    ptSize.x = bm.bmWidth;\n    ptSize.y = bm.bmHeight;\n    DPtoLP(hdc, &ptSize, 1);\n\n    ptOrg.x = 0;\n    ptOrg.y = 0;\n    DPtoLP(hdcMem, &ptOrg, 1);\n\n    BitBlt(hdc, xStart, yStart, ptSize.x, ptSize.y,\n           hdcMem, ptOrg.x, ptOrg.y, SRCCOPY);\n    DeleteDC(hdcMem);\n}\n\n\n"
  },
  {
    "path": "ports/win32-qv/qwin_gui.h",
    "content": "/**\n* @file\n* @brief QWIN GUI facilities for building realistic embedded front panels\n* @cond\n******************************************************************************\n* Last updated for version 6.6.0\n* Last updated on  2019-07-30\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef QWIN_GUI_H\n#define QWIN_GUI_H\n\n#ifndef QWIN_GUI\n    #error The pre-processor macro QWIN_GUI must be defined\n#endif\n\n#define WIN32_LEAN_AND_MEAN\n#include <windows.h>  /* Win32 API */\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/* create the custom dialog hosting the embedded front panel ...............*/\nHWND CreateCustDialog(HINSTANCE hInst, int iDlg, HWND hParent,\n                      WNDPROC lpfnWndProc, LPCTSTR lpWndClass);\n\n/* OwnerDrawnButton \"class\" ................................................*/\ntypedef struct {\n    UINT    itemID;\n    HBITMAP hBitmapUp;\n    HBITMAP hBitmapDown;\n    HCURSOR hCursor;\n    int     isDepressed;\n} OwnerDrawnButton;\n\nenum OwnerDrawnButtonAction {\n    BTN_NOACTION,\n    BTN_PAINTED,\n    BTN_DEPRESSED,\n    BTN_RELEASED\n};\n\nvoid OwnerDrawnButton_init(OwnerDrawnButton * const me,\n                           UINT itemID,\n                           HBITMAP hBitmapUp, HBITMAP hBitmapDwn,\n                           HCURSOR hCursor);\nvoid OwnerDrawnButton_xtor(OwnerDrawnButton * const me);\nenum OwnerDrawnButtonAction OwnerDrawnButton_draw(\n                                OwnerDrawnButton * const me,\n                                LPDRAWITEMSTRUCT lpdis);\nvoid OwnerDrawnButton_set(OwnerDrawnButton * const me,\n                          int isDepressed);\nBOOL OwnerDrawnButton_isDepressed(OwnerDrawnButton const * const me);\n\n/* GraphicDisplay \"class\" for drawing graphic displays\n* with up to 24-bit color...\n*/\ntypedef struct {\n    HDC     src_hDC;\n    int     src_width;\n    int     src_height;\n    HDC     dst_hDC;\n    int     dst_width;\n    int     dst_height;\n    HWND    hItem;\n    HBITMAP hBitmap;\n    BYTE   *bits;\n    BYTE    bgColor[3];\n} GraphicDisplay;\n\nvoid GraphicDisplay_init(GraphicDisplay * const me,\n                UINT width,  UINT height,\n                UINT itemID, BYTE const bgColor[3]);\nvoid GraphicDisplay_xtor(GraphicDisplay * const me);\nvoid GraphicDisplay_clear(GraphicDisplay * const me);\nvoid GraphicDisplay_redraw(GraphicDisplay * const me);\n#define GraphicDisplay_setPixel(me_, x_, y_, color_) do { \\\n    BYTE *pixelRGB = &(me_)->bits[3*((x_) \\\n          + (me_)->src_width * ((me_)->src_height - 1U - (y_)))]; \\\n    pixelRGB[0] = (color_)[0]; \\\n    pixelRGB[1] = (color_)[1]; \\\n    pixelRGB[2] = (color_)[2]; \\\n} while (false)\n\n#define GraphicDisplay_clearPixel(me_, x_, y_) do { \\\n    BYTE *pixelRGB = &(me_)->bits[3*((x_) \\\n          + (me_)->src_width * ((me_)->src_height - 1U - (y_)))]; \\\n    pixelRGB[0] = (me_)->bgColor[0]; \\\n    pixelRGB[1] = (me_)->bgColor[1]; \\\n    pixelRGB[2] = (me_)->bgColor[2]; \\\n} while (false)\n\n/* SegmentDisplay \"class\" for drawing segment displays, LEDs, etc...........*/\ntypedef struct {\n    HWND    *hSegment;    /* array of segment controls */\n    UINT     segmentNum;  /* number of segments */\n    HBITMAP *hBitmap;     /* array of bitmap handles */\n    UINT     bitmapNum;   /* number of bitmaps */\n} SegmentDisplay;\n\nvoid SegmentDisplay_init(SegmentDisplay * const me,\n                         UINT segNum, UINT bitmapNum);\nvoid SegmentDisplay_xtor(SegmentDisplay * const me);\nBOOL SegmentDisplay_initSegment(SegmentDisplay * const me,\n                         UINT segmentNum, UINT segmentID);\nBOOL SegmentDisplay_initBitmap(SegmentDisplay * const me,\n                         UINT bitmapNum, HBITMAP hBitmap);\nBOOL SegmentDisplay_setSegment(SegmentDisplay * const me,\n                         UINT segmentNum, UINT bitmapNum);\n\n/* useful helper functions .................................................*/\nvoid DrawBitmap(HDC hdc, HBITMAP hBitmap, int xStart, int yStart);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* QWIN_GUI_H */\n"
  },
  {
    "path": "ports/win32-qv/safe_std.h",
    "content": "/**\n* @file\n* @brief \"safe\" <stdio.h> and <string.h> facilities\n* @ingroup qpspy\n* @cond\n******************************************************************************\n* Last updated for version 6.8.1\n* Last updated on  2020-03-31\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#ifndef SAFE_STD_H\n#define SAFE_STD_H\n\n#include <stdio.h>\n#include <string.h>\n\n/* portable \"safe\" facilities from <stdio.h> and <string.h> ................*/\n#ifdef _WIN32 /* Windows OS? */\n\n#define MEMMOVE_S(dest_, num_, src_, count_) \\\n    memmove_s(dest_, num_, src_, count_)\n\n#define STRCPY_S(dest_, destsiz_, src_) \\\n    strcpy_s(dest_, destsiz_, src_)\n\n#define STRCAT_S(dest_, destsiz_, src_) \\\n    strcat_s(dest_, destsiz_, src_)\n\n#define SNPRINTF_S(buf_, bufsiz_, format_, ...) \\\n    _snprintf_s(buf_, bufsiz_, _TRUNCATE, format_, ##__VA_ARGS__)\n\n#define PRINTF_S(format_, ...) \\\n    printf_s(format_, ##__VA_ARGS__)\n\n#define FPRINTF_S(fp_, format_, ...) \\\n    fprintf_s(fp_, format_, ##__VA_ARGS__)\n\n#ifdef _MSC_VER\n#define FREAD_S(buf_, bufsiz_, elsiz_, count_, fp_) \\\n    fread_s(buf_, bufsiz_, elsiz_, count_, fp_)\n#else\n#define FREAD_S(buf_, bufsiz_, elsiz_, count_, fp_) \\\n    fread(buf_, elsiz_, count_, fp_)\n#endif /* _MSC_VER */\n\n#define FOPEN_S(fp_, fName_, mode_) \\\nif (fopen_s(&fp_, fName_, mode_) != 0) { \\\n    fp_ = (FILE *)0; \\\n} else (void)0\n\n#define LOCALTIME_S(tm_, time_) \\\n    localtime_s(tm_, time_)\n\n#else /* other OS (Linux, MacOS, etc.) .....................................*/\n\n#define MEMMOVE_S(dest_, num_, src_, count_) \\\n    memmove(dest_, src_, count_)\n\n#define STRCPY_S(dest_, destsiz_, src_) \\\n    strcpy(dest_, src_)\n\n#define STRCAT_S(dest_, destsiz_, src_) \\\n    strcat(dest_, src)\n\n#define SNPRINTF_S(buf_, bufsiz_, format_, ...) \\\n    snprintf(buf_, bufsiz_, format_, ##__VA_ARGS__)\n\n#define PRINTF_S(format_, ...) \\\n    printf(format_, ##__VA_ARGS__)\n\n#define FPRINTF_S(fp_, format_, ...) \\\n    fprintf(fp_, format_, ##__VA_ARGS__)\n\n#define FREAD_S(buf_, bufsiz_, elsiz_, count_, fp_) \\\n    fread(buf_, elsiz_, count_, fp_)\n\n#define FOPEN_S(fp_, fName_, mode_) \\\n    (fp_ = fopen(fName_, mode_))\n\n#define LOCALTIME_S(tm_, time_) \\\n    memcpy(tm_, localtime(time_), sizeof(struct tm))\n\n#endif /* _WIN32 */\n\n#endif /* SAFE_STD_H */\n"
  },
  {
    "path": "src/qfn/qepn.c",
    "content": "/**\n* @file\n* @brief QEP-nano implementation.\n* @ingroup qep\n* @cond\n******************************************************************************\n* Last updated for version 6.8.2\n* Last updated on  2020-03-08\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#include \"qpn_conf.h\" /* QP-nano configuration file (from the application) */\n#include \"qfn_port.h\" /* QF-nano port from the port directory */\n#include \"qassert.h\"  /* embedded systems-friendly assertions */\n\nQ_DEFINE_THIS_MODULE(\"qepn\")\n\n/****************************************************************************/\nchar_t const Q_ROM QP_versionStr[7] = QP_VERSION_STR;\n\n/****************************************************************************/\n/****************************************************************************/\n/*! empty signal for internal use only */\n#define QEP_EMPTY_SIG_        ((QSignal)0)\n\n/*! maximum depth of state nesting in HSMs (including the top level),\n* must be >= 2\n*/\n#define QHSM_MAX_NEST_DEPTH_  ((int_fast8_t)5)\n\n/*! helper function to execute a transition chain in HSM */\nstatic int_fast8_t QHsm_tran_(QHsm * const me,\n                              QStateHandler path[QHSM_MAX_NEST_DEPTH_]);\n\n/****************************************************************************/\n/**\n* @protected @memberof QHsm\n* @description\n* Performs the first step of HSM initialization by assigning the initial\n* pseudostate to the currently active state of the state machine.\n*\n* @param[in,out] me      pointer (see @ref oop)\n* @param[in]     initial pointer to the top-most initial state-handler\n*                        function in the derived state machine\n* @note\n* Must be called only by the constructors of the derived state machines.\n*\n* @note\n* Must be called only ONCE before QHSM_INIT().\n*\n* @usage\n* The following example illustrates how to invoke QHsm_ctor() in the\n* \"constructor\" of a derived state machine:\n* @include qepn_qhsm_ctor.c\n*/\nvoid QHsm_ctor(QHsm * const me, QStateHandler initial) {\n    static QHsmVtable const vtable = { /* QHsm virtual table */\n        &QHsm_init_,\n        &QHsm_dispatch_\n    };\n    me->vptr  = &vtable;\n    me->state = Q_STATE_CAST(&QHsm_top);\n    me->temp  = initial;\n}\n\n/****************************************************************************/\n/**\n* @private @memberof QHsm\n* @description\n* Executes the top-most initial transition in a HSM.\n*\n* @param[in,out] me pointer (see @ref oop)\n*\n* @note\n* Must be called only ONCE after the QHsm_ctor().\n*/\nvoid QHsm_init_(QHsm * const me) {\n    QStateHandler t = me->state;\n    QState r;\n\n    /** @pre the virtual pointer must be initialized, the top-most initial\n    * transition must be initialized, and the initial transition must not\n    * be taken yet.\n    */\n    Q_REQUIRE_ID(200, (me->vptr != (QHsmVtable const *)0)\n                      && (me->temp != Q_STATE_CAST(0))\n                      && (t == Q_STATE_CAST(&QHsm_top)));\n\n    r = (*me->temp)(me); /* execute the top-most initial transition */\n\n    /* the top-most initial transition must be taken */\n    Q_ASSERT_ID(210, r == Q_RET_TRAN);\n\n    /* drill down into the state hierarchy with initial transitions... */\n    do {\n        QStateHandler path[QHSM_MAX_NEST_DEPTH_];\n        int_fast8_t ip = 0; /* transition entry path index */\n\n        path[0] = me->temp;\n        Q_SIG(me) = QEP_EMPTY_SIG_;\n        (void)(*me->temp)(me);\n        while (me->temp != t) {\n            ++ip;\n            Q_ASSERT_ID(220, ip < (int_fast8_t)Q_DIM(path));\n            path[ip] = me->temp;\n            (void)(*me->temp)(me);\n        }\n        me->temp = path[0];\n\n        /* retrace the entry path in reverse (desired) order... */\n        Q_SIG(me) = Q_ENTRY_SIG;\n        do {\n            (void)(*path[ip])(me); /* enter path[ip] */\n            --ip;\n        } while (ip >= 0);\n\n        t = path[0]; /* current state becomes the new source */\n\n        Q_SIG(me) = Q_INIT_SIG;\n        r = (*t)(me);\n    } while (r == Q_RET_TRAN);\n\n    me->state = t; /* change the current active state */\n    me->temp  = t; /* mark the configuration as stable */\n}\n\n/****************************************************************************/\n/**\n* @protected @memberof QHsm\n* @description\n* QHsm_top() is the ultimate root of state hierarchy in all HSMs derived\n* from ::QHsm.\n*\n* @param[in] me pointer (see @ref oop)\n*\n* @returns\n* Always returns #Q_RET_IGNORED, which means that the top state ignores\n* all events.\n*\n* @note\n* The parameter @p me to this state handler is not used. It is provided for\n* conformance with the state-handler function signature ::QStateHandler.\n*/\nQState QHsm_top(void const * const me) {\n    (void)me; /* suppress the \"unused parameter\" compiler warning */\n    return Q_RET_IGNORED; /* the top state ignores all events */\n}\n\n/****************************************************************************/\n/**\n* @private @memberof QHsm\n* @description\n* Dispatches an event for processing to a hierarchical state machine (HSM).\n* The processing of an event represents one run-to-completion (RTC) step.\n*\n* @param[in,out] me pointer (see @ref oop)\n*\n* @note\n* This function should be called only via the virtual table (see\n* QHSM_DISPATCH()) and should NOT be called directly in the applications.\n*/\nvoid QHsm_dispatch_(QHsm * const me) {\n    QStateHandler t = me->state;\n    QStateHandler s;\n    QState r;\n    int_fast8_t iq; /* helper transition entry path index */\n\n    /** @pre the current state must be initialized and\n    * the state configuration must be stable\n    */\n    Q_REQUIRE_ID(400, (t != Q_STATE_CAST(0))\n                      && (t == me->temp));\n\n    /* process the event hierarchically... */\n    do {\n        s = me->temp;\n        r = (*s)(me); /* invoke state handler s */\n\n        if (r == Q_RET_UNHANDLED) { /* unhandled due to a guard? */\n            iq = (int_fast8_t)Q_SIG(me); /* save the original signal */\n            Q_SIG(me) = QEP_EMPTY_SIG_; /* find the superstate */\n            r = (*s)(me); /* invoke state handler s */\n            Q_SIG(me) = (QSignal)iq; /* restore the original signal */\n        }\n    } while (r == Q_RET_SUPER);\n\n    /* transition taken? */\n    if (r >= Q_RET_TRAN) {\n        QStateHandler path[QHSM_MAX_NEST_DEPTH_]; /* transition entry path */\n        int_fast8_t ip; /* transition entry path index */\n\n        path[0] = me->temp; /* save the target of the transition */\n        path[1] = t;\n        path[2] = s;\n\n        /* exit current state to transition source s... */\n        for (; t != s; t = me->temp) {\n            Q_SIG(me) = Q_EXIT_SIG; /* find superstate of t */\n\n            /* take the exit action and check if it was handled? */\n            if ((*t)(me) == Q_RET_HANDLED) {\n                Q_SIG(me) = QEP_EMPTY_SIG_;\n                (void)(*t)(me); /* find superstate of t */\n            }\n        }\n\n        ip = QHsm_tran_(me, path); /* take the state transition */\n\n        /* retrace the entry path in reverse (desired) order... */\n        Q_SIG(me) = Q_ENTRY_SIG;\n        for (; ip >= 0; --ip) {\n            (void)(*path[ip])(me); /* enter path[ip] */\n        }\n        t = path[0];      /* stick the target into register */\n        me->temp = t; /* update the current state */\n\n        /* drill into the target hierarchy... */\n        Q_SIG(me) = Q_INIT_SIG;\n        while ((*t)(me) == Q_RET_TRAN) {\n            ip = 0;\n\n            path[0] = me->temp;\n            Q_SIG(me) = QEP_EMPTY_SIG_;\n            (void)(*me->temp)(me); /* find the superstate */\n            while (me->temp != t) {\n                ++ip;\n                path[ip] = me->temp;\n                (void)(*me->temp)(me); /* find the superstate */\n            }\n            me->temp = path[0];\n\n            /* entry path must not overflow */\n            Q_ASSERT_ID(410, ip < QHSM_MAX_NEST_DEPTH_);\n\n            /* retrace the entry path in reverse (correct) order... */\n            Q_SIG(me) = Q_ENTRY_SIG;\n            do {\n                (void)(*path[ip])(me); /* enter path[ip] */\n                --ip;\n            } while (ip >= 0);\n\n            t = path[0];\n            Q_SIG(me) = Q_INIT_SIG;\n        }\n    }\n\n    me->state = t; /* change the current active state */\n    me->temp  = t; /* mark the configuration as stable */\n}\n\n/****************************************************************************/\n/**\n* @private @memberof QHsm\n* @description\n* Static helper function to execute transition sequence in a hierarchical\n* state machine (HSM).\n*\n* @param[in,out] me   pointer (see @ref oop)\n* @param[in,out] path array of pointers to state-handler functions\n*                     to execute the entry actions\n* @returns\n* the depth of the entry path stored in the @p path parameter.\n*/\nstatic int_fast8_t QHsm_tran_(QHsm * const me,\n                              QStateHandler path[QHSM_MAX_NEST_DEPTH_])\n{\n    int_fast8_t ip = (int_fast8_t)(-1); /* transition entry path index */\n    int_fast8_t iq; /* helper transition entry path index */\n    QStateHandler t = path[0];\n    QStateHandler s = path[2];\n    QState r;\n\n    /* (a) check source==target (transition to self) */\n    if (s == t) {\n        Q_SIG(me) = Q_EXIT_SIG;\n        (void)(*s)(me);      /* exit the source */\n        ip = 0; /* enter the target */\n    }\n    else {\n        Q_SIG(me) = QEP_EMPTY_SIG_;\n        (void)(*t)(me); /* find superstate of target */\n        t = me->temp;\n\n        /* (b) check source==target->super */\n        if (s == t) {\n            ip = 0; /* enter the target */\n        }\n        else {\n            Q_SIG(me) = QEP_EMPTY_SIG_;\n            (void)(*s)(me); /* find superstate of source */\n\n            /* (c) check source->super==target->super */\n            if (me->temp == t) {\n                Q_SIG(me) = Q_EXIT_SIG;\n                (void)(*s)(me);     /* exit the source */\n                ip = 0; /* enter the target */\n            }\n            else {\n                /* (d) check source->super==target */\n                if (me->temp == path[0]) {\n                    Q_SIG(me) = Q_EXIT_SIG;\n                    (void)(*s)(me); /* exit the source */\n                }\n                else {\n                    /* (e) check rest of source==target->super->super..\n                    * and store the entry path along the way\n                    */\n                    iq = 0; /* indicate that LCA not found */\n                    ip = 1; /* enter target and its superstate */\n                    path[1] = t; /* save the superstate of target */\n                    t = me->temp; /* save source->super */\n\n                    /* find target->super->super... */\n                    Q_SIG(me) = QEP_EMPTY_SIG_;\n                    r = (*path[1])(me);\n                    while (r == Q_RET_SUPER) {\n                        ++ip;\n                        path[ip] = me->temp; /* store the entry path */\n                        if (me->temp == s) { /* is it the source? */\n                            iq = 1; /* indicate that LCA found */\n\n                            /* entry path must not overflow */\n                            Q_ASSERT_ID(510, ip < QHSM_MAX_NEST_DEPTH_);\n                            --ip; /* do not enter the source */\n                            r = Q_RET_HANDLED; /* terminate loop */\n                        }\n                        /* it is not the source, keep going up */\n                        else {\n                            r = (*me->temp)(me); /* superstate of t */\n                        }\n                    }\n\n                    /* the LCA not found yet? */\n                    if (iq == 0) {\n\n                        /* entry path must not overflow */\n                        Q_ASSERT_ID(520, ip < QHSM_MAX_NEST_DEPTH_);\n\n                        Q_SIG(me) = Q_EXIT_SIG;\n                        (void)(*s)(me); /* exit the source */\n\n                        /* (f) check the rest of source->super\n                        *                  == target->super->super...\n                        */\n                        iq = ip;\n                        r = Q_RET_IGNORED; /* LCA NOT found */\n                        do {\n                            if (t == path[iq]) { /* is this the LCA? */\n                                r = Q_RET_HANDLED; /* LCA found */\n\n                                /* do not enter LCA */\n                                ip = (int_fast8_t)(iq - 1);\n                                iq = -1; /* force loop termination */\n                            }\n                            else {\n                                --iq; /* try lower superstate of target */\n                            }\n                        } while (iq >= 0);\n\n                        /* LCA not found? */\n                        if (r != Q_RET_HANDLED) {\n                            /* (g) check each source->super->...\n                            * for each target->super...\n                            */\n                            r = Q_RET_IGNORED; /* keep looping */\n                            do {\n                                /* exit t unhandled? */\n                                Q_SIG(me) = Q_EXIT_SIG;\n                                if ((*t)(me) == Q_RET_HANDLED) {\n                                    Q_SIG(me) = QEP_EMPTY_SIG_;\n                                    (void)(*t)(me); /* find super of t */\n                                }\n                                t = me->temp; /* set to super of t */\n                                iq = ip;\n                                do {\n                                    /* is this LCA? */\n                                    if (t == path[iq]) {\n                                        /* do not enter LCA */\n                                        ip = (int_fast8_t)(iq - 1);\n                                        iq = -1; /* break out of inner loop */\n                                        r = Q_RET_HANDLED; /* break */\n                                    }\n                                    else {\n                                        --iq;\n                                    }\n                                } while (iq >= 0);\n                            } while (r != Q_RET_HANDLED);\n                        }\n                    }\n                }\n            }\n        }\n    }\n    return ip;\n}\n\n/****************************************************************************/\n/**\n* @private @memberof QHsm\n* @description\n* Finds the child state of the given @c parent, such that this child state\n* is an ancestor of the currently active state. The main purpose of this\n* function is to support **shallow history** transitions in state machines\n* derived from QHsm.\n*\n* @param[in] me     pointer (see @ref oop)\n* @param[in] parent pointer to the state-handler function\n*\n* @returns\n* the child of a given @c parent state, which is an ancestor of the current\n* active state. For the corner case when the currently active state is the\n* given @c parent state, function returns the @c parent state.\n*\n* @note\n* This function is designed to be called during state transitions, so it\n* does not necessarily start in a stable state configuration. However, the\n* function establishes stable state configuration upon exit.\n*\n* @sa\n* QHsm_childState()\n*/\nQStateHandler QHsm_childState_(QHsm * const me,\n                               QStateHandler const parent)\n{\n    QStateHandler child = me->state; /* start with the current state */\n    bool isFound = false; /* start with the child not found */\n    QState r;\n\n    /* establish stable state configuration */\n    me->temp = me->state;\n    do {\n        /* is this the parent of the current child? */\n        if (me->temp == parent) {\n            isFound = true; /* child is found */\n            r = Q_RET_IGNORED; /* break out of the loop */\n        }\n        else {\n            child = me->temp;\n            Q_SIG(me) = QEP_EMPTY_SIG_;\n            r = (*me->temp)(me); /* find the superstate */\n        }\n    } while (r != Q_RET_IGNORED); /* QHsm_top() state not reached */\n    me->temp = me->state; /* establish stable state configuration */\n\n    /** @post the child must be found */\n    Q_ENSURE_ID(810, isFound != false);\n#ifdef Q_NASSERT\n    (void)isFound; /* avoid compiler warning about unused variable */\n#endif\n\n    return child; /* return the child */\n}\n"
  },
  {
    "path": "src/qfn/qfn.c",
    "content": "/**\n* @file\n* @brief QF-nano implementation.\n* @ingroup qfn\n* @cond\n******************************************************************************\n* Last updated for version 6.8.2\n* Last updated on  2020-03-08\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#include \"qpn_conf.h\" /* QP-nano configuration file (from the application) */\n#include \"qfn_port.h\" /* QF-nano port from the port directory */\n#include \"qassert.h\"  /* embedded systems-friendly assertions */\n\nQ_DEFINE_THIS_MODULE(\"qfn\")\n\n/* Global-scope objects *****************************************************/\n\n/**\n* @description\n* This variable stores the number of active objects in the application.\n* This is the number of elements (dimension of) the QF_active[] array.\n*/\nuint_fast8_t QF_maxActive_;\n\n/**\n* @description\n* The QF-nano ready set keeps track of active objects that are ready to run.\n* The ready set represents each active object as a bit, with the bits\n* assigned according to priorities of the active objects. The bit is set\n* if the corresponding active object is ready to run (i.e., has one or\n* more events in its event queue) and zero if the event queue is empty.\n* The QF-nano ready set is one byte-wide, which corresponds to 8 active\n* objects maximum.\n*/\nuint_fast8_t volatile QF_readySet_;\n\n#ifdef QF_TIMEEVT_USAGE\n/**\n* @description\n* The QF-nano timer set keeps track of the armed time events. The timer set\n* represents the timeout down-counter of each active object as a bit, with\n* the bits assigned according to priorities of the active objects. The bit\n* is set if the corresponding timeout down-counter is not zero (i.e., is\n* counting down) and zero if the down-counter is zero. The QF-nano time event\n* set is one byte-wide, which corresponds to 8 active objects maximum.@n\n* @n\n* The main use of the QF_timerSetX_ is to quickly determine that all time\n* events are disarmed by testing (QF_timerSetX_[tickRate] == 0).\n* If so, the CPU can go to longer sleep mode, in which the system clock\n* tick ISR is turned off.\n*\n* @note The test (QF_timerSet_[tickRate] == 0) must be always performed\n* inside a CRITICAL SECTION.\n*/\nuint_fast8_t volatile QF_timerSetX_[QF_MAX_TICK_RATE];\n#endif\n\n#ifndef QF_LOG2\nuint8_t const Q_ROM QF_log2Lkup[16] = {\n    0U, 1U, 2U, 2U, 3U, 3U, 3U, 3U,\n    4U, 4U, 4U, 4U, 4U, 4U, 4U, 4U\n};\n#endif /* QF_LOG2 */\n\n/****************************************************************************/\n/**\n* @protected @memberof QActive\n*/\nvoid QActive_ctor(QActive * const me, QStateHandler initial) {\n    static QActiveVtable const vtable = { /* QActive virtual table */\n        { &QHsm_init_,\n          &QHsm_dispatch_ },\n        &QActive_postX_,\n        &QActive_postXISR_\n    };\n\n    /**\n    * @note QActive inherits QActive, so by the @ref oop convention\n    * it should call the constructor of the superclass, i.e., QActive_ctor().\n    * However, this would pull in the QActiveVtable, which in turn will pull\n    * in the code for QHsm_init_() and QHsm_dispatch_() implemetations,\n    * which is expensive. To avoid this code size penalty, in case ::QHsm is\n    * not used in a given project, the call to QHsm_ctor() avoids pulling\n    * in the code for QHsm.\n    */\n    QHsm_ctor(&me->super, initial);\n    me->super.vptr = &vtable.super; /* hook the vptr to QActive vtable */\n}\n\n/****************************************************************************/\n/**\n* @private @memberof QActive\n* @description\n* Direct event posting is the simplest asynchronous communication method\n* available in QF-nano.\n*\n* @attention\n* This function should be called only via the macro QACTIVE_POST()\n* or QACTIVE_POST_X(). This function should be only used in the\n* __task__ context.\n*\n* @param[in,out] me     pointer (see @ref oop)\n* @param[in]     margin number of required free slots in the queue after\n*                       posting the event. The special value #QF_NO_MARGIN\n*                       means that this function will assert if posting fails.\n* @param[in]     sig    signal of the event to be posted\n* @param[in]     par    parameter of the event to be posted\n*\n* @usage\n* @include qfn_postx.c\n*/\n#if (Q_PARAM_SIZE != 0U)\nbool QActive_postX_(QActive * const me, uint_fast8_t margin,\n                    enum_t const sig, QParam const par)\n#else\nbool QActive_postX_(QActive * const me, uint_fast8_t margin,\n                    enum_t const sig)\n#endif\n{\n    QActiveCB const Q_ROM *acb = &QF_active[me->prio];\n    uint_fast8_t qlen = Q_ROM_BYTE(acb->qlen);\n    bool can_post;\n\n    QF_INT_DISABLE();\n\n    if (margin == QF_NO_MARGIN) {\n        if (qlen > (uint_fast8_t)me->nUsed) {\n            can_post = true; /* can post */\n        }\n        else {\n            can_post = false; /* cannot post */\n#ifndef Q_NASSERT\n            QF_INT_ENABLE();\n            /* must be able to post event : Q_ERROR_ID(310) */\n            Q_onAssert(Q_this_module_, 310);\n#endif\n        }\n    }\n    else if ((qlen - (uint_fast8_t)me->nUsed) > margin) {\n        can_post = true; /* can post */\n    }\n    else {\n        can_post = false; /* cannot post */\n    }\n\n    if (can_post) { /* can post the event? */\n        /* insert event into the ring buffer (FIFO) */\n        QF_ROM_QUEUE_AT_(acb, me->head).sig = (QSignal)sig;\n#if (Q_PARAM_SIZE != 0U)\n        QF_ROM_QUEUE_AT_(acb, me->head).par = par;\n#endif\n        if (me->head == 0U) {\n            me->head = (uint8_t)qlen; /* wrap the head */\n        }\n        --me->head;\n        ++me->nUsed;\n\n        /* is this the first event? */\n        if (me->nUsed == 1U) {\n\n            /* set the corresponding bit in the ready set */\n            QF_readySet_ |= (uint_fast8_t)1 << (me->prio - 1U);\n\n#ifdef qkn_h\n            if (QK_sched_() != 0U) {\n                QK_activate_(); /* activate the next active object */\n            }\n#endif\n        }\n    }\n    QF_INT_ENABLE();\n\n    return can_post;\n}\n\n/****************************************************************************/\n/**\n* @private @memberof QActive\n* @description\n* Direct event posting is the simplest asynchronous communication method\n* available in QF-nano.\n*\n* @attention\n* This function should be called only via the macro QACTIVE_POST_ISR()\n* or QACTIVE_POST_X_ISR(). This function should be only used in the\n* __ISR__ context.\n*\n* @param[in,out] me     pointer (see @ref oop)\n* @param[in]     margin number of required free slots in the queue after\n*                       posting the event. The special value #QF_NO_MARGIN\n*                       means that this function will assert if posting fails.\n* @param[in]     sig    signal of the event to be posted\n* @param[in]     par    parameter of the event to be posted\n*\n* @usage\n* @include qfn_postx.c\n*/\n#if (Q_PARAM_SIZE != 0U)\nbool QActive_postXISR_(QActive * const me, uint_fast8_t margin,\n                       enum_t const sig, QParam const par)\n#else\nbool QActive_postXISR_(QActive * const me, uint_fast8_t margin,\n                       enum_t const sig)\n#endif\n{\n#ifdef QF_ISR_NEST\n#ifdef QF_ISR_STAT_TYPE\n    QF_ISR_STAT_TYPE stat;\n#endif\n#endif\n    QActiveCB const Q_ROM *acb = &QF_active[me->prio];\n    uint_fast8_t qlen = Q_ROM_BYTE(acb->qlen);\n    bool can_post;\n\n#ifdef QF_ISR_NEST\n#ifdef QF_ISR_STAT_TYPE\n    QF_ISR_DISABLE(stat);\n#else\n    QF_INT_DISABLE();\n#endif\n#endif\n\n    if (margin == QF_NO_MARGIN) {\n        if (qlen > (uint_fast8_t)me->nUsed) {\n            can_post = true; /* can post */\n        }\n        else {\n            can_post = false; /* cannot post */\n#ifndef Q_NASSERT\n            QF_INT_ENABLE();\n            /* must be able to post event : Q_ERROR_ID(410) */\n            Q_onAssert(Q_this_module_, 410);\n#endif\n        }\n    }\n    else if ((qlen - (uint_fast8_t)me->nUsed) > margin) {\n        can_post = true; /* can post */\n    }\n    else {\n        can_post = false; /* cannot post */\n    }\n\n    if (can_post) { /* can post the event? */\n        /* insert event into the ring buffer (FIFO) */\n        QF_ROM_QUEUE_AT_(acb, me->head).sig = (QSignal)sig;\n#if (Q_PARAM_SIZE != 0U)\n        QF_ROM_QUEUE_AT_(acb, me->head).par = par;\n#endif\n        if (me->head == 0U) {\n            me->head = (uint8_t)qlen; /* wrap the head */\n        }\n        --me->head;\n        ++me->nUsed;\n        /* is this the first event? */\n        if (me->nUsed == 1U) {\n            /* set the bit */\n            QF_readySet_ |= (uint_fast8_t)1 << (me->prio - 1U);\n        }\n    }\n\n#ifdef QF_ISR_NEST\n#ifdef QF_ISR_STAT_TYPE\n    QF_ISR_RESTORE(stat);\n#else\n    QF_INT_ENABLE();\n#endif\n#endif\n\n    return can_post;\n}\n\n/****************************************************************************/\n/**\n* @description\n* The function QF_init() initializes the number of active objects to be\n* managed by the framework and clears the internal QF-nano variables as well\n* as all registered active objects to zero, which is needed in case when\n* the startup code does not clear the uninitialized data (in violation of\n* the C Standard).\n*\n* @note\n* The intended use of the function is to call as follows:\n* QF_init(Q_DIM(QF_active));\n*/\nvoid QF_init(uint_fast8_t maxActive) {\n    QActive *a;\n    uint_fast8_t p;\n    uint_fast8_t n;\n\n    /** @pre the number of active objects must be in range */\n    Q_REQUIRE_ID(100, (1U < maxActive)\n                      && (maxActive <= 9U));\n    QF_maxActive_ = (uint_fast8_t)maxActive - 1U;\n\n#ifdef QF_TIMEEVT_USAGE\n    for (n = 0U; n < (uint_fast8_t)QF_MAX_TICK_RATE; ++n) {\n        QF_timerSetX_[n] = 0U;\n    }\n#endif /* QF_TIMEEVT_USAGE */\n\n    QF_readySet_ = 0U;\n\n#ifdef qkn_h\n    QK_attr_.actPrio = 8U; /* QK-nano scheduler locked */\n\n#ifdef QF_ISR_NEST\n    QK_attr_.intNest = 0U;\n#endif\n\n#ifdef QK_SCHED_LOCK\n    QK_attr_.lockPrio   = 0U;\n    QK_attr_.lockHolder = 0U;\n#endif\n\n#endif /* #ifdef qkn_h */\n\n    /* clear all registered active objects... */\n    for (p = 1U; p <= QF_maxActive_; ++p) {\n        a = QF_ROM_ACTIVE_GET_(p);\n\n        /* QF_active[p] must be initialized */\n        Q_ASSERT_ID(110, a != (QActive *)0);\n\n        a->head    = 0U;\n        a->tail    = 0U;\n        a->nUsed   = 0U;\n#if (QF_TIMEEVT_CTR_SIZE != 0U)\n        for (n = 0U; n < (uint_fast8_t)QF_MAX_TICK_RATE; ++n) {\n            a->tickCtr[n].nTicks   = 0U;\n#ifdef QF_TIMEEVT_PERIODIC\n            a->tickCtr[n].interval = 0U;\n#endif /* def QF_TIMEEVT_PERIODIC */\n        }\n#endif /* (QF_TIMEEVT_CTR_SIZE != 0U) */\n    }\n\n#ifdef QV_INIT /* initialization of the QV-nano kernel defined? */\n    QV_INIT(); /* port-specific initialization of the QV-nano kernel */\n#elif defined QK_INIT /* initialization of the QK-nano kernel defined? */\n    QK_INIT(); /* port-specific initialization of the QK-nano kernel */\n#endif\n}\n\n/****************************************************************************/\n/****************************************************************************/\n#if (QF_TIMEEVT_CTR_SIZE != 0U)\n\n/****************************************************************************/\n/**\n* @description\n* This function must be called periodically from a time-tick ISR or from\n* an ISR so that QF-nano can manage the timeout events assigned to the given\n* system clock tick rate.\n*\n* @param[in]  tickRate  system clock tick rate serviced in this call.\n*\n* @note Each system tick rate posts timeout events with a different signal\n* as follows:@n\n* tickRate==0  Q_TIMEOUT_SIG@n\n* tickRate==1  Q_TIMEOUT1_SIG@n\n* tickRate==2  Q_TIMEOUT2_SIG@n\n* tickRate==3  Q_TIMEOUT3_SIG\n*\n* @note The calls to QF_tickXISR() with different tick rate parameter can\n* preempt each other. For example, higher clock tick rates might be serviced\n* from interrupts that can preempt lower-priority interrupts.\n*/\nvoid QF_tickXISR(uint_fast8_t const tickRate) {\n    uint_fast8_t p = QF_maxActive_;\n    do {\n        QActive *a = QF_ROM_ACTIVE_GET_(p);\n        QTimer *t = &a->tickCtr[tickRate];\n\n        if (t->nTicks != 0U) {\n            --t->nTicks;\n            if (t->nTicks == 0U) {\n\n#ifdef QF_TIMEEVT_PERIODIC\n                if (t->interval != 0U) {\n                    t->nTicks = t->interval; /* re-arm the periodic timer */\n                }\n#endif /* QF_TIMEEVT_PERIODIC */\n\n#ifdef QF_TIMEEVT_USAGE\n                QF_timerSetX_[tickRate] &= (uint_fast8_t)(~(1U << (p - 1U)));\n#endif /* QF_TIMEEVT_USAGE */\n\n#if (Q_PARAM_SIZE != 0)\n                QACTIVE_POST_ISR(a, (enum_t)Q_TIMEOUT_SIG + (enum_t)tickRate,\n                                 0U);\n#else\n                QACTIVE_POST_ISR(a, (enum_t)Q_TIMEOUT_SIG + (enum_t)tickRate);\n#endif /* (Q_PARAM_SIZE != 0U) */\n            }\n        }\n        --p;\n    } while (p != 0U);\n}\n\n/****************************************************************************/\n/**\n* @public @memberof QActive\n* @description\n* Arms a time event to fire in a specified number of clock ticks at the\n* specified tick rate. The timeout signal gets directly posted (using the\n* FIFO policy) into the event queue of the active object calling this\n* function.\n*\n* @param[in,out] me       pointer (see @ref oop)\n* @param[in]     tickRate tick rate .\n* @param[in]     nTicks   number of clock ticks (at the associated rate)\n*                         to rearm the time event with.\n*\n* @note Each system tick rate posts timeout events with a different signal\n* as follows:@n\n* tickRate==0  Q_TIMEOUT_SIG@n\n* tickRate==1  Q_TIMEOUT1_SIG@n\n* tickRate==2  Q_TIMEOUT2_SIG@n\n* tickRate==3  Q_TIMEOUT3_SIG\n*\n* @note After posting, a one-shot time event gets automatically disarmed.\n*\n* @note A time event can be disarmed at any time by calling the\n* QActive_disarmX() function.\n*\n* @usage\n* The following example shows how to arm a time event from a state\n* machine of an active object:\n* @include qfn_armx.c\n*/\n#ifdef QF_TIMEEVT_PERIODIC\nvoid QActive_armX(QActive * const me, uint_fast8_t const tickRate,\n                  QTimeEvtCtr const nTicks, QTimeEvtCtr const interval)\n#else\nvoid QActive_armX(QActive * const me, uint_fast8_t const tickRate,\n                  QTimeEvtCtr const nTicks)\n#endif\n{\n    QF_INT_DISABLE();\n    me->tickCtr[tickRate].nTicks = nTicks;\n#ifdef QF_TIMEEVT_PERIODIC\n    me->tickCtr[tickRate].interval = interval;\n#endif /* QF_TIMEEVT_PERIODIC */\n\n#ifdef QF_TIMEEVT_USAGE\n    /* set a bit in QF_timerSetX_[] to rememer that the timer is running */\n    QF_timerSetX_[tickRate] |= (uint_fast8_t)1 << (me->prio - 1U);\n#endif\n    QF_INT_ENABLE();\n}\n\n/****************************************************************************/\n/**\n* @public @memberof QActive\n* @description\n* The time event of the active object gets disarmed (stopped).\n*\n* @param[in,out] me       pointer (see @ref oop)\n* @param[in]     tickRate tick rate\n*\n* @note You should __not__ assume that the timeout event will not\n* arrive after you disarm the time event. The timeout event could be\n* already in the event queue.\n*/\nvoid QActive_disarmX(QActive * const me, uint_fast8_t const tickRate) {\n    QF_INT_DISABLE();\n    me->tickCtr[tickRate].nTicks = 0U;\n#ifdef QF_TIMEEVT_PERIODIC\n    me->tickCtr[tickRate].interval = 0U;\n#endif /* QF_TIMEEVT_PERIODIC */\n\n#ifdef QF_TIMEEVT_USAGE\n    /* clear a bit in QF_timerSetX_[] to rememer that timer is not running */\n    QF_timerSetX_[tickRate] &= (uint_fast8_t)(~(1U << (me->prio - 1U)));\n#endif\n    QF_INT_ENABLE();\n}\n#endif /* #if (QF_TIMEEVT_CTR_SIZE != 0U) */\n"
  },
  {
    "path": "src/qkn/qkn.c",
    "content": "/**\n* @file\n* @brief QK-nano preemptive kernel implementation.\n* @ingroup qkn\n* @cond\n******************************************************************************\n* Last updated for version 6.8.0\n* Last updated on  2020-03-08\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#include \"qpn_conf.h\" /* QP-nano configuration file (from the application) */\n#include \"qfn_port.h\" /* QF-nano port from the port directory */\n#include \"qassert.h\"  /* embedded systems-friendly assertions */\n\nQ_DEFINE_THIS_MODULE(\"qkn\")\n\n/* protection against including this source file in a wrong project */\n#ifndef QKN_H\n    #error \"Source file included in a project NOT based on the QK-nano kernel\"\n#endif /* QKN_H */\n\n/* Global-scope objects *****************************************************/\nQK_PrivAttr QK_attr_; /* private attributes of the QK-nano kernel */\n\n/* Local-scope objects ******************************************************/\nstatic void initialize(void); /* prototype required by MISRA */\n\n/****************************************************************************/\n/**\n* @description\n* Helper function to set the priorities of all the statically allocated\n* active objects in the system followed by executing the top-most initial\n* transtions in all active objects.\n*\n* @note\n* The system initialization is specifically encapsulated in a function\n* to reduce stack use, because the temporary stack variables needed\n* for the initialization go out of scope for the rest of system execution.\n*/\nstatic void initialize(void) {\n    uint_fast8_t p;\n    QActive *a;\n\n#ifdef QF_MAX_ACTIVE /* deprecated constant provided? */\n#if (QF_MAX_ACTIVE < 1) || (8 < QF_MAX_ACTIVE)\n    #error \"QF_MAX_ACTIVE not defined or out of range. Valid range is 1..8\"\n#endif\n    QF_maxActive_ = (uint_fast8_t)QF_MAX_ACTIVE;\n#else\n    /** @pre the number of active objects must be initialized by calling:\n    * QF_init(Q_DIM(QF_active));\n    */\n    Q_REQUIRE_ID(100, (1U <= QF_maxActive_)\n                      && (QF_maxActive_ <= (uint_fast8_t)8));\n#endif\n\n    /* set priorities all registered active objects... */\n    for (p = 1U; p <= QF_maxActive_; ++p) {\n        a = QF_ROM_ACTIVE_GET_(p);\n\n        /* QF_active[p] must be initialized */\n        Q_ASSERT_ID(110, a != (QActive *)0);\n\n        a->prio = (uint8_t)p; /* set the priority of the active object */\n    }\n\n    /* trigger initial transitions in all registered active objects... */\n    for (p = 1U; p <= QF_maxActive_; ++p) {\n        a = QF_ROM_ACTIVE_GET_(p);\n        QHSM_INIT(&a->super); /* take the initial transition in the SM */\n    }\n\n    /* process all events posted during initialization... */\n    QF_INT_DISABLE();\n    QK_attr_.actPrio = 0U; /* prio of the QK-nano idle loop */\n    if (QK_sched_() != 0U) {\n        QK_activate_(); /* activate AOs to process all events posted so far */\n    }\n    QF_INT_ENABLE();\n}\n\n/****************************************************************************/\n/**\n* @description\n* QF_run() is typically called from your startup code after you initialize\n* the QF and start at least one active object with QActive_start().\n* This implementation of QF_run() is for the preemptive QK-nano kernel.\n*\n* @returns\n* In QK-nano QF_run() does not return.\n*/\nint_t QF_run(void) {\n    initialize();\n    QF_onStartup();  /* invoke startup callback */\n\n    /* the QK idle loop */\n    for (;;) {\n        QK_onIdle(); /* invoke the on-idle callback */\n    }\n#ifdef __GNUC__  /* GNU compiler? */\n    return 0;\n#endif\n}\n\n\n/****************************************************************************/\n/****************************************************************************/\n#ifdef QK_SCHED_LOCK\n\n/****************************************************************************/\n/**\n* @description\n* This function locks the QK scheduler to the specified ceiling.\n*\n* @param[in]   ceiling    priority ceiling to which the QK scheduler\n*                         needs to be locked\n*\n* @returns\n* The previous QK Scheduler lock status, which is to be used to unlock\n* the scheduler by restoring its previous lock status in QK_schedUnlock().\n*\n* @note\n* QK_schedLock() must be always followed by the corresponding\n* QK_schedUnlock().\n*\n* @sa QK_schedUnlock()\n*\n* @usage\n* The following example shows how to lock and unlock the QK scheduler:\n* @include qkn_lock.c\n*/\nQSchedStatus QK_schedLock(uint_fast8_t ceiling) {\n    QSchedStatus stat;\n    QF_INT_DISABLE();\n\n    /* first store the previous lock prio */\n    /* raising the lock prio? */\n    if ((uint_fast8_t)QK_attr_.lockPrio < ceiling) {\n        stat = (QSchedStatus)QK_attr_.lockPrio << 8;\n        QK_attr_.lockPrio = (uint8_t)ceiling;\n\n        /* add the previous lock holder priority */\n        stat |= (QSchedStatus)QK_attr_.lockHolder;\n\n        QK_attr_.lockHolder = QK_attr_.actPrio;\n    }\n    else {\n       stat = 0xFFU;\n    }\n    QF_INT_ENABLE();\n\n    return stat; /* return the status to be saved in a stack variable */\n}\n\n/****************************************************************************/\n/**\n* @description\n* This function unlocks the QK scheduler to the previous status.\n*\n* @param[in]   stat       previous QK Scheduler lock status returned from\n*                         QK_schedLock()\n* @note\n* QK_schedUnlock() must always follow the corresponding QK_schedLock().\n*\n* @sa QK_schedLock()\n*\n* @usage\n* The following example shows how to lock and unlock the QK scheduler:\n* @include qkn_lock.c\n*/\nvoid QK_schedUnlock(QSchedStatus stat) {\n    /* has the scheduler been actually locked by the last QK_schedLock()? */\n    if (stat != 0xFFU) {\n        uint_fast8_t lockPrio = (uint_fast8_t)QK_attr_.lockPrio;\n        uint_fast8_t prevPrio = (uint_fast8_t)(stat >> 8);\n\n        QF_INT_DISABLE();\n\n        /** @pre\n        * The current lock priority must be greater than the previous\n        */\n        Q_REQUIRE_ID(700, lockPrio > prevPrio);\n#ifdef Q_NASSERT\n        (void)lockPrio; /* avoid compiler warning about unused variable */\n#endif\n\n        /* restore the previous lock priority and lock holder */\n        QK_attr_.lockPrio   = (uint8_t)prevPrio;\n        QK_attr_.lockHolder = (uint8_t)(stat & 0xFFU);\n\n        /* find the highest-prio thread ready to run */\n        if (QK_sched_() != 0U) { /* priority found? */\n            QK_activate_(); /* activate any unlocked basic threads */\n        }\n\n        QF_INT_ENABLE();\n    }\n}\n\n#endif /* #ifdef QK_SCHED_LOCK */\n\n\n/****************************************************************************/\n/****************************************************************************/\n/**\n* @description\n* The QK-nano scheduler finds out the priority of the highest-priority AO\n* that (1) has events to process and (2) has priority that is above the\n* current priority.\n*\n* @returns the 1-based priority of the the active object, or zero if\n* no eligible active object is ready to run.\n*\n* @attention\n* QK_sched_() must be always called with interrupts **disabled** and\n* returns with interrupts **disabled**.\n*/\nuint_fast8_t QK_sched_(void) {\n    uint_fast8_t p; /* for priority */\n\n    /* find the highest-prio AO with non-empty event queue */\n#ifdef QF_LOG2\n    p = (uint_fast8_t)QF_LOG2(QF_readySet_);\n#else\n    /* hi nibble used? */\n    if ((QF_readySet_ & 0xF0U) != 0U) {\n        p = (uint_fast8_t)Q_ROM_BYTE(QF_log2Lkup[QF_readySet_ >> 4]) + 4U;\n    }\n    else { /* hi nibble of QF_readySet_ is zero */\n        p = (uint_fast8_t)Q_ROM_BYTE(QF_log2Lkup[QF_readySet_]);\n    }\n#endif\n\n    /* is the highest-prio below the active priority? */\n    if (p <= (uint_fast8_t)QK_attr_.actPrio) {\n        p = 0U; /* active object not eligible */\n    }\n#ifdef QK_SCHED_LOCK\n    /* below the scheduler ceiling? */\n    else if (p <= (uint_fast8_t)QK_attr_.lockPrio) {\n        p = 0U; /* active object not eligible */\n    }\n#endif /* QK_SCHED_LOCK */\n    else {\n        Q_ASSERT_ID(610, p <= QF_maxActive_);\n        QK_attr_.nextPrio = (uint8_t)p; /* next AO to run */\n    }\n\n    return p;\n}\n\n/****************************************************************************/\n/**\n* @description\n* QK_activate_() activates ready-to run AOs that are above the initial\n* active priority (QK_attr_.actPrio).\n*\n* @note\n* The activator might enable interrupts internally, but always returns with\n* interrupts **disabled**.\n*/\nvoid QK_activate_(void) {\n    uint_fast8_t pin = (uint_fast8_t)QK_attr_.actPrio;  /* save active prio */\n    uint_fast8_t p   = (uint_fast8_t)QK_attr_.nextPrio; /* next prio to run */\n\n    /* QK Context switch callback enabled? */\n#ifdef QK_ON_CONTEXT_SW\n    uint_fast8_t pprev = pin;\n#endif /* QK_ON_CONTEXT_SW */\n\n    /* QK_attr_.nextPrio must be non-zero upon entry to QK_activate_() */\n    Q_REQUIRE_ID(800, p != 0U);\n\n    QK_attr_.nextPrio = 0U; /* clear for the next time */\n\n    /* loop until no more ready-to-run AOs of higher prio than the initial */\n    do {\n        QActive *a;\n        QActiveCB const Q_ROM *acb;\n\n        QK_attr_.actPrio = (uint8_t)p; /* this becomes the active priority */\n        QF_INT_ENABLE();  /* it's safe to leave critical section */\n\n        acb = &QF_active[p];\n        a = QF_ROM_ACTIVE_GET_(p); /* map p to AO */\n\n        QF_INT_DISABLE(); /* get ready to access the queue */\n\n        /* some unused events must be available */\n        Q_ASSERT_ID(810, a->nUsed > 0U);\n        --a->nUsed;\n\n        Q_SIG(a) = QF_ROM_QUEUE_AT_(acb, a->tail).sig;\n#if (Q_PARAM_SIZE != 0)\n        Q_PAR(a) = QF_ROM_QUEUE_AT_(acb, a->tail).par;\n#endif\n        /* wrap around? */\n        if (a->tail == 0U) {\n            a->tail = Q_ROM_BYTE(acb->qlen);\n        }\n        --a->tail;\n\n#ifdef QK_ON_CONTEXT_SW\n        if (p != pprev) {  /* changing threads? */\n            QK_onContextSw(pprev, p); /* context-switch callback */\n            pprev = p; /* update previous priority */\n        }\n#endif /* QK_ON_CONTEXT_SW */\n\n        QF_INT_ENABLE(); /* unconditionally enable interrupts */\n\n        QHSM_DISPATCH(&a->super); /* dispatch to the SM (execute RTC step) */\n\n        QF_INT_DISABLE();\n\n\n        if (a->nUsed == 0U) { /* empty queue? */\n            /* clear the ready bit */\n            QF_readySet_ &= (uint_fast8_t)(~(1U << (p - 1U)));\n        }\n\n        /* find new highest-prio AO ready to run... */\n#ifdef QF_LOG2\n        p = (uint_fast8_t)QF_LOG2(QF_readySet_);\n#else\n        /* hi nibble used? */\n        if ((QF_readySet_ & 0xF0U) != 0U) {\n            p = (uint_fast8_t)Q_ROM_BYTE(QF_log2Lkup[QF_readySet_ >> 4]) + 4U;\n        }\n        else { /* hi nibble of QF_readySet_ is zero */\n            p = (uint_fast8_t)Q_ROM_BYTE(QF_log2Lkup[QF_readySet_]);\n        }\n#endif\n\n        /* is the new priority below the initial preemption threshold? */\n        if (p <= pin) {\n            p = 0U; /* active object not eligible */\n        }\n#ifdef QK_SCHED_LOCK\n        /* below the scheduler ceiling? */\n        else if (p <= (uint_fast8_t)QK_attr_.lockPrio) {\n            p = 0U; /* active object not eligible */\n        }\n        else {\n            Q_ASSERT_ID(710, p <= QF_maxActive_);\n        }\n#endif /* QK_SCHED_LOCK */\n    } while (p != 0U);\n\n    QK_attr_.actPrio = (uint8_t)pin; /* restore the active priority */\n\n#ifdef QK_ON_CONTEXT_SW\n    QK_onContextSw(pprev, pin); /* context-switch callback */\n#endif /* QK_ON_CONTEXT_SW */\n}\n\n"
  },
  {
    "path": "src/qvn/qvn.c",
    "content": "/**\n* @file\n* @brief QV-nano implementation.\n* @ingroup qvn\n* @cond\n******************************************************************************\n* Last updated for version 6.8.0\n* Last updated on  2020-03-08\n*\n*                    Q u a n t u m  L e a P s\n*                    ------------------------\n*                    Modern Embedded Software\n*\n* Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.\n*\n* This program is open source software: you can redistribute it and/or\n* modify it under the terms of the GNU General Public License as published\n* by the Free Software Foundation, either version 3 of the License, or\n* (at your option) any later version.\n*\n* Alternatively, this program may be distributed and modified under the\n* terms of Quantum Leaps commercial licenses, which expressly supersede\n* the GNU General Public License and are specifically designed for\n* licensees interested in retaining the proprietary status of their code.\n*\n* This program is distributed in the hope that it will be useful,\n* but WITHOUT ANY WARRANTY; without even the implied warranty of\n* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n* GNU General Public License for more details.\n*\n* You should have received a copy of the GNU General Public License\n* along with this program. If not, see <www.gnu.org/licenses>.\n*\n* Contact information:\n* <www.state-machine.com/licensing>\n* <info@state-machine.com>\n******************************************************************************\n* @endcond\n*/\n#include \"qpn_conf.h\" /* QP-nano configuration file (from the application) */\n#include \"qfn_port.h\" /* QF-nano port from the port directory */\n#include \"qassert.h\"  /* embedded systems-friendly assertions */\n\nQ_DEFINE_THIS_MODULE(\"qvn\")\n\n/* protection against including this source file in a wrong project */\n#ifndef QVN_H\n    #error \"Source file included in a project NOT based on the QV-nano kernel\"\n#endif /* QVN_H */\n\n/****************************************************************************/\n/**\n* @description\n* QF_run() is typically called from your startup code after you initialize\n* the QF and start at least one active object with QActive_start().\n* This implementation of QF_run() is for the cooperative Vanilla kernel.\n*\n* @returns QF_run() typically does not return in embedded applications.\n* However, when QP runs on top of an operating system,  QF_run() might\n* return and in this case the return represents the error code (0 for\n* success). Typically the value returned from QF_run() is subsequently\n* passed on as return from main().\n*/\nint_t QF_run(void) {\n    uint_fast8_t p;\n    QActive *a;\n\n#ifdef QF_MAX_ACTIVE /* deprecated constant provided? */\n#if (QF_MAX_ACTIVE < 1) || (8 < QF_MAX_ACTIVE)\n    #error \"QF_MAX_ACTIVE not defined or out of range. Valid range is 1..8\"\n#endif\n    QF_maxActive_ = (uint_fast8_t)QF_MAX_ACTIVE;\n#else\n    /** @pre the number of active objects must be initialized by calling:\n    * QF_init(Q_DIM(QF_active));\n    */\n    Q_REQUIRE_ID(100, (1U <= QF_maxActive_)\n                      && (QF_maxActive_ <= 8U));\n#endif\n\n    /* set priorities all registered active objects... */\n    for (p = 1U; p <= QF_maxActive_; ++p) {\n        a = QF_ROM_ACTIVE_GET_(p);\n\n        /* QF_active[p] must be initialized */\n        Q_ASSERT_ID(810, a != (QActive *)0);\n\n        a->prio = (uint8_t)p; /* set the priority of the active object */\n    }\n\n    /* trigger initial transitions in all registered active objects... */\n    for (p = 1U; p <= QF_maxActive_; ++p) {\n        a = QF_ROM_ACTIVE_GET_(p);\n        QHSM_INIT(&a->super); /* take the initial transition in the SM */\n    }\n\n    QF_onStartup(); /* invoke startup callback */\n\n    /* the event loop of the cooperative QV-nano kernel... */\n    QF_INT_DISABLE();\n    for (;;) {\n        if (QF_readySet_ != 0U) {\n            QActiveCB const Q_ROM *acb;\n\n#ifdef QF_LOG2\n            p = QF_LOG2(QF_readySet_);\n#else\n            /* hi nibble non-zero? */\n            if ((QF_readySet_ & 0xF0U) != 0U) {\n                p = (uint_fast8_t)Q_ROM_BYTE(QF_log2Lkup[QF_readySet_ >> 4])\n                      + 4U;\n            }\n            else { /* hi nibble of QF_readySet_ is zero */\n                p = (uint_fast8_t)Q_ROM_BYTE(QF_log2Lkup[QF_readySet_]);\n            }\n#endif /* QF_LOG2 */\n\n            acb = &QF_active[p];\n            a = QF_ROM_ACTIVE_GET_(p);\n\n            /* some unsuded events must be available */\n            Q_ASSERT_ID(820, a->nUsed > 0U);\n\n            --a->nUsed;\n            Q_SIG(a) = QF_ROM_QUEUE_AT_(acb, a->tail).sig;\n#if (Q_PARAM_SIZE != 0U)\n            Q_PAR(a) = QF_ROM_QUEUE_AT_(acb, a->tail).par;\n#endif\n            if (a->tail == 0U) { /* wrap around? */\n                a->tail = Q_ROM_BYTE(acb->qlen);\n            }\n            --a->tail;\n            QF_INT_ENABLE();\n\n            QHSM_DISPATCH(&a->super); /* dispatch to the HSM (RTC step) */\n\n            QF_INT_DISABLE();\n            /* empty queue? */\n            if (a->nUsed == 0U) {\n                /* clear the bit corresponding to 'p' */\n                QF_readySet_ &= (uint_fast8_t)~(1U << (p - 1U));\n            }\n        }\n        else {\n            /* QV_onIdle() must be called with interrupts DISABLED because\n            * the determination of the idle condition (no events in the\n            * queues) can change at any time by an interrupt posting events\n            * to a queue. QV_onIdle() MUST enable interrupts internally,\n            * perhaps at the same time as putting the CPU into a power-saving\n            * mode.\n            */\n            QV_onIdle();\n\n            QF_INT_DISABLE();\n        }\n    }\n#ifdef __GNUC__  /* GNU compiler? */\n    return 0;\n#endif\n}\n\n"
  }
]